我正在使用 GridsearchCV
来调整超参数,现在我想在训练和验证步骤中进行 min-max 规范化(StandardScaler())
。但我认为我不能这样做。
问题是:
- 如果我在整个训练集上应用预处理步骤并将其发送到 GridsearchCV 进行 10 折交叉验证。这会导致数据泄漏,对吗?因为训练集将运行 10 次,这意味着 9 次用于训练,1 次用于测试。规范化应该只应用于训练集,而不是验证集,对吗?
- 如果我使用 sklearn 的 Pipeline,这不会解决这个问题,对吗?因为它只运行一次,再次导致数据泄漏。
- 还有其他方法可以做到这一点,并仍然使用
GridsearchCV
来调整参数吗?