python回归分析总结--线性模型及岭回归

本文介绍了回归分析的基本概念,包括线性模型、岭回归以及损失函数和优化算法。通过Python的API,如statsmodels和sklearn,展示了如何进行线性模型拟合和评估。讨论了欠拟合和过拟合的问题,并详细阐述了岭回归作为线性回归的改进方法,以减少过拟合。文章还提供了具体的案例代码,展示正规方程和梯度下降的权重系数、偏置和均方误差,以及岭回归的应用。
摘要由CSDN通过智能技术生成

1、回归分析概括

目标值(因变量)是连续型数据,通过某种函数关系找到因变量和自变量之间的关系,进而预测目标。

常见的回归:线性回归、岭回归、非线性回归

回归拟合目标:计算自变量与因变量关系的函数参数

通过不断拟合缩小预测值与真实值的差距:最终使得这个差距(误差项)成为一组均值为0,方差为1的随机数。

2、损失函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-egZ0SZ3o-1582607435689)(attachment:image.png)]

3、优化算法

使得损失函数值达到最小的方法。

方法:

正规方程
梯度下降

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7iy2oiir-1582607435691)(attachment:image.png)]

4、python的API

4.1.1 statsmodels.formula.api.OLS():普通最小二乘模型拟合- - 常用
4.1.2 scipy.stats.linregress(): 线性拟合
4.1.3 scipy.optimize.curve_fit():回归函数拟合
使用参考:https://blog.csdn.net/weixin_41685388/article/details/104346268

5、python机器学习线性模型API

1、·sklearn.linear_model.LinearRegressiont(fit_intercept=True)

。通过正规方程优化
。fitintercept:是否计算偏置
。LinearRegression.coef_:返回回归系数
。LinearRegression.intercept_:返回偏置

2、·sklearn.linear model.SGDRegressor(loss=“squared loss”,fit intercept=True,learning_rate =‘invscaling’,eta0=0.01)

。SGDRegressor类实现了随机梯度下降学习优化,它支持不同的loss函数和正则化悉罚项来拟合线性回归模型。
。loss:损失类型
    ·loss="squared_loss”:普通最小二乘法
。fit_intercept:是否计算偏置 True/False
。eta0=0.01  :起始设定学习率
。learning_rate: 迭代过程中学习率的计算方式
    · 学习率填充
    ·"constant":eta=eta0
    ·"optimal":eta=1.0/(alpha*(t+to))[default]
    ·"invscaling":eta=eta0/pow(t,power_t),
        ·power_t=0.25:存在父类当中
    ·对于一个常数值的学习率来说,可以使用learning_rate='constant',并使用eta0来指定学习率。
。SGDRegressor.coef_:返回回归系数
。SGDRegressor.intercept_:返回偏置

6、机器学习中回归性能评估

均方误差越小,模型相对越好。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggcmpEBL-1582607435692)(attachment:image.png)]

7、欠拟合和过拟合

欠拟合:模型拟合欠佳,多加些数据及特征变量

过拟合:模型过于复杂,训练集上准确率很高,一拿到测试集上效果就不理想了。

。原因:原始特征过多,存在一些嘈杂特征,模型过于复杂是因为模型尝试去兼顾各个测试数据点
。线性模型解决办法:
    ·正则化:L1正则化,L2正则化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cfLrDwQy-1582607435693)(attachment:image.png)]

8、线性回归的改进–岭回归

岭回归,其实也是一种线性回归。只不过在筛法建立回归方程时候,加上L2正则化的限制,从而达到解决过拟合的效果。

API: ·sklearn.linear_model.Ridge(alpha=1.0,fit_intercept=True,solver=“auto”,nomalize=False)

。具有L2正则化的线性回归
。alpha:正则化力度,惩罚项系数 入。正则化力度越大,权重系致会越小,正则化力度越小,权重系数会越大。
    ·取值:0~1,1~10
。solver:会根据数据自动选择优化方法
    ·sag:如果数据集、特征都比较大,选择该随机梯度下降优化
。normalize:数据是否进行标准化
    ·normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据,自动对数据进行标准化
。Ridge.coef-:回归权重
。Ridge.intercept_:回归偏置

9、案例代码

from sklearn.datasets import load_boston  #sklearn波士顿房价预测数据接口
from sklearn.model_selection import train_test_split  #划分数据集
from sklearn.preprocessing import StandardScaler    #数据标准化
from sklearn.linear_model import LinearRegression, SGDRegressor, Ridge  #预估器(正规方程)、预估器(梯度下降学习)、岭回归
from sklearn.metrics import mean_squared_error  #均方误
from sklearn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值