100天搞定机器学习|Day3多元线性回归
多元线性回归分析与简单线性回归很相似,但是要复杂一些了(影响因素由一个变成多个)。它有几个假设前提需要注意, ①线性,自变量和因变量之间应该是线性的 ②同方差,误差项方差恒定 ③残差负荷正态分布 ④无多重共线性 出现了一些新的名词,残差(残差是指实际观察值与回归估计值的差,【计量经济学名词】2绝对残差)、多重共线性(解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确)。 对R感兴趣的同学可以看一下我之前分享的几篇文章 [R多元线性回归容易忽视的几个问题(1)多重共线性][2] [R多元线性回归容易忽视的几个问题(2)多重共线性的克服][3] [R多元线性回归容易忽视的几个问题(3)异方差性][4] [R多元线性回归容易忽视的几个问题(4)异方差性的克服][5] 多元线性回归中还有虚拟变量和虚拟变量陷阱的概念 虚拟变量:分类数据,离散,数值有限且无序,比如性别可以分为男和女,回归模型中可以用虚拟变量表示,1表示男,0表示女。 虚拟变量陷阱:两个或多个变量高度相关,即一个变量一个变量可以由另一个预测得出。直观地说,有一个重复的类别:如果我们放弃了男性类别,则它在女性类别中被定义为零(女性值为零表示男性,反之亦然)。 虚拟变量陷阱的解决方案是删除一个分类变量 —— 如果有多个类别,则在模型中使用m-1。 遗漏的值可以被认为是参考值。 需要注意的是:变量并非越多越好,过多变量尤其是对输出没有影响的变量,可能导致模型预测精确度降低,所以要选择合适的变量,主要方法有三种,①向前选择(逐次加使RSS最小的自变量)②向后选择(逐次扔掉p值最大的变量)③双向选择 模型部分就是这样,下面开始python实现。 在开始操作之前,我们还是先观察一下数据,一共50组数据,有一些缺失值,也有虚拟变量(state:New York 、California、Florida)。 导入库
导入数据集
将类别数据数字化
OneHotEncoderone-hot编码是一种对离散特征值的编码方式,在LR模型中常用到,用于给线性模型增加非线性能力。
拆分数据集为训练集和测试集
第2步: 在训练集上训练多元线性回归模型
Step 3: 在测试集上预测结果
个人感觉作为入门已经足够。但是多元线性回归分析是建立在上面说的四个假设前提上的(①线性,自变量和因变量之间应该是线性的②同方差,误差项方差恒定③残差负荷正态分布④无多重共线性),所以初步得到一个线性回归模型,并不一定可以直接拿来使用,还需要进行验证和诊断。
(编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |