机器学习之linear regression(线性回归)

本文详细介绍了线性回归的概念,包括一元和多元线性回归,并强调了标准化的重要性。通过损失函数解释了如何求解最优权重,重点讨论了最小二乘法的梯度下降求解策略。此外,还提到了使用sklearn库进行线性回归的正规方程和梯度下降API,以及回归性能评估中的均方误差指标。
摘要由CSDN通过智能技术生成

线性回归

前言

我们需要了解分类算法解决的目标值是离散的问题;而回归算法解决的是目标值连续的问题

什么是线性回归?

定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。

一元线性回归:涉及到的变量只有一个
多元线性回归:涉及到的变量两个或两个以上

在这里插入图片描述

注:线性回归需要进行标准化,避免单个权重过大,影响最终结果

举例

在这里插入图片描述

单个特征:

  • 试图去寻找一个k,b值满足:
  • 房子价格 = 房子面积*k+b(b为偏置,为了对于单个特征的情况更多通用)

在这里插入图片描述

多个特征:(房子面积、房子位置,…)

  • 试图去寻找一个k1,k2,…,b值满足:
  • 房子价格 = 房子面积*k1 + 房子位置 *k2 +…+b

线性关系模型

试图找到一种属性和权重的组合来进行预测结果:
在这里插入图片描述

但是预测值总是会存在误差,所以需要利用损失函数计算误差

损失函数(最小二乘法)

在这里插入图片描述

如何去求模型当中的W(权重),使得损失最小? (目的是找到最小损失对应的W值)

优化

最小二乘法之正规方程(不太推荐)

在这里插入图片描述
缺点:

  • 当特征过于复杂,求解速度太慢
  • 对于复杂的算法,不能使用正规方程求解(逻辑回归等)

损失函数直观图(单变量举例),如下:

损失函数直观图(单变量举例)

最小二乘法之梯度下降(❤️ ❤️ ❤️ )

在这里插入图片描述
理解:沿着这个函数下降的方向找,最后就能找到函数的最低点,然后更新W值。(不断迭代的过程)
在这里插入图片描述

知识储备

sklearn线性回归正规方程API

  • sklearn.linear_model.LinearRegression()
    coef_:回归系数

sklearn线性回归梯度下降API

  • sklearn.linear_model.SGDRegressor()
    coef_:回归系数

代码演示

正规方程案例


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 mylinear():
    '''
    线性回归预测房价
    :return: None
    '''

    # 加载数据
    lb = load_boston()

    # 分割数据集到训练集和测试集
    x_train, x_test, y_train, y_test = train_test_split(lb.data, lb.target, test_size=0.25)

    print(y_train,y_test)

    # 进行标准化处理
    # 特征值和目标值都需要进行标准化处理
    # 扫描器要求的是二维数据类型,需要利用reshape
    std_x 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值