我应该先train_test_split然后使用交叉验证吗?

时间:2017-11-27 11:40:15

标签: python scikit-learn cross-validation

如果我打算使用交叉验证(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)

1 个答案:

答案 0 :(得分:1)

CV很好,但是对于未经训练的数据进行训练/测试分割以提供独立评分估计会更好。 如果您的简历和测试数据显示相同的分数,那么您可以降低整个数据的训练/测试分裂阶段和CV,以获得略微更好的模型分数。但在确定您的分裂和CV分数是否一致之前,请不要这样做。

相关问题