特征重要性 - 如何选择最佳特征的数量?

数据挖掘 特征选择
2022-02-13 19:00:26

您使用什么标准或什么方法来选择部分特征。

例如:使用随机森林,我得到以下特征重要性:

a : 25.4884726
b : 17.2736393
c : 12.3493490
d : 8.9383737
e : 8.1083837
f : 6.8272717
g : 4.1999999
...
...
...

对于最终预测,您只需要从上面选择几个特征。您如何决定以下内容:

  1. 您选择的功能数量?
  2. 选择时分数重要吗?
2个回答

这是一个重要的问题,因为许多特征选择方法返回特征分数/重要性而不是有限的特征集。我目前知道三种方法:

  • 选择 k 个最佳属性(定义的固定数量)
  • 选择最好的 k * 100% 的属性(定义的相对特征数)
  • 在特征分数的最大差异处截断:所有特征都根据它们的分数进行排序,并且在一个分数和下一个分数之间的最大差异处进行拆分(重要性损失最大)

您会在 R 中使用FSelector找到一个很好的实现。

我认为,有一些研究工作正好解决了这个问题,并且可能会提出更好的方法,但我没有时间深入研究这个问题。

  1. 您选择的功能数量?

    它取决于你必须预测的类的数量,让我们用例子来解释一下:假设我们的数据集中有 5 个类(标签),我们只选择一个特征,所以树只有一个父节点和两个叶节点,可以容纳只有两个类,因此精度急剧下降,同样,如果我们只选择两个特征,那么我们只能容纳三个类,所以一个,所以你必须考虑更多的类特征,然后你必须准确地测试它直到通过在模型中添加额外的特征来改变准确性。

  2. 当您选择时,分数(变量重要性)是否重要?

    是的,在决定您选择的特征时,分数很重要,因为它取决于特征的变量重要性,计算为当相应特征的值随机排列时,袋外样本的模型准确度的平均下降,所以如果您只为特征选择较低分数的变量,那么准确度会急剧下降。