在计算排列重要性时处理相关特征

数据挖掘 机器学习 特征选择 特征提取 相关性
2022-02-28 01:05:28

我已经实现了在这里找到的排列重要性计算,以尝试识别对我的模型(梯度提升树模型)预测能力贡献不大的特征。

我遇到的问题是我的一些特征高度相关,在通过排列重要性评估时可能掩盖了特征的真正重要性。通常,对此的解决方案是执行诸如递归特征消除之类的操作。不幸的是,我不能这样做,因为重新训练模型的成本太高了。该模型需要大约 3 个小时来训练具有 39 个特征的特征集。

我的问题是在处理相关特征时是否可以使用排列重要性?我最初的想法是颠倒过程并改组除我想要调查的功能之外的所有功能,尽管我不知道这是否会有相同级别的解释。

1个回答

使用互信息,即每个特征和输出的相关性并不是很有帮助的。原因是相关系数只是能够确定它们是否线性相关。除了高斯分布,据我所知,它甚至无法确定输入是否独立,这意味着如果您看到系数等于 0,如果您不知道分布,则无法得出结论它们是独立的,但您可以说它们不是线性相关的。在现实世界的应用程序中,特征与输出具有线性相关性的情况很少发生。最后,

对于具有大量特征的情况,您可以决定选择其他特征选择和提取方法。我想你的案例包装方法可能更适合。在包装方法中,您没有任何标准,您只需使用基于启发式的方法搜索特征的所有可能性,以找到具有最佳交叉验证精度的最佳子特征。