【发布时间】:2017-03-25 13:51:56
【问题描述】:
我有一个关于GridSearchCV的问题:
通过使用这个:
gs_clf = GridSearchCV(pipeline, parameters, n_jobs=-1, cv=6, scoring="f1")
我指定k-fold交叉验证应该用6折对吧?
这意味着我的语料库被分为训练集和测试集 6 次。
这是否意味着对于GridSearchCV,我需要使用我的整个语料库,就像这样:
gs_clf = gs_clf.fit(corpus.data, corpus.target)
如果是这样,我将如何从那里获取用于预测方法的训练集?
predictions = gs_clf.predict(??)
我看过代码,其中使用train_test_split 将语料库分为测试集和训练集,然后将X_train 和Y_train 传递给gs_clf.fit。
但这对我来说没有意义:如果我事先将其拆分为语料库,为什么要在 GridSearchCV 中再次使用交叉验证?
感谢您的澄清!
【问题讨论】:
-
这是一个很好的问题;谢谢你把它放在那里!
标签: python scikit-learn cross-validation text-classification