终于到了这一步了!你在前面限定了问题、获得了数据、探索了数据、采样了一个测试集、写了自动化的转换流水线来清理和为算法准备数据。现在,早就已经准备好选择并训练一个机器学习模型了。
那我们就从线性模型开始讲起吧!
普通的广义线性模型,都是拟合一个带有系数
的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为:
,当然如果是做分类的话,请参照李航的logistic回归
在sklearn中广义线性模型也特别好实现
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(housing_prepared,housing_labels)
#输出权重
lin_reg.coef_
#去前6行数据进行评估
some_data = housing_prepared[:6]
some_labels = housing_labels[:6]
lin_reg.predict(some_data)#得到:
array([ 203682.37379543, 326371.39370781, 204218.64588245,
58685.4770482 , 194213.06443039, 156914.96268363])
实际值为 [ 286600.0, 340600.0,196900.0, 46300.0,254500.0,127900.0]相差有的大概差个20%左右吧
普通最小二乘法的缺点
对于普通最小二乘的系数估计问题,其依赖于模型各项的相互独立性。当各项是相关的,且设计矩阵

本文通过波士顿房价数据集,探讨了线性模型的普通最小二乘法及其缺点,以及决策树、随机森林、GBDT和Xgboost在回归问题上的应用。针对过拟合问题,作者提到了交叉验证的重要性,并展示了不同模型的预测均值。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



