素材库网站,lnmp wordpress 登陆,淄博高端网站建设公司,东莞专业网站建设平台文章目录 线性回归模型的性能评估1.举例1-单一特征2.举例2-多特征 线性回归模型的性能评估
评估线性回归模型时#xff0c;首先要建立评估的测试数据集#xff08;测试集不能与训练集相同#xff09;#xff0c;然后选择合适的评估方法#xff0c;实现对线性回归模型的评… 文章目录 线性回归模型的性能评估1.举例1-单一特征2.举例2-多特征 线性回归模型的性能评估
评估线性回归模型时首先要建立评估的测试数据集测试集不能与训练集相同然后选择合适的评估方法实现对线性回归模型的评估。
回归任务中最常用的评估方法有均方误差、均方根误差和预测准确率确定系数。
1.举例1-单一特征
分别对两个模型进行评估输入的测试集如表所示。
面积/m2售价/万元面积/m2售价/万元1033011153449027589276602067021050160451245519078235
#输入测试集
x_testnp.array([[103],[115],[90],[89],[60],[70],[50],[45],[55],[78]]) #房屋面积
y_testnp.array([[301],[344],[275],[276],[206],[210],[160],[124],[190],[235]]) #售价
#计算三个值
msenp.average((y2-np.array(y))**2) #均方误差
rmsenp.sqrt(mse) #均方根误差
r2model.score(x_test,y_test) #预测准确率
#输出三个值
print(均方误差为,mse) #输出均方误差
print(均方根误差为,rmse) #输出均方根误差
print(预测准确率为,r2) #输出预测准确率
2.举例2-多特征
利用Sklearn中自带的数据集——糖尿病数据集训练一个模型然后对这个模型进行评估。
#导入线性回归模型、糖尿病数据集及划分样本的方法
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_diabetes #导入糖尿病数据集
from sklearn.model_selection import train_test_split
#将数据集划分为训练集和测试集
x,yload_diabetes().data,load_diabetes().target
x_train,x_test,y_train,y_testtrain_test_split(x,y,random_state8)
#train_test_split()函数用于将数据集划分为训练集和测试集该函数默认把数据集的75%作为训练集把数据集的25%作为测试集也可使用test_size设置测试集所占的比例
#random_state的值相当于一种规则通过设定为相同的数值每次划分样本时分割的结果都相同。#训练模型
modelLinearRegression()
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的值有多个说明数据集的维度有多个数据集的复杂性很高。
#计算模型的预测准确率
r21model.score(x_train,y_train) #计算模型在训练集上的预测准确率
r22model.score(x_test,y_test) #计算模型在测试集上的预测准确率
#输出模型的预测准确率
print(模型在训练集上的预测准确率为,r21)
print(模型在测试集上的预测准确率为,r22) 该模型的预测准确率比二手房模型低了很多在训练集上的预测准确率约为53%而在测试集上的预测准确率只有约46%。在训练集与测试集的预测准确率之间存在很大差异这是过拟合的表现。