如果结果几乎相同,则选择更多或更少的特征

数据挖掘 机器学习 特征选择
2022-03-02 01:14:49

我有一个包含 3500 个观察值的数据集,其中包含 70 个特征,每个特征都带有用于分类目的的二进制标签/目标。

我的目标是获得超过 90% 的准确率和最高的召回率。

我已经测试了很多算法,到目前为止随机森林表现最好。

具体来说,我得到了 70 个功能:

  • 奥罗克:0.71
  • 精度:0.94
  • 召回:0.18

feature_importances_但是,我通过调用ofRandomForestClassifier内置函数以及在模块中SkLearn使用 Boruta 算法来了解我的功能的重要性。boruta_py

我删除了 20 个最不重要的功能。数字 20 是相当随意的,因为即使是接下来的 10 个最不重要的特征在重要性方面也相对接近于这 20 个最不重要的特征。只有前 10 个最重要的特征与其他特征相比在重要性上有显着差异。

然后具有 50 个特征的结果如下:

  • 奥罗克:0.7
  • 精度:0.91
  • 召回:0.17

既然我可以用更少的功能获得几乎相同的结果,我应该删除这些功能吗?

还请考虑到将来我的数据集将扩展到 5000 个观察值。

1个回答

这是非常符合上下文的。有一条规则是,提供所有数据会产生更好(无偏见)的结果,但并非总是如此。如果您对数据有所了解,则始终建议您删除最明显的无关紧要的数据。此外,您可以使用“P 值”等其他指标来检查变量的重要性。

由于以后还会添加更多数据,所以我宁愿等待它,然后删除无关紧要的变量。