栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【练习/sklearn库基础】使用LinearRegssion、Lasso、Ridge进行回归预测,并计算各模型的评估结果,用条形图显示。

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【练习/sklearn库基础】使用LinearRegssion、Lasso、Ridge进行回归预测,并计算各模型的评估结果,用条形图显示。

声明:
1、 学生刚开始学习python,代码会有很多不严谨,也较为粗糙,单纯用于广大网友参考,希望能起到一定的帮助
2、 如果要转载,请标记出来源
3、本文纯粹用于技术练习,请勿用作非法途径
4、如果有问题请在评论区指出,虚心接受立马改正
做题途中所遇问题:
1.在条形图上方标注各个评分值,忘了,搞了老半天搞出来
代码块:

#1、 导入sklearn库自带的乳腺癌数据集(。load_breast_cancer),使用LinearRegssion、Lasso、Ridge进行回归预测,并计算各模型的评估结果,将3个评估结果用条形图显示出来,且在条形图上方标注各个评分值
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Lasso
from sklearn.linear_model import Ridge
import matplotlib.pyplot as plt
#中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

#共同内容
diabetes=load_breast_cancer()
X=diabetes.data
y=diabetes.target
#手动划分训练集测试集
X_train=X[:-20]
y_train=y[:-20]
X_test=X[-20:]
y_test=y[-20:]
#存放评估结果分数
model_result=[]
#LinearRegession
model_LinearRegression=LinearRegression(fit_intercept=True)
model_LinearRegression.fit(X_train,y_train)
y_pred=model_LinearRegression.predict(X_test)
print("预测值:n",y_pred)
#结果评估
score1=model_LinearRegression.score(X_test,y_test)
print("LinearRegession模型评估结果:%.2f"% score1)
model_result.append(score1)
#Lasso
model_Lasson=Lasso(fit_intercept=True)
model_Lasson.fit(X_train,y_train)
y_pred=model_Lasson.predict(X_test)
print("预测值:n",y_pred)
#结果评估
score2=model_Lasson.score(X_test,y_test)
print("Lasso模型评估结果:%.2f"% score2)
model_result.append(score2)
#Ridge
model_Ridge=Ridge(alpha=0.001)
model_Ridge.fit(X_train,y_train)
y_pred=model_Ridge.predict(X_test)
print("预测值:n",y_pred)
#结果评估
score3=model_Ridge.score(X_test,y_test)
print("Ridge模型评估结果:%.2f"% score3)
model_result.append(score3)

#绘图
names=["线性回归","Lasso回归","Ridge回归"]
figure=plt.figure()
plt.xlabel("方法")
plt.ylabel("评估结果评分")
a=plt.bar(names,model_result,fc='g')
#定义函数来显示柱状数值
x=range(0,len(names))
for i in a:
   height=i.get_height()
   plt.text(i.get_x()+i.get_width()/2.-0.2,1.03*height,'%.2f'%float(height))
plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号