机器学习——线性回归案例——波士顿房价预测

因为此案例比较经典,所以数据已经镶嵌在里面了

1、导入模块。

#模型获取,有线性回归、岭回归、套索回归模型

from sklearn.linear_model import LinearRegression,Ridge,Lasso

#评估

from sklearn.metrics import r2_score

#数据集

import sklearn.datasets as datasets

#画图

import matplotlib.pyplot as plt

2、获取训练数据

boston=datasets.load_boston()
data=boston.data
carget =boston.target

3、划分训练集和测试集

X_train=data[:481]
Y_train=carget[:481]

x_test=data[481:]
y_true=carget[481:]

4、建立模型

line=LinearRegression()
ridge=Ridge()
lasso=Lasso()

5、开始在训练集上训练数据

line.fit(X_train,Y_train)
ridge.fit(X_train,Y_train)
lasso.fit(X_train,Y_train)

6、在测试集上预测结果

line_y_pre = line.predict(x_test)
ridge_y_pre = ridge.predict(x_test)
lasso_y_pre = lasso.predict(x_test)

7、绘制三种模型的图形与原来的房价进行比较

plt.figure(figsize=(10, 5))                        #画布大小
plt.plot(y_true,label='True')
plt.plot(line_y_pre,label='Line')
plt.plot(ridge_y_pre,label='Ridge')
plt.plot(lasso_y_pre,label='Lasso')

plt.legend()                                            #类型图例

机器学习——线性回归案例——波士顿房价预测_第1张图片

8、模型评估

得到的系数R平方越接近1,则模型的拟合度越高

line_score=r2_score(y_true,line_y_pre)
ridge_score=r2_score(y_true,ridge_y_pre)
lasso_score=r2_score(y_true,lasso_y_pre)
print(line_score,ridge_score,lasso_score)

可以看出,用普通线性回归模型比其他两个模型要好,而岭回归比套索回归模型稍好一些。


以上简单介绍了回归模型的一般步骤。

接下来详细的讲解一下模型和评估的函数:

敬请期待!

你可能感兴趣的:(机器学习,python,机器学习)