机器学习实践系列(三)LASSO回归
2018-01-24 19:57
274 查看
同上一个教程中的岭回归(Ridge Regression)一样,LASSO回归也是为了”对付”普通线性回归的过拟合(Overfitting)问题,于岭回归不同的是LASSO回归采用了L1范式作为惩罚项,同样,有惩罚因子.
You will see something similar to:
同样,你也可以通过交叉验证来选择参数.
L1范数于L2范数都有助于降低过拟合的风险,但L1范数有一个潜在的好处,其解更稀疏,i.e.,有更多的非零分量.
Reference
http://scikit-learn.org/stable/modules/linear_model.html#ridge-regression
http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html#sklearn.datasets.load_boston
https://en.wikipedia.org/wiki/Lasso_(statistics)
from sklearn.datasets import load_boston boston = load_boston() import numpy as np from sklearn import linear_model from sklearn.metrics import mean_squared_error,r2_score X = boston.data y = boston.target num_training = int(0.7*len(X)) #分割数据集 X_train = X[:num_training] y_train = y[:num_training] X_test = X[num_training:] y_test = y[num_training:] reg = linear_model.Lasso(alpha=0.1) #训练模型 reg.fit(X_train,y_train) #预测模型 y_pred = reg.predict(X_test) #输出模型参数 print("系数",reg.coef_) print(reg.coef_.shape) print("常数项",reg.intercept_) #计算均方误差 print("在测试集均方误差",mean_squared_error(y_test,y_pred)) #计算r2值 print("r2值",r2_score(y_test,y_pred))
You will see something similar to:
系数 [ 0.24788545 0.01585505 0.02622181 0. -0. 8.91066445 -0.04367892 -0.78166146 0.12121806 -0.01507666 -0.62126143 0.01410457 -0.12861912] (13,) 常数项 -15.3209262151 在测试集均方误差 99.2877306308 r2值 -0.496508046032
同样,你也可以通过交叉验证来选择参数.
L1范数于L2范数都有助于降低过拟合的风险,但L1范数有一个潜在的好处,其解更稀疏,i.e.,有更多的非零分量.
Reference
http://scikit-learn.org/stable/modules/linear_model.html#ridge-regression
http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html#sklearn.datasets.load_boston
https://en.wikipedia.org/wiki/Lasso_(statistics)
相关文章推荐
- 机器学习实践系列(二)岭回归(Ridge Regression)
- 机器学习之普通线性回归、岭回归与lasso回归比较
- 【机器学习系列之二】逻辑回归(LR,Logistic Regression)
- 机器学习实践系列之14 - OpenCV之傅里叶变换
- 机器学习实践系列之5 - 目标跟踪
- 机器学习笔记之Logistic回归算法实践
- 机器学习系列-逻辑回归简介
- 机器学习系列(2)_用初等数学解读逻辑回归
- 机器学习实践系列之5 - 目标跟踪
- 机器学习概念总结笔记(一)——机器学习算法分类、最小二乘回归、岭回归、LASSO回归
- 机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾
- 机器学习实践系列之15 - OpenCV之MSER
- 机器学习总结(一):线性回归、岭回归、Lasso回归
- 机器学习系列(2)_从初等数学视角解读逻辑回归
- 机器学习实践之预测数值型数据--回归
- Andrew NG机器学习课程笔记系列之——机器学习之逻辑回归(Logistic Regression)
- 机器学习实践系列之16 - OpenCV之手写体识别
- 机器学习实践系列之6 - OpenCV实战光流
- 机器学习系列之线性回归
- [050]Python 机器学习系列之线性回归篇深度详细