目前,我正在根据特征之间的相关性和一个特征内的方差进行一些简单的特征选择。在创建交叉验证之前,我将其应用于用于模型构建的整个数据集。
我现在的问题是,这是否是可以接受的工作流程,还是会显着影响 CV 统计数据,表明模型比实际更好?
进行 CV 拆分在技术上是否更好,然后才在训练集上为该拆分选择特征而不泄漏信息?
目前,我正在根据特征之间的相关性和一个特征内的方差进行一些简单的特征选择。在创建交叉验证之前,我将其应用于用于模型构建的整个数据集。
我现在的问题是,这是否是可以接受的工作流程,还是会显着影响 CV 统计数据,表明模型比实际更好?
进行 CV 拆分在技术上是否更好,然后才在训练集上为该拆分选择特征而不泄漏信息?
如果您不使用目标进行特征选择,则没有泄漏,您可以将其应用于整个数据集。您提到的方法:检查特征之间的相关性和检查每个特征的方差都属于这里。
如果您确实使用目标进行特征选择,那么您应该只使用“训练”子集。否则有泄漏。这里的例子是(i)您检查每个特征和目标之间的相关性(ii)使用构建随机森林模型并获取最佳特征