零基础机器学习(5)之线性回归模型的性能评估

文章目录

线性回归模型的性能评估

评估线性回归模型时,首先要建立评估的测试数据集(测试集不能与训练集相同),然后选择合适的评估方法,实现对线性回归模型的评估。

回归任务中最常用的评估方法有均方误差、均方根误差和预测准确率(确定系数)。

1.举例1-单一特征

分别对两个模型进行评估,输入的测试集如表所示。

面积/(m2) 售价/(万元) 面积/(m2) 售价/(万元)
103 301 115 344
90 275 89 276
60 206 70 210
50 160 45 124
55 190 78 235
python 复制代码
#输入测试集
x_test=np.array([[103],[115],[90],[89],[60],[70],[50],[45],[55],[78]])							  #房屋面积
y_test=np.array([[301],[344],[275],[276],[206],[210],[160],[124],[190],[235]])						  #售价
#计算三个值
mse=np.average((y2-np.array(y))**2)	  #均方误差
rmse=np.sqrt(mse)		  #均方根误差
r2=model.score(x_test,y_test)	  #预测准确率
#输出三个值
print("均方误差为:",mse)		  #输出均方误差
print("均方根误差为:",rmse)		  #输出均方根误差
print("预测准确率为:",r2)		  #输出预测准确率

2.举例2-多特征

利用Sklearn中自带的数据集------糖尿病数据集训练一个模型,然后对这个模型进行评估。

python 复制代码
#导入线性回归模型、糖尿病数据集及划分样本的方法
from sklearn.linear_model import LinearRegression 
from sklearn.datasets import load_diabetes	   #导入糖尿病数据集
from sklearn.model_selection import train_test_split 
#将数据集划分为训练集和测试集
x,y=load_diabetes().data,load_diabetes().target
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=8)
#train_test_split()函数用于将数据集划分为训练集和测试集,该函数默认把数据集的75%作为训练集,把数据集的25%作为测试集,也可使用test_size设置测试集所占的比例;
#random_state的值相当于一种规则,通过设定为相同的数值,每次划分样本时,分割的结果都相同。


#训练模型
model=LinearRegression()
model.fit(x_train,y_train)
#求解线性回归方程参数
print("w=",model.coef_,"b=",model.intercept_)

w= [ 11.51226671 -282.51443231 534.2084846 401.73037118

-1043.90460259 634.92891045 186.43568421 204.94157943

762.46336088 91.95399832] b= 152.5625670974632

从代码的运行结果可以看到,w的值有多个,说明数据集的维度有多个,数据集的复杂性很高。

python 复制代码
#计算模型的预测准确率
r21=model.score(x_train,y_train)	#计算模型在训练集上的预测准确率
r22=model.score(x_test,y_test)	#计算模型在测试集上的预测准确率
#输出模型的预测准确率
print("模型在训练集上的预测准确率为:",r21)	
print("模型在测试集上的预测准确率为:",r22)

该模型的预测准确率比二手房模型低了很多,在训练集上的预测准确率约为53%,而在测试集上的预测准确率只有约46%。在训练集与测试集的预测准确率之间存在很大差异,这是过拟合的表现。

相关推荐
勾股导航16 分钟前
大模型Skill
人工智能·python·机器学习
卷福同学2 小时前
【养虾日记】Openclaw操作浏览器自动化发文
人工智能·后端·算法
春日见3 小时前
如何入门端到端自动驾驶?
linux·人工智能·算法·机器学习·自动驾驶
光锥智能3 小时前
从自动驾驶到 AI 能力体系,元戎启行 GTC 发布基座模型新进展
人工智能
luoganttcc3 小时前
自动驾驶 世界模型 有哪些
人工智能·机器学习·自动驾驶
潘高3 小时前
10分钟教你手撸一个小龙虾(OpenClaw)
人工智能
禁默3 小时前
光学与机器视觉:解锁“机器之眼”的核心密码-《第五届光学与机器视觉国际学术会议(ICOMV 2026)》
人工智能·计算机视觉·光学
2401_876907523 小时前
Python机器学习实践指南
开发语言·python·机器学习
深小乐3 小时前
不是DeepSeek V4!这两个神秘的 Hunter 模型竟然来自小米
人工智能
laozhao4323 小时前
科大讯飞中标教育管理应用升级开发项目
大数据·人工智能