在The Elements of Statistical Learning中,我发现了以下陈述:
有一个条件:可以在样本被遗漏之前完成初始的无监督筛选步骤。例如,我们可以在开始交叉验证之前选择所有 50 个样本中方差最大的 1000 个预测变量。由于此过滤不涉及类别标签,因此不会给预测器带来不公平的优势。
这真的有效吗?我的意思是,通过预先过滤属性,我们不是在模仿训练数据/新数据环境——那么我们正在执行的过滤不受监督是否重要?在交叉验证过程中实际执行所有预处理步骤不是更好吗?如果不是这样,那么这意味着所有的无监督预处理都可以预先进行,包括特征归一化/PCA等。但是通过对整个训练集进行这些操作,我们实际上是在向训练集泄露一些数据。我可以同意,对于相对稳定的数据集,这些差异很可能非常小——但这并不意味着它们不存在,对吧?思考这个问题的正确方法是什么?