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

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

【练习/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()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存