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

- Using the entire dataset:一些人认为,利用整个数据集进行gridsearchcv.fit(X,y)可以最大化可用于训练的数据,这可能会更准确地确定KNN模型的最佳K值.

- Using only the training set:其他人建议仅使用gridsearchcv.fit(X_train,y_train)的训练数据,认为这种方法可以防止数据从不可见的测试集中泄露.由于GridSearchCV执行交叉验证,因此应保留测试集来判断最终模型.

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

推荐答案

已经回答了herehere.超参数调整也是从数据中学习的某种形式. 因此,您只需在训练集上进行即可.使用整个数据集是错误的方法,因为您无法在未见数据上判断模型性能.

Python相关问答推荐

替换为Pandas

使用itertools出现第n个子串

回归回溯-2D数组中的单词搜索

云上Gunicorn的Flask-socketIO无法工作

Python中使用Delivercio进行多个请求

如何在Python中按组应用简单的线性回归?

如何获取Django REST框架中序列化器内部的外卡属性?

"Discord机器人中缺少所需的位置参数ctx

将numpy矩阵映射到字符串矩阵

剧作家Python:expect(locator).to_be_visible()vs locator.wait_for()

如何根据日期和时间将状态更新为已过期或活动?

如何自动抓取以下CSV

Pandas 第二小值有条件

连接两个具有不同标题的收件箱

如何检测背景有噪的图像中的正方形

无法通过python-jira访问jira工作日志(log)中的 comments

Godot:需要碰撞的对象的AdditionerBody2D或Area2D以及queue_free?

如何在Polars中从列表中的所有 struct 中 Select 字段?

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

合并帧,但不按合并键排序