• 机器学习和数据挖掘01- lasso regularization


    概念

    Lasso正则化是一种线性回归中的正则化技术,旨在减少模型的复杂性并防止过拟合。Lasso(Least Absolute Shrinkage and Selection Operator)通过在损失函数中添加正则项,促使模型的系数变得稀疏,即某些系数会被压缩到零,从而实现特征选择。

    在Lasso正则化中,我们引入了一个惩罚项,它是模型中所有系数的绝对值之和乘以一个参数α。这个参数α控制了惩罚的强度,从而影响了系数是否趋向于零。较大的α值会更强烈地推动系数变为零,从而更多地减少特征数量。

    在使用Lasso正则化时,优化问题的目标是最小化以下形式的损失函数:

    Loss = MSE + α * Σ|β|

    其中,MSE是均方误差,α是惩罚项的强度,β是模型的系数。

    使用Lasso正则化有助于防止模型过拟合,并且在具有大量特征的数据集中,可以自动选择对目标变量有更大影响的特征。这使得Lasso在特征选择和降维方面非常有用。

    代码实现

    from sklearn.datasets import load_iris
    from sklearn.linear_model import Lasso
    from sklearn.model_selection import cross_val_score, StratifiedKFold
    import numpy as np
    
    # Load example dataset (you can replace this with your own data)
    data = load_iris()
    X = data.data
    y = data.target
    
    # Create a Lasso model
    lasso_model = Lasso(alpha=0.1)  # You can adjust the alpha parameter
    
    # Create a StratifiedKFold cross-validation object
    cvKFold = StratifiedKFold(n_splits=10, shuffle=True, random_state=0)
    
    # Perform cross-validation using cross_val_score
    scores = cross_val_score(lasso_model, X, y, cv=cvKFold)
    
    # Print the cross-validation scores
    print("Cross-validation scores:", scores)
    print("Mean CV score:", np.mean(scores))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
  • 相关阅读:
    将二叉搜索树转化为排序的双向链表
    在自定义数据集上微调Alpaca和LLaMA
    列表和字典练习
    windows10安装redis数据库,并设置开机自启动
    ApplicationContext接口解读
    本地如何使用HTTPS进行调试
    《第一行代码》核心知识点:Android简介
    Nginx 模块开发
    【--知识点整理--】
    Linux查看防火墙状态及开启关闭命令-转载记录
  • 原文地址:https://blog.csdn.net/CSDNXXCQ/article/details/132610100