使用交叉验证分数执行特征选择

数据挖掘 特征选择 交叉验证
2022-02-20 10:21:15

因此,为了执行我的特征选择,我一遍又一遍地运行交叉验证,每次尝试我的属性的不同子集并重复此操作,直到我得到我能得到的最佳交叉验证分数。这样做可以吗,还是我正在制造重大偏见?我怀疑这可能会导致偏差并可能导致数据泄漏,因为我可能正在通过这样做来了解我的测试集,但这会有多严重的偏差?我的数据集太小,无法创建另一个验证集。

1个回答

该方法本身很好,它是对可能特征子集的优化搜索。这通常通过详尽搜索或基因搜索来完成。

但是你有正确的直觉:在这个过程的最后,一旦你选择了最好的特征子集,你必须在一个由看不见的数据组成的独立测试集上进行评估。选择最佳特征子集是一种训练形式,因此您使用 CV 获得的性能等同于在训练集上的性能。

如果不对新的测试集进行评估,就不可能知道它有多糟糕。但一般来说,如果你尝试大量的子集,在这个过程中不可避免地会有一些机会,这意味着最好的子集的性能很可能被高估(过度拟合)。