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

概念

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

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

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

Loss = MSE + α * Σ|β|

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

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

代码实现

python 复制代码
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))
相关推荐
大千AI助手8 分钟前
SPT:选择性提示调优——让模型自动学习最佳提示插入策略
人工智能·神经网络·llm·提示词·大千ai助手·spt·选择性提示调优
夫唯不争,故无尤也9 分钟前
PyTorch中张量和模型的核心属性解析
人工智能·pytorch·深度学习
钛投标免费AI标书工具16 分钟前
AI标书vs人工标书,到底哪个好?
人工智能
大数据CLUB18 分钟前
酒店预订数据分析及预测可视化
大数据·hadoop·分布式·数据挖掘·数据分析·spark·mapreduce
qiao若huan喜22 分钟前
10、webgl 基本概念 + 坐标系统 + 立方体
前端·javascript·信息可视化·webgl
鲸鱼在dn26 分钟前
大型语言模型推理能力评估——李宏毅2025大模型课程第9讲内容
人工智能·语言模型·自然语言处理
笨鸟笃行34 分钟前
人工智能备考小结篇(后续会更新对应的题解)
人工智能
不当菜鸡的程序媛34 分钟前
Flow Matching|什么是“预测速度场 vt=ε−x”?
人工智能·算法·机器学习
kyle~39 分钟前
数学基础---四元数
人工智能·数学·机器人·旋转
PKNLP40 分钟前
14.大语言模型微调语料构建
人工智能·语言模型·模型微调