零基础机器学习(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%。在训练集与测试集的预测准确率之间存在很大差异,这是过拟合的表现。

相关推荐
shayudiandian1 天前
CNN详解:卷积神经网络是如何识别图像的?
人工智能·深度学习·cnn
V_156560272191 天前
2025年蚌埠市“三首产品”、市级服务型制造示范、市级企业技术中心等5个项目认定申报指南大全
大数据·人工智能·制造
盘古信息IMS1 天前
AI算力时代,PCB制造如何借助盘古信息MOM构建数字化新范式?
人工智能·制造
集成显卡1 天前
AI取名大师 | uni-app + Wot UI 跟随设备自动切换明暗主题
人工智能·ui·uni-app·外观配色
码上地球1 天前
大数据成矿预测系列(九) | 数据的“自我画像”:自编码器如何实现非监督下的“特征学习”
人工智能·深度学习·机器学习·数学建模
愚公搬代码1 天前
【愚公系列】《MCP协议与AI Agent开发》011-MCP协议标准与规范体系(交互协议与状态码体系)
人工智能·交互
小程故事多_801 天前
LangGraph系列:多智能体终极方案,ReAct+MCP工业级供应链系统
人工智能·react.js·langchain
진영_1 天前
深度学习打卡第R4周:LSTM-火灾温度预测
人工智能·深度学习·lstm
陈希瑞1 天前
从 0 到 1:Vue3+Django打造现代化宠物商城系统(含AI智能顾问)
人工智能·django·宠物
std78791 天前
微软Visual Studio 2026正式登场,AI融入开发核心操作体验更流畅
人工智能·microsoft·visual studio