• 线性回归的正则方法:岭回归和Lasso


    线性回归的正则方法包括岭回归(Ridge Regression)和Lasso回归(Least Absolute Shrinkage and Selection Operator Regression)。这两种方法都是为了解决线性回归中可能存在的过拟合问题而提出的。

    在这里插入图片描述

    选择使用岭回归还是Lasso回归通常取决于问题的性质和数据的特点。如果你认为在模型中存在许多相关的特征,且不希望它们的权重过大,可以尝试使用岭回归。如果你希望模型能够自动选择重要的特征,可以尝试使用Lasso回归。在实际应用中,还可以使用弹性网络(Elastic Net),它综合了岭回归和Lasso回归的特点。

    让我们通过一个简单的例子来说明岭回归和Lasso回归的应用。考虑一个具有共线性特征的线性回归问题。

    在这里插入图片描述

    在Python中,可以使用Scikit-learn库进行岭回归和Lasso回归的实现。下面是一个简单的示例代码:

    from sklearn.linear_model import Ridge, Lasso
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import mean_squared_error
    import numpy as np
    
    # 数据准备
    X = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
    y = np.array([5, 8, 10, 12])
    
    # 划分训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
    
    # 岭回归
    alpha_ridge = 1.0  # 岭回归的超参数
    ridge_model = Ridge(alpha=alpha_ridge)
    ridge_model.fit(X_train, y_train)
    
    # Lasso回归
    alpha_lasso = 1.0  # Lasso回归的超参数
    lasso_model = Lasso(alpha=alpha_lasso)
    lasso_model.fit(X_train, y_train)
    
    # 在测试集上进行预测
    y_pred_ridge = ridge_model.predict(X_test)
    y_pred_lasso = lasso_model.predict(X_test)
    
    # 评估模型性能
    mse_ridge = mean_squared_error(y_test, y_pred_ridge)
    mse_lasso = mean_squared_error(y_test, y_pred_lasso)
    
    print("岭回归 MSE:", mse_ridge)
    print("Lasso回归 MSE:", mse_lasso)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    请注意,这只是一个简单的例子,实际上,选择合适的超参数值是一个需要仔细调整的任务。通常,可以通过交叉验证等方法来选择最优的超参数。

  • 相关阅读:
    Nat. Mach. Intell2021 | MolCLR+:基于GNN的分子表征对比学习
    Java 中的 ArrayList 类基础使用
    C语言进阶——深度剖析数据在内存中的存储
    python读取大文件md5校验性能优化比较
    重定向和转发
    [Algorithm][前缀和][和为K的子数组][和可被K整除的子数组][连续数组][矩阵区域和]详细讲解
    线搜索方法
    14:00面试,14:06就出来了,问的问题有点变态。。。
    【ML】李宏毅三:梯度下降&分类(高斯分布)
    华为ac怎么配置 写个配置
  • 原文地址:https://blog.csdn.net/rubyw/article/details/134554845