KNN 分类器中的 GridSearchCV

问题描述 投票:0回答:1

我是一名新手,目前正在从事数据科学简介项目。在我的项目中,我需要使用 GridSearchCV 调整超参数来找到 KNN 模型的最佳 K 值。然而,有一个问题让我和我的同事感到困惑:在执行该过程时是使用整个数据集(X,y)还是仅使用训练子集(X_train,y_train)。

- 使用整个数据集: 有些人认为,将整个数据集用于 gridsearchcv.fit(X, y) 可以最大化可用于训练的数据,从而可能更准确地确定 KNN 模型的最佳 K 值.

- 仅使用训练集: 其他人建议仅使用 gridsearchcv.fit(X_train, y_train) 的训练数据,认为这种方法可以防止来自看不见的测试集的数据泄漏。由于 GridSearchCV 执行交叉验证,因此应保留测试集来评估最终模型。

就我个人而言,我尝试仅使用 GridSearchCV 的训练集,因为我认为有必要仅保留最后一步的测试数据。您能否澄清这个问题以及哪种方法更适合使用 GridSearchCV 调整 KNN 超参数?谢谢!

python knn hyperparameters gridsearchcv
1个回答
0
投票

已经在这里这里回答了。超参数调整也是某种从数据中学习的过程。因此,您只需在训练集上进行即可。使用整个数据集是错误的方法,因为您将无法在看不见的数据上评估模型性能。

© www.soinside.com 2019 - 2024. All rights reserved.