Boruta“所有相关”特征选择与随机森林“重要性变量”

机器算法验证 特征选择 随机森林 重要性 博鲁塔
2022-03-30 12:52:42

有人可以解释随机森林的重要变量与 Boruta 特征选择的所有相关特征之间的区别吗?

例如,如果要使用“重要”或“相关”特征的子集来构建模型(可以是任何模型),最好使用 Boruta 所有相关特征选择的输出,还是随机森林“重要变量”?一种方法优于另一种方法吗?如果是,为什么?

2个回答

Boruta 和随机福雷斯特差异

Boruta 算法在从随机森林获得的变量重要性获得的结果之上使用随机化来确定真正重要且在统计上有效的结果。具体区别请参考文章第2节:

Kursa、Miron B. 和 Witold R. Rudnicki。“使用 Boruta 包进行功能选择。” (2010)。

一种方法优于另一种方法吗?如果是,为什么?

这是“没有免费午餐”定理的经典案例。没有数据和假设,就不可能决定哪一个更好。但是,请注意Boruta,它是对random forest变量重要性的改进。因此,它应该在更多情况下表现得更好(有偏见,因为我自己喜欢随机化技术)。然而,数据和计算时间可以使随机森林中的变量重要性成为更好的选择。

Boruta算法的基本思想

对预测变量的值进行混洗并将它们与原始预测变量连接,然后在合并的数据集上构建随机森林。然后将原始变量与随机变量进行比较,以衡量变量的重要性。只有重要性高于随机变量的变量才被认为是重要的。

Boruta和随机森林重要性度量之间的区别

在随机森林中,Z 分数是通过将平均准确度损失除以其标准差来计算的。它被用作所有变量的重要性度量。但是我们不能使用在随机森林中计算的 Z 分数作为寻找变量重要性的度量,因为这个 Z 分数与变量重要性的统计显着性没有直接关系。为了解决这个问题,boruta 包在原始属性和随机属性上运行随机森林,并计算所有变量的重要性。由于整个过程依赖于置换副本,我们重复随机置换过程以获得统计上稳健的结果。

Boruta 是适合所有人的解决方案吗?

答案是否定的。您需要测试其他算法。在不了解数据和假设的情况下,无法判断最佳算法。由于它是对随机森林变量重要性度量的改进,因此它应该在大多数情况下都能正常工作。

查看原始文章 -在 R 中使用 Boruta 进行特征选择,了解使用 R 实现 Boruta 算法及其与其他特征选择算法的比较。