2017-02-02 2 views
0

Вопрос в том, когда я вписываюсь в GridSearch, мне нужно что-то сделать для процесса перекрестного валидации?sklearn Crossvalidation with GridSearch

Вещь, что я знаю:

1.- можно установить функцию подсчета очков (но не очень понятно, как это сделать, по крайней мере, для меня)

2.- Если я не сдал a 'cv' param для класса GridSearch, тогда он использует стандартную трехмерную проверку перекрестных ссылок.

Что именно делает GridSearch с данными, которые я передаю?, Все данные используются в поезде или разделены внутри в поезде и тестовых данных?

Спасибо!

PD: кажется, что мой классификатор имеет переобучение, потому что он имеет оценку 100%, но не имеет хороших результатов с новыми данными.

ответ

1

Пожалуйста, взгляните на GridSearchCV documentation. Он описывает все, что вы хотите подробно.

GridSearch будет обучать данную оценку по всем заданным значениям параметров и находить параметры, которые дают наивысшую (или самую низкую, если используется функция потерь) оценку по данным поезда.

GridSearchCV будет делать то же самое с перекрестной проверкой внутри. Параметры для оценок могут быть представлены в GridSearchCV с аргументом param_grid.

Для запросов:

  1. Забив - Вы можете передать любую строку доступной on this page (в зависимости от вашего классификатора). Или вы можете передать свой собственный счетчик с make_scorer.
  2. CV - То же самое для cv. Либо вы можете передать число для многократной перекрестной проверки, либо cv-объекта. Вы можете проверить доступные итераторы cv на this page.
Смежные вопросы