特征重要性无法区分正负大小

问题描述 投票:0回答:1

我正在做一个数据分析/机器学习项目。

主要目标是确定在大型数据集中哪个组件导致了问题。

数据集包含很多行,每一行代表一个测试,每个测试包含测试名称、使用的组件和结果等信息

例如,数据如下

测试 使用的组件 结果
1 1,2,3,7 失败
2 2,3 通过
3 1,3,4,5 失败
1 3,4 通过
1 5,6,7 失败
1 4,5,6 通过
1 7 失败
1 1,2 失败
1 2,5,6 通过
1 2,3,5,7 失败
1 2,3,4 通过
1 1,2,3,4,5,6,7 失败

从上表中使用人类解释,我们可以发现 只要有“1”,结果就会失败 只要有“7”,结果就失败 因此,我们可以得出结论,组件1和7有故障,不能用于测试。请注意,一次可能使用超过 100 个组件,并进行数百万次测试。还有一种情况,有时 1 会通过,有时 7 会通过,但并不总是 100% 失败。另一种情况是,组合使用组件也可能导致失败,例如,如果 2 和 3 一起使用,则会失败,但如果使用 2 而不使用 3,则可能会通过。类似这样的事情。

我尝试过Python中的决策树, 使用 scikit-learn 中的 DecisionTree 进行训练并提取 __feature_importance 它确实给了我哪个功能最重要的结果,但没有告诉我该功能是积极还是消极影响的程度。为什么它只显示重要性的值,如何找到重要性

python machine-learning scikit-learn decision-tree feature-selection
1个回答
0
投票

您需要了解特征重要性是如何计算的以及它们代表什么。例如,如果您使用 scikit-learn 和 RF 分类器,则“特征重要性”通常会计算基于 GINI 杂质的特征重要性。具体来说:

越高,该功能越重要。特征的重要性计算为该特征带来的标准的(归一化)总减少。它也被称为基尼重要性。

为了回答你的问题,功能重要性将为 +ve 并且加起来为 1。

© www.soinside.com 2019 - 2024. All rights reserved.