1

У меня есть вопрос относительно 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?

Спасибо за разъяснение !!

ответ

0

Перекрестная проверка и тест-процентиль - это разные способы измерения точности алгоритма. Корс-валидация делает то, что вы сказали. Затем вы должны предоставить все данные в clasifier. Разделение данных, если вы используете перекрестное подтверждение, просто не имеет смысла.

Если вы хотите измерить точность или вызвать с помощью gridsearchCV, вы должны создать бомбардир и назначить его к параметру озвучивания gridsearchcv, как в этом примере:

>>> from sklearn.metrics import fbeta_score, make_scorer 
>>> ftwo_scorer = make_scorer(fbeta_score, beta=2) 
>>> from sklearn.model_selection import GridSearchCV 
>>> from sklearn.svm import LinearSVC 
>>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]}, scoring=ftwo_scorer) 
+0

Но разве что то, что здесь происходит? https://civisanalytics.com/blog/data-science/2016/01/06/workflows-python-using-pipeline-gridsearchcv-for-compact-code/. И если я передам все данные классификатору, что я использую для функции прогнозирования? – user3629892

+0

Да, это похоже на то, и используется, когда они создают отчет, чтобы точно видеть точность и отзыв. Кстати, если они делают это измерение таким образом, не имеет смысла использовать перекрестное подтверждение. Это какое-то образовательное смешивание, но без смысла в реальном мире. Вы должны использовать функцию прогнозирования, когда у вас есть новый вход без метки, и вы хотите предсказать метку для этого ввода, если вы хотите сделать прогнозы. –

+0

Хорошо, поэтому используйте весь корпус и используйте прогноз для новых данных. И как мне получить точность, точность и отзыв из GridSearchCV? Я не могу сказать, как это сделать из документации sklearn. – user3629892

Смежные вопросы