sklearn 机器学习基础(线性回归、欠拟合、过拟合、岭回归、模型加载保存)

本文深入探讨了sklearn库中的线性回归模型,包括最小二乘法的正规方程和梯度下降实现。通过波士顿房价数据集展示了这两种方法的预测效果,并讨论了欠拟合和过拟合的问题及其解决方案。此外,介绍了岭回归作为正则化的线性回归方法,以及如何在sklearn中加载和保存模型。
摘要由CSDN通过智能技术生成

目录

1.线性关系模型

1.1损失函数:

1.2 最小二乘法之正规方程

1.3 最小二乘法之梯度下降(通用)

1.4 正规方程预测波士顿房价

1.5 梯度下降预测波士顿房价

1.6 回归性能评估

 2.欠拟合与过拟合

 2.1 解决方法

欠拟合:

过拟合:

3.岭回归(带正则化的线性回归)

 4.模型加载与保存


1.线性关系模型

 矩阵的乘法满足线性回归运算需求

1.1损失函数:

 优化和迭代的过程 就是求最合适的 权重的 过程

1.2 最小二乘法之正规方程

1.3 最小二乘法之梯度下降(通用)

1.4 正规方程预测波士顿房价

from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression, SGDRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler


def myliner():
    '''
    # 线性回归预测房价
    :return:
    '''
    # 获取数据
    lb = load_boston()
    # 分割数据
    x_train, x_test, y_train, y_test = train_test_split(lb.data, \
lb.target, test_size=0.2)
    # 标准化  目标值要不要标准化处理   需要!!
    # 特征值标准化
    std_x = StandardScaler()
    x_train = std_x.fit_transform(x_train)
    x_test = std_x.transform(x_test)
    # 目标值标准化
    std_y = StandardScaler()
    y_train = std_y.fit_transform(y_train.reshape(-1, 1))  # 把目标值变成二维
    y_test = std_y.transform(y_test.reshape(-1, 1))
    # 预测
    # 正规方程求解预测
    lr = LinearRegression()
    lr.fit(x_train, y_train)
    print(lr.coef_)
    #  预测测试集的房子价格  前面进行了标准化,这里通过inverse 再转换回去
    y_predict = std_y.inverse_transform(lr.predict(x_test))
    print("测试集里每个房子的预测价格:", y_predict)

    return None


if __name__ == '__main__':
    myliner()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值