用sklearn做一个完整的机器学习工程——以波士顿房价预测为例(二、select a model and train it)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终于到了这一步了!你在前面限定了问题、获得了数据、探索了数据、采样了一个测试集、写了自动化的转换流水线来清理和为算法准备数据。现在,早就已经准备好选择并训练一个机器学习模型了。

那我们就从线性模型开始讲起吧!

普通的广义线性模型,都是拟合一个带有系数 w = (w_1, ..., w_p) 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为:

\underset{w}{min\,} {|| X w - y||_2}^2,当然如果是做分类的话,请参照李航的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%左右吧

普通最小二乘法的缺点

对于普通最小二乘的系数估计问题,其依赖于模型各项的相互独立性。当各项是相关的,且设计矩阵 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值