机器学习进阶文档深度页
树模型特征重要性
不纯度重要性统计特征为树划分带来的累计改善,但不能解释因果。
学习前需要掌握
决策树评价指标内容待补充
背景与问题
高基数特征、相关特征和训练偏差会扭曲重要性;相关特征可能分摊贡献。
概念定义
feature_importances_ 汇总特征用于分裂时加权不纯度下降。
直观理解
它回答“模型在这组树里多常靠该特征降低不纯度”,不回答“现实中它造成了结果”。
核心原理
配合置换重要性、跨折稳定性和领域实验;重要性计算也必须基于可靠评价。
数学表达
核心表达
配合置换重要性、跨折稳定性和领域实验;重要性计算也必须基于可靠评价。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1训练可靠模型
- 2提取不纯度重要性
- 3在验证数据做置换重要性
- 4检查相关特征
代码对应位置
示例 1树模型特征重要性 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
训练可靠模型
- 2
提取不纯度重要性
- 3
在验证数据做置换重要性
- 4
检查相关特征
- 5
跨折比较
- 6
限制解释语言
代码实现
示例 1
树模型特征重要性 实现
树模型特征重要性 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
from sklearn.inspection import permutation_importance
r=permutation_importance(model,X_test,y_test,n_repeats=10,random_state=42)
print(r.importances_mean)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
X_test- 测试特征,只用于最终 transform、predict 和评价。
y_test- 与 X_test 对齐的测试目标。
model- 组合预处理和估计器的模型对象。
Step 1 · 1–3 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.inspection import permutation_importance
r=permutation_importance(model,X_test,y_test,n_repeats=10,random_state=42)
print(r.importances_mean)代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
每个特征被打乱后测试分数的平均下降。
常见错误 · 5 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 重要性当因果
- 用训练集置换
- 忽略相关特征
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- 模型诊断
- 特征审查
常见错误
重要性当因果
用训练集置换
忽略相关特征
文档来源
05|决策树与集成学习原始文档
学习资料/learning_tech/05_tree_and_ensemble.md- §11 特征重要性应谨慎解释
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。