生成特征权重的分布:
图5 实际特征权重分布。只有几个特性是重要的
计算的特征重要性和实际重要性之间的Spearman rank相关性:
Model's score [train data]: 0.9998Permutation spearman corr: 0.5724SHAP spearman corr: 0.4721LGB gain spearman corr: 0.4567
以及实际和计算特征重要性的图示如下:
图6 实际重要性和计算重要性,noise_magnitude_max=1
我们可以在这里看到几个问题(用绿色圆圈标记):
- 最重要和第二重要的特征排序不匹配;
- 根据置换重要性,第三个最重要的特征应该是第九个特征;
- 如果我们相信置换重要性,实际的第8个重要特征下降到第39位。
以下是对相同实验参数的实际和计算的特征重要性排序的说明,noise_magnitude_max=10(abs_correlation_mean从0.96下降到0.36):
Model's score [train data]: 0.9663Permutation spearman corr: 0.6430SHAP spearman corr: 0.7139LGB gain spearman corr: 0.6978
图7 实际重要性和计算重要性,noise_magnitude_max=10
仍然不是完美的,但是对于前十位重要特征排序效果良好。
实验结果
本节介绍实验以及对应结果。“permutaions vs SHAP vs Gain”实验总共进行了1200次,而“permutaions vs Relearning”实验则进行了120次。
permutaions vs SHAP vs Gain
在本小节中,将比较使用置换重要性、SHAP值和内置增益计算的特征重要性排序。
从下面的图中,我们可以看到实际特征重要性与计算特征重要性(置换重要性、SHAP值、内置增益重要性)之间的相关性,正如预期的那样,与特征相关性的平均值和最大值呈负相关。置换重要性受高度相关特征的影响最大。内置增益和SHAP计算的重要性没有区别。
图8 Spearman特征排序相关性=f(特征相关性平均值)
图9 Spearman特征排序相关性=f(特征相关性最大值)
图10 Spearman特征排序相关性=f(模型得分)
图11 模型得分=f(特征相关性均值)
此外,我们可以看到实际特征重要性和计算结果之间的相关性取决于模型的得分:得分越高,相关性越低(图10)。目前还不清楚为什么会发生这种情况,但可以假设,更多的相关特征会导致更精确的模型(从图11中可以看出),因为特征空间更密集,“未知”区域更少。
Permutations vs Relearning
在本小节中,将置换重要性与再学习方法进行比较。
令人惊讶的是,再学习方法在所有相关关系中的表现明显比置换差,这可以从下面的图中看出。另外,再学习方法花费了大约n_features数倍的时间来运行。
图12 Spearman特征排序相关性=f(特征相关性均值)
图13 Spearman特征排序相关性=f(特征相关性最大值)
结论
- 不要使用置换重要性来解释基于树的模型(或任何在看不见的区域内插得很差的模型)。
- 使用SHAP值或内置的“增益重要性”。
- 不要使用“置换并重新学习”或“删除并重新学习”的方法来查找重要特性。
总结
在这篇文章中,描述了置换重要性方法以及与之相关的问题。展示了高度相关的特征如何以及为什么会影响置换重要性,这将导致误导性的结果。做了一个实验,结果表明置换重要性受高度相关特征的影响最大。还展示了,尽管重新学习方法被认为是有希望的,但是它们的表现比置换的重要性更差,并且需要更多的时间来运行。
这篇文章的主题和实验都是受到了Giles Hooker 和Lucas Mentch.的作品Please Stop Permuting Features An Explanation and Alternatives (https://arxiv.org/abs/1905.03151) 的启发。