机器学习基础知识(七):线性回归、岭回归

本文介绍了机器学习中的线性回归概念,包括线性关系和线性回归式的解释,并探讨了寻找最优模型的方法——最小二乘法的正规方程和梯度下降。同时,讲解了如何使用sklearn库中的API进行线性回归模型的构建。最后,讨论了解决过拟合和欠拟合问题,特别是通过岭回归(L2正则化)来改善模型的稳定性。
摘要由CSDN通过智能技术生成

回归问题:目标值连续
分类问题:目标值离散

一、线性回归概念

线性关系:二维直线关系、三维平面关系
线性回归:y=kx+b。其中,k、x和b可以为多维向量,表示的是多维属性和权重的一种组合。

目标:使用线性回归式进行预测
重难点:求解矩阵k

矩阵运算:np.dot(a,b)
矩阵的发明是为了简便运算

二、寻找最优模型

(一)思路

因为预测结果与真实值之间存在误差,所以算法需要不断迭代,找到误差平方和最小的模型。
方法一:最小二乘法的正规方程
通过寻找损失函数(误差平方和)的最小值,得到能使总损失最小的k。
缺点:当特征过于复杂时,运算代价大。通常来说,当数据小于10000时,还是可以接受的。另外,正规方程求解法只适用于线性模型,不适合逻辑回归模型等其他模型。
方法二:最小二乘法之梯度下降
当面对庞大的训练数据时(官方建议数据大于10万条),我们就使用梯度下降对模型进行迭代。
思路:k+学习率x方向
学习率α:表示上升或下降的程度,需要手动指定
优点:适用于各类模型

(二)API

1.最小二乘法正规方程API:sklearn.linear_model.LinearRegression()
2.最小二乘法之梯度下降:sklearn.linear_model.SGDRegressor()

(三)实例

from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression,SGDRegressor
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
def mylinear():
    '''
    线性回归直接预测房子价格
    :return:
    '''
    #获取数据
    lb=load_boston()
    #分割数据
    x_train,x_test,y_train,y_test=train_test_split(lb.data,lb.target,test_size=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值