因为此案例比较经典,所以数据已经镶嵌在里面了
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() #类型图例
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)
可以看出,用普通线性回归模型比其他两个模型要好,而岭回归比套索回归模型稍好一些。
以上简单介绍了回归模型的一般步骤。
接下来详细的讲解一下模型和评估的函数:
敬请期待!