У меня есть вопрос относительно GridSearchCV
:GridSearchCV: Как указать тестовый набор?
с помощью этого:
gs_clf = GridSearchCV(pipeline, parameters, n_jobs=-1, cv=6, scoring="f1")
Уточняю, что к-кратная кросс-валидации следует использовать с 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
?
Спасибо за разъяснение !!
Но разве что то, что здесь происходит? https://civisanalytics.com/blog/data-science/2016/01/06/workflows-python-using-pipeline-gridsearchcv-for-compact-code/. И если я передам все данные классификатору, что я использую для функции прогнозирования? – user3629892
Да, это похоже на то, и используется, когда они создают отчет, чтобы точно видеть точность и отзыв. Кстати, если они делают это измерение таким образом, не имеет смысла использовать перекрестное подтверждение. Это какое-то образовательное смешивание, но без смысла в реальном мире. Вы должны использовать функцию прогнозирования, когда у вас есть новый вход без метки, и вы хотите предсказать метку для этого ввода, если вы хотите сделать прогнозы. –
Хорошо, поэтому используйте весь корпус и используйте прогноз для новых данных. И как мне получить точность, точность и отзыв из GridSearchCV? Я не могу сказать, как это сделать из документации sklearn. – user3629892