python使用线性模型lasso对波士顿房价进行预测

参考博文14行python代码带你走完机器学习全流程,我们在读取摩士顿房价的数据之后,只需更改机器学习的模型的类型为linear_model.lasso(),就可以完成波士顿房价的线性回归。lasso模型有一个参数alpha。我们在这里设alpha为0.1,之后会写一个专门的文章将如何自动找到最优的alpha参数。(参考博文使用GridSearchCV进行网格搜索寻找最优参数

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import linear_model
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import GridSearchCV
import numpy as np
boston = datasets.load_boston()
X = boston.data
y = boston.target
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=13)

lasso = linear_model.Lasso(alpha = 0.1)
lasso.fit(X_train,y_train)
y_predict = lasso.predict(X_test)
comparison = ['predict: '+str(round(a,1))+' realcat: '+str(b) for a,b in zip(y_predict,y_test)]
for comp in comparison:
	print(comp)
mse = mean_squared_error(y_test,lasso.predict(X_test))
score = lasso.score(X_test,y_test)
print(f'Score:{score}')
print(f'MSE:{mse}')

运行之后,我们得到以下结果:
在这里插入图片描述
我们可以看到,均方差为25左右,得分为0.6973预测大致上还是比较准确的。

发布了179 篇原创文章 · 获赞 9 · 访问量 5555

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104507151