当使用特征选择/降维来选择特征子集时,我能否期望更高的准确度?

数据挖掘 特征选择
2022-03-07 00:03:52

执行特征选择/降维以消除不相关或冗余的特征,从而提高计算效率(计算成本更低)。我的问题是,当使用有效特征进行分类与使用所有特征时,我们能否预期预测准确性会发生任何变化?

2个回答

使用所有特征通常会导致过度拟合,即您的模型无法很好地泛化到看不见的数据。为了克服这个问题,在使用尽可能多的信息的同时,我们求助于特征选择(有时是特征生成)和降维。主成分分析 (PCA) 等降维技术试图使用现有特征来寻找解释数据最大可变性的新特征。通过这种方式,我们理想地减少了模型中的特征数量,同时确保解释了大部分可变性。

结果是:

  1. 这个新模型的计算速度更快,因为我们不再使用所有功能并加重我们的模型负担。
  2. 概括得很好,因为我们没有过度拟合,从而提高了对看不见的数据的准确性。

这是一个权衡

信息存在于数据的方差中

比方说,我们有一个非常高维的数据集,它肯定会给任何模型带来问题(可能参考维度诅咒背后的逻辑)

- 我们在降低维度的同时失去了一些方差
- 我们帮助模型学习数据。也可能有其他潜在原因(除了计算),即去除共线性和不相关的特征

所以,如果增益大于损失,那么它肯定会提高模型的性能。

虽然这不是您的问题,但请注意,通过特征工程,我们还可以通过智能探索性数据分析创建一些好的特征

我提出这一点是因为数据集没有太多的特征(当不被认为是非常高的维度时),特征工程更多的是使用来自数据的信息和关于问题的一些实际知识来寻找新的有用特征。
很多时候,使用一些启发式的简单转换也有效(Kaggle 内核)