Lasso:
LASSO是由1996年Robert Tibshirani首次提出,全称Least absolute shrinkage and selection operator。该方法是一种压缩估计。它通过构造一个惩罚函数得到一个较为精炼的模型,使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值;同时设定一些回归系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。
通过sklearn机器学习工具库
代码十分简洁,内有详细步骤和解释。
直接复制,带入数据,进行调用即可出结果,模型参数设置见文末
def Lasso_Regression(X_train, Y_train, X_test, Y_test):
"""
X_train: 特征训练集
Y_train: 标注训练集
X_test: 特征测试集
Y_test: 标注测试集
"""
# 01.创建模型
from sklearn.linear_model import Lasso
Lasso_model = Lasso(alpha=0)
# 02.训练模型
Lasso_model = Lasso_model.fit(X_train, Y_train)
# 03.模型预测
Y_pred = Lasso_model.predict(X_test)
# 04.模型评价
from sklearn.metrics import mean_squared_error
print('MSE:', mean_squared_error(Y_test, Y_pred))
# 05.输出模型参数
print('coef:', Lasso_model.coef_)
print('intercept:', Lasso_model.intercept_)
return
模型参数:
参数alpha:惩罚项系数,取值范围为:0-1,取0时等同于最小二乘法
这里的模型评价指标选择了:
均方误差MSE
在上面代码中都是针对测试集的效果,也可以对训练集进行预测,然后评价训练集的效果,综合比较,可以看看是否会出现过拟合现象。
输出的模型参数:
· coef_:回归系数
· intercept_:常数项(截距)
……
更多的模型参数,见官网