gpt4 book ai didi

python - 确定为什么特征在决策树模型中很重要

转载 作者:太空狗 更新时间:2023-10-29 21:54:10 27 4
gpt4 key购买 nike

利益相关者通常不想要擅长预测的黑盒模型;他们希望深入了解功能,以便更好地了解他们的业务,这样他们就可以向其他人解释。

当我们检查 xgboost 或 sklearn 梯度提升模型的特征重要性时,我们可以确定特征重要性......但我们不明白为什么这些特征很重要,对吗?

有没有办法不仅可以解释哪些功能很重要,还可以解释为什么它们很重要?

我被告知使用 shap但是即使运行一些样板示例也会引发错误,所以我正在寻找替代方案(或者甚至只是一种检查树木和收集见解的程序方法,除了 plot_importance() 图之外,我可以带走)。

在下面的示例中,如何解释为什么特征 f19 是最重要的(同时还意识到决策树是随机的,没有 random_state 或种子)。

from xgboost import XGBClassifier, plot_importance
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
X,y = make_classification(random_state=68)
xgb = XGBClassifier()
xgb.fit(X, y)
plot_importance(xgb)
plt.show()

feature_importance

更新:我正在寻找的是一个程序化程序证明,证明上述模型选择的特征对预测能力有积极或消极的贡献。我想查看代码(不是理论),了解您将如何检查实际模型并确定每个特征的积极或消极贡献。目前,我认为这是不可能的,所以请有人证明我错了。我宁愿错了!

我也明白决策树是非参数的,没有系数。不过,有没有一种方法可以查看某个特征的贡献是积极的(这个特征的一个单位增加了 y)还是消极​​的(这个特征的一个单位减少了 y)。

更新 2:尽管对这个问题表示反对,并且有几次“接近”的投票,但这个问题似乎并没有那么疯狂。 Partial dependence plots可能就是答案。

Partial Dependence Plots (PDP) were introduced by Friedman (2001) with purpose of interpreting complex Machine Learning algorithms. Interpreting a linear regression model is not as complicated as interpreting Support Vector Machine, Random Forest or Gradient Boosting Machine models, this is were Partial Dependence Plot can come into use. For some statistical explaination you can refer hereand More Advance. Some of the algorithms have methods for finding variable importance but they do not express whether a varaible is positively or negatively affecting the model .

最佳答案

tldr; http://scikit-learn.org/stable/auto_examples/ensemble/plot_partial_dependence.html


我想澄清一些措辞以确保我们在同一页面上。

  1. 预测能力:哪些特征显着有助于预测
  2. 特征依赖:特征是积极的还是消极的相关,即特征 X 的变化是否会导致预测 y 增加/减少

<强>1。预测能力

您的特征重要性向您展示了哪些保留了最多的信息,并且是最重要的特征。功效可能意味着导致最大变化的原因 - 您必须通过插入虚拟值来查看它们的总体影响,就像您必须处理线性回归系数一样。

<强>2。相关性/依赖性

正如@Tiago1984 所指出的,它在很大程度上取决于底层算法。 XGBoost/GBM 正在额外构建一个 stub 委员会(树数较少的决策树,通常只有一个 split )。

在回归问题中,树通常使用与 MSE 相关的标准。我不会详细介绍,但您可以在这里阅读更多内容:https://medium.com/towards-data-science/boosting-algorithm-gbm-97737c63daa3 .

你会看到它在每一步都计算弱学习器“方向”的向量,所以你原则上知道它的影响方向(但请记住它可能在一棵树中出现多次,在加性模型的多个步骤中)。

但是,切入正题;您可以修复除 f19 之外的所有特征,并对一系列 f19 值进行预测,并查看它与响应值的关系。

看看部分依赖图:http://scikit-learn.org/stable/auto_examples/ensemble/plot_partial_dependence.html

统计学习要素,第 10.13.2 章中也有一章介绍它。

关于python - 确定为什么特征在决策树模型中很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47106385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com