【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测

1.数据集

  1. 特征值
    【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第1张图片
    共有20640条数据,8个特征。
    【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第2张图片
  2. 目标值
    【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第3张图片

2.代码实现

2.1 回归预测
from sklearn.datasets import fetch_california_housing as fch # 大数据集,需要下载,加利福尼亚房价数据集
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression as LR
from sklearn.model_selection import cross_val_score
import pandas as pd
# 获取数据集并进行探索
housevalue = fch()
x = pd.DataFrame(housevalue.data)
y = housevalue.target
x.columns = housevalue.feature_names
# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=420)
# 建模
reg = LR().fit(x_train, y_train)
# 预测值
yhat = reg.predict(x_test)
print(yhat)
# 探索建好的模型
print(reg.coef_)  # 线性回归系数w
# 将特证名与w一一对应显示
print([*zip(x_train.columns, reg.coef_)])
print(reg.intercept_) # 线性回归的截距

结果:
【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第4张图片

2.2 模型评估
2.2.1 使用的评价指标——MSE

【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第5张图片
【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第6张图片

2.2.1 使用的评价指标——R2和EVS

【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第7张图片
R2:
【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第8张图片
EVS:
【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第9张图片
结论: 虽然我们在加利福尼亚房子价值数据集上的MSE相当小,但我们的 却不高,这证明我们的模型比较好地拟合了数据的数值,却没有能正确拟合数据的分布。

2.3 绘制ytest、yhat对比曲线

【机器学习实战】使用sklearn中的线性回归LinearRegression对加利福尼亚房价进行预测_第10张图片

  • 虽然我们的大部分数据被拟合得比较好,但是图像的开头和结尾处却又着较大的拟合误差。如果我们在图像右侧分布着更多的数据,我们的模型就会越来越偏离我们真正的标签。
  • 这种结果类似于我们前面提到的,虽然在有限的数据集上将数值预测正确了,但却没有正确拟合数据的分布,如果有更多的数据进入我们的模型,那数据标签被预测错误的可能性是非常大的。

【PS】这是我看看sklearn菜菜的视频学习笔记~

你可能感兴趣的:(sklearn,机器学习,线性回归,回归预测,加利福尼亚房价预测)