机器学习进阶文档深度页
Elastic Net
混合 L1 稀疏性和 L2 稳定收缩,适合相关特征较多的场景。
学习前需要掌握
L1/L2内容待补充
背景与问题
L1 在高度相关特征中可能任意留一个,数据略变选择就交换;L2 更倾向共同缩小。
概念定义
l1_ratio=ρ 控制 L1/L2 比例;ρ=1 接近纯 L1,ρ=0 接近纯 L2。
直观理解
既允许删掉弱特征,又避免相关特征之间过于武断地二选一。
核心原理
alpha 与 l1_ratio 联合交叉验证;仍需标准化并检查稀疏性、验证表现和稳定性。
数学表达
核心表达
alpha 与 l1_ratio 联合交叉验证;仍需标准化并检查稀疏性、验证表现和稳定性。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1标准化
- 2设 alpha 和 l1_ratio 网格
- 3交叉验证
- 4检查系数路径
代码对应位置
示例 1Elastic Net 示例:对应文档中的可靠评价或训练流程。
计算与实现步骤
- 1
标准化
- 2
设 alpha 和 l1_ratio 网格
- 3
交叉验证
- 4
检查系数路径
- 5
测试稳定性
代码实现
示例 1
Elastic Net 示例
Elastic Net 示例
scikit-learn
example_01.py用途:对应文档中的可靠评价或训练流程。
from sklearn.linear_model import ElasticNetCV
model=make_pipeline(StandardScaler(),ElasticNetCV(l1_ratio=[.1,.5,.9,1],cv=5))代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的可靠评价或训练流程。
model- 组合预处理和估计器的模型对象。
Step 1 · 1–2 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.linear_model import ElasticNetCV
model=make_pipeline(StandardScaler(),ElasticNetCV(l1_ratio=[.1,.5,.9,1],cv=5))代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
选择 alpha 与 l1_ratio,输出折中稀疏权重。
常见错误 · 3 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 不联合调参
- 忽略相关特征含义
实际应用
- 相关高维回归
常见错误
不联合调参
忽略相关特征含义
文档来源
11|L1 正则化:稀疏模型与特征选择原始文档
学习资料/learning_tech/11_l1_regularization.md- §4 L1 与 L2 的区别
- §11 高度相关的特征
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。