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

1.数据集
  1. 特征值
    在这里插入图片描述
    共有20640条数据,8个特征。
    在这里插入图片描述
  2. 目标值
    在这里插入图片描述
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_) # 线性回归的截距

结果:
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
R2:
在这里插入图片描述
EVS:
在这里插入图片描述
结论: 虽然我们在加利福尼亚房子价值数据集上的MSE相当小,但我们的 却不高,这证明我们的模型比较好地拟合了数据的数值,却没有能正确拟合数据的分布。

2.3 绘制ytest、yhat对比曲线

在这里插入图片描述

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

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

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想做一只快乐的修狗

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值