随机森林:类特定特征重要性

机器算法验证 r 分类 特征选择 随机森林
2022-03-11 01:29:11

我正在使用bigrfR 包来分析带有 ca 的数据集。50.000 个观测值 x 120 个变量,分为两组。

在种植了 1000 棵树的森林之后,我分别使用fastimpinteractions函数调查了 120 个特征与 2 个类的关系的重要性和关系,这产生了非常好的结果。

但是,我现在有兴趣使用 3 个(或更多)而不是 2 个类来调查问题。在这种情况下,计算的基尼变量重要性fastimp仅与整体重要性有关。

我的问题是:有没有办法计算特定类别的 Gini 变量重要性或类似的度量?

2个回答

有多种方法可以这样做

1) 可视化 - 您可以将每组中每个选定特征的丰度/频率绘制为条形图。我假设在视觉上,与其他组相比,一组中的顶级功能会更丰富。

2)穷举法——在每对两个标签上建立3个随机森林模型。对每个组合中的特征进行排名,并最终绘制结果,看看特征 x 的基尼分数是否在两个组合上都更高。

我会故意使用类权重来使标签不平衡,以制作 3 个重要性列表。

测试:

  • 将 A 下调至实际患病率的 10%
  • 使用实际流行率
  • 将 B 降至实际患病率的 10%

然后,您可以对其中的每一个进行排序,并查看在这些测试中具有大而一致变化的那些。

此外,除非您进行了收敛性研究,否则您可能会使用太多的树。我也喜欢使用 Boruta 来估计变量的重要性。具有约 50k 行和 120 列的数据并没有那么大,您需要让以大为中心的工具工作。