如果我打算使用交叉验证(KFold),我是否仍应将数据集拆分为训练和测试数据,并仅在训练集上进行训练(包括交叉有效)?或者CV会为我做一切吗? E.g。
选项1
X_train, X_test, y_train, y_test = train_test_split(X,y)
clf = GridSearchCV(... cv=5)
clf.fit(X_train, y_train)
选项2
clf = GridSearchCV(... cv=5)
clf.fit(X y)
答案 0 :(得分:1)
CV很好,但是对于未经训练的数据进行训练/测试分割以提供独立评分估计会更好。 如果您的简历和测试数据显示相同的分数,那么您可以降低整个数据的训练/测试分裂阶段和CV,以获得略微更好的模型分数。但在确定您的分裂和CV分数是否一致之前,请不要这样做。