声明:
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()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)