今天用一个实际例子带大家走遍多元线性回归模型机器学习的全程。
我们现在拿到如上图的数据集,今天要做的就是建立多元线性回归模型,利用area, bedrooms, age来预测房价price。
import pandas as pd
import numpy as np
from sklearn import linear_model
df = pd.read_csv('dataset/homeprices.csv')
运行以上代码就可以导入数据
注意到这个数据集是有缺失值的。需要提前处理掉缺失值,关于缺失值的处理我之前有专门文章介绍。
对于此例,预处理很简单就是处理缺失数据。
df.bedrooms = df.bedrooms.fillna(df.bedrooms.median())
我们直接用bedrooms的中位数填补确实即可,填补结果如下:
reg = linear_model.LinearRegression()
reg.fit(df.drop('price',axis='columns'),df.price)
通过以上代码就拟合出了我们的多元线性回归模型,通过.coef_和.intercept_方法可以查看模型的回归系数和截距。
给大家讲一讲模型的一般形式:
在这个例子中,price是因变量,area, bedrooms,age都是自变量,模型拟合的过程就是寻找最优的系数m1,m2,m3的过程。我们可以查看我们拟合模型的系数。
reg.coef_
reg.intercept_
上面代码可以查看模型系数和截距b,输出为
模型训练好后,我们就可以在给定area, bedrooms,age的情况下预测出price
reg.predict([[3000, 3, 40]])
可以看到,无论是通过.predict方法还是通过带入系数运算得到的预测结果都是一样的。
今天给大家实例操作了多元线性回归模型的训练过程,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python的,加油。
(站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)