gpt4 book ai didi

python - GridsearchCV 上的预处理

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:14 26 4
gpt4 key购买 nike

我正在使用GridsearchCV来调整超参数,现在我想在训练和验证步骤中进行最小-最大Normalization(StandardScaler())。但我认为我不能做到这一点。

问题是:

  1. 如果我对整个训练集应用预处理步骤并将其发送到 GridsearchCV 进行 10 FoldCV。这会导致我的数据泄露吗?因为训练集将运行 10 倍,这意味着训练集运行 9 倍,测试集运行 1 倍。归一化应该仅适用于训练集而不是验证集,对吗?
  2. 如果我使用 sklearn 的 Pipeline 它不会解决这个问题,对吗?因为它只运行一次并导致我再次泄漏数据。
  3. 是否有其他方法可以做到这一点,并且仍然使用 GridsearchCV 来调整参数

最佳答案

这确实会导致数据泄露,很高兴您发现了它!

使用管道解决此问题的方法是创建一个管道,其中 StandardScaler 作为管道中的第一个操作,然后是您选择的分类器,并最终将此管道传递给 GridSearchCV

clf = make_pipeline(StandardScaler(), 
MyClassifier())
grid_search = GridSearchCV(clf, refit=True)

有关更多信息,请查看这篇文章 here

关于python - GridsearchCV 上的预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55692298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com