目录
回归(目标值连续,根据特征值预测器目标值的范围,比如房价预测)
w称为权重,一般以矩阵表示,权重矩阵与特征矩阵相乘即可得到目标值(因此矩阵相对数组在运算时更加方便)
方法1,正规方程,直接求到最优解(不通用,样本多的时候不好用)
sklearn使用的缺点(封装太好,可调性差),所以用TENSORFLOW
回归(目标值连续,根据特征值预测器目标值的范围,比如房价预测)
线性回归关系
二维(直线)与三维(平面)下回归的形式
矩阵运算的重要性
-
w称为权重,一般以矩阵表示,权重矩阵与特征矩阵相乘即可得到目标值(因此矩阵相对数组在运算时更加方便)
-
wx
-
矩阵相乘跟数组相乘的差别
神经网络迭代算法(回归)
损失函数(寻找使损失函数最小的w值)
-
方法1,正规方程,直接求到最优解(不通用,样本多的时候不好用)
-
方法2:梯度下降,学习速率α,梯度方向
逐步下降,寻找损失函数的最小值
线性回归与梯度下降的API
-
sklearn使用的缺点(封装太好,可调性差),所以用TENSORFLOW
用sklearn实现一个实例:波士顿房价预测
- 需要标准化:因为某个特征值很大,乘以权重w后,对结果目标值的影响还是很大(与kNN算法类似)
- 开始:导入库,
- 首先,目标值也需要进行标准化处理,因为特征值标准化后再0-1之间,w权重也很小,最后组合相乘后的值也是很小的,与目标值相差过大,将目标值标准化变小如图(2,1.5,2.1,3.4)但是最后可以将起反向转化变回目标值,只需要使用inverse_transform
- 其次,特征值目标值进行标准化时,要分别进行实例化std_x,std_y用两个FIT,因为其数据的形式,方差标准差等不同
- 注意,19版本的standscaler必须传入2维的数据,因此要reshape一下,原数据形式如图
- 进行估计器估计(回归计算不存在准确率的评估,因为回归计算的目标值是一个随机的值,不是一种类别,不能说对与错,而是偏差大小,比如房价,离真实房价的差距)
- 可以得到w回归系数的矩阵,预测的目标值,需要反向转化
- 反向转化目标值(结果如图)
梯度下降法
回归性能的评估
-
均方误差
梯度下降与正规方程的使用情况
过拟合与欠拟合
- 特征选择的方式
正则化
调整权重,使一些特征的权重趋近于零
线性回归容易出现过拟合现象:可以通过正则化方法优化
岭回归:带有正则化的线性回归
岭回归的超参数λ
- 官网数据:超参数λ对正则化的影响,越大则模型的权重越小,趋近于零,不会为0
使用实例
- 导入库
岭回归相对于线性回归的优点
SKLEARN训练模型的保存与加载
已经训练过的模型,下次还想继续用,不能够每次都重新训练
保存模型
使用模型