【Python】基于sklearn构建并评价回归模型(LinearRegression线性回归模型)

本博客主要代码基于:
《Python数据分析与应用》第6章使用sklearn构建模型
【 黄红梅、张良均主编 中国工信出版集团和人民邮电出版社,侵请删】
(书写的确实挺不错的,推荐大家购买阅读)
(而且目前全网找不到电子版的)
相关网站链接

一、LinearRegression线性回归模型

1、构建LinearRegression回归模型核心语句

from sklearn.linear_model import LinearRegression  	#引入相关包
clf = LinearRegression().fit(X_train,y_train)   	#训练,建模
y_pred = clf.predict(X_test)						#预测

2、相关代码

# 代码 6-24
##加载所需函数
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
## 加载boston数据
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('建立的LinearRegression模型为:','\n',clf)

## 预测训练集结果
y_pred = clf.predict(X_test)
print('预测前20个结果为:','\n',y_pred[:20])

3、建模及预测结果
【Python】基于sklearn构建并评价回归模型(LinearRegression线性回归模型)_第1张图片

二、评价回归模型

1、emmmmmm,直接上代码好了

# 代码 6-25
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.legend(['真实值','预测值'])
plt.savefig('../tmp/聚类结果.png') 
plt.show() ##显示图片

# 代码 6-26
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))

2、对应结果
【Python】基于sklearn构建并评价回归模型(LinearRegression线性回归模型)_第2张图片
在这里插入图片描述

你可能感兴趣的:(Python,机器学习)