python交叉验证结合线性回归_Python - 回归(线性回归、RFE、LASSO 和 岭回归+K折交叉验证)...

这篇博客探讨了Python中的回归分析,包括普通线性回归、RFE(递归特征消除)、LASSO(L1正则化)和岭回归(L2正则化)。通过K折交叉验证,作者展示了如何在这些方法中应用正则化以避免过拟合。RFE通过选择最重要特征减少过拟合,而LASSO倾向于产生稀疏解。文章还提供了代码示例和模型评估指标。
摘要由CSDN通过智能技术生成

Python - 回归(线性回归、RFE、LASSO 和 岭回归+K折交叉验证)

发布时间:2018-04-25 21:41,

浏览次数:746

, 标签:

Python

RFE

LASSO

1. 普通线性回归:通过输出模型的真实值和预测值的平均平方差尽可能小(即最小二乘估计法),但容易陷入过度拟合(即低偏差),后续回归方法会有带正则化法来缩减数据。

2. 普通线性回归+RFE:RFE是recursive feature

elimination回归特征消除,让回归特征消除过程中只保留no_features个最重要的特征,可以避免过度拟合,但RFE会舍弃一些变量,原没有下面几个方法给变量赋权重来的好。

3. L2缩减回归 - 岭回归:正则化那块采用L2范式,alpha越大,缩减幅度越大。岭回归比LASSO的预测能力好点,但LASSO能完成动态选择。

4. L1缩减回归 - LASSO:Least absolute shrinkage and selection

operator最小绝对值缩减和选择操作,LASSO更偏向于稀疏的结果,如果一个结果大多数系数被压缩为0,那么它被称为系数的,LASSO大多数的系数都变成0了,对相关联的变量,只选择保留一个。

RFE:

# -*- coding: utf-8 -*- """ Created on Thu Apr 05 19:52:39 2018 @author: Alvin

AI """ from sklearn.datasets import load_boston from sklearn.cross_validationi

import train_test_split from sklearn.linear_model import LinearRegression from

sklearn.metrics import mean_squared_error import matplotlib.pyplot as plt from

sklearn.preprocessing import PolynomialFeatures from itertools import

combinations from sklearn.feature_selection import RFE #载入数据 def get_data():

data = load_boston() x = data['data'] y = data['target'] return x,y #建立模型

#让回归特征消除(RFE-recursive feature elimination)只保留no_features个最重要的特征 def

build_model(x,y,no_features): model =

LinearRegression(normalize=True,fit_intercept=True) rfe_model =

RFE(estimator=model,n_features_to_select=no_features) rfe_model.fit(x,y) return

rfe_model #查看模型 def view_model(model): print "\nmodel coefficients" print

"===

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值