Lasso——线性回归

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_:常数项(截距)
……
更多的模型参数,见官网

你可能感兴趣的:(【Python】机器学习,线性回归,机器学习,python)