使用scikit-learn构建模型——构建并评价回归模型

构建并评价回归模型

  1. 使用sklearn估计器 构建线性回归(Linear Regression)模型
    sklearn库内部有不少的回归算法:线性回归、非线性回归、Logistic回归、最近邻回归、回归决策树、随机森林回归、梯度回归树、支持向量回归(svm.SVR)
#使用sklearn估计器 构建 >线性回归模型
#加载所需函数
from sklearn.linear_model import LinearRegression #线性回归
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
#加载boston数据 ,sklearn库datasets里自带的函数数据集
boston=load_boston()
x=boston['data']
y=boston['target']
names=boston['feature_names']
#将数据划分为训练集、测试集
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=125)
#建立线性回归模型
clf=LinearRegression().fit(x_train,y_train)
print('建立的LinarRegression 模型为: \n',clf)

#预测测试集结果
y_pred=clf.predict(x_test)
print("预测前20个结果为:",'\n',y_pred[:20])
利用预测结果和真是结果画出折现图,能较为直观地看出线性回归模型效果
#回归结果可视化
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.sans-serif']='SimHei'
fig=plt.figure(figsize=(10,6))
plt.plot(range(y_test.shape[0]),y_test,color="blue",linewidth=1.5,linestyle="-")
plt.plot(range(y_test.shape[0]),y_pred,color="red",linewidth=1.5,linestyle="-.")
plt.xlim((0,102))
plt.ylim((0,55))
plt.legend(['真实值','预测值'])
plt.show()

回归结果可视化

  1. 评价回归模型
    回归模型评价指标:
    1).平均误差、平均绝对误差和中值绝对误差的值越靠近0,模型性能越好;
    2).可解释方差值和R²值越靠近1,模型性能越好。
#回归模型评价
from sklearn.metrics import explained_variance_score,mean_absolute_error,mean_squared_error,median_absolute_error,r2_score
print("Boston数据线性回归模型的平均绝对误差为:",mean_absolute_error(y_test,y_pred))
print("Boston数据线性回归模型的均方误差为:",mean_squared_error(y_test,y_pred))
print("Boston数据线性回归模型的中值绝对误差为:",median_absolute_error(y_test,y_pred))
print("Boston数据线性回归模型的可解释方差值为:",explained_variance_score(y_test,y_pred))
print("Boston数据线性回归模型的R²为:",r2_score(y_test,y_pred))

回归模型评价

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Big-Winda

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值