如何解释使用独热编码后的特征重要性在决策树中的作用

16

我知道决策树有一个由基尼系数计算的feature_importance属性,可以用于检查哪些特征更重要。

然而,在scikit-learn或Spark中使用时,它只接受数字属性,所以我必须将字符串属性转换为数字属性,然后对其进行one-hot编码。当特征被放入决策树模型中时,它们是0-1编码,而不是原始格式。我的问题是,如何解释原始特征的重要性?在尝试解释功能重要性时,是否应避免使用one-hot编码?

谢谢。


2
你可以尝试估计原始特征的特征重要性,将其视为经过One-Hot编码后对应特征的特征重要性之和。要做到这一点,你需要理解One-Hot编码是由某个特定特征创建的。 - Ibraim Ganiev
@IbraimGaniev 感谢您的帮助 :) 但是,对于OHE,很难知道每个特征中有多少0-1变量...我不确定这是否是标准方法... - linpingta
2
好的,OHE 存储 feature_indices_ 参数,通过该参数您可以了解到哪些分类特征被分解为了哪些二进制特征。 - Ibraim Ganiev
1个回答

4
概念上,您可能希望使用类似于排列重要性的东西。基本思想是,您将原始数据集随机地一次一个变量地重新排列每个列的值。然后,您使用模型对扰动数据进行评分,并将其性能与原始性能进行比较。如果逐个列完成,则可以通过破坏每个变量并将其索引到损失最大的变量(它将变为1或100%)的变量来评估所需的性能下降。如果您可以在1 hot编码之前对原始数据集执行此操作,则将获得将其整体分组的重要性度量。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接