Теория поиска по сетке с перекрестной проверкой - PullRequest
0 голосов
/ 25 октября 2018

Благодаря помощи переполнения стека я успешно реализовал поиск по сетке с перекрестной проверкой для моей модели дерева решений.

dtc = DecisionTreeClassifier()

parameter_grid = {'splitter': ['best', 'random'], 
        'min_samples_split': [15, 16, 17, 18, 19,20, 21, 22, 23, 24, 25,],
        'min_samples_leaf': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,],
        'criterion': ['gini', 'entropy'],
        'random_state': [0]}

cross_validation = StratifiedKFold(n_splits=10)

grid_search = GridSearchCV(dtc, param_grid=parameter_grid, cv=cross_validation)

grid_search.fit(x, y)

Мой вопрос касается теории, стоящей за этим.

Я знаю, что перекрестная проверка в k-кратном порядке разделяет весь мой набор данных на k наборы обучающих данных и соответствующие наборы проверочных данных.

Затем, я предполагаю, что мой код выполняет нечто подобное:

  1. применить поиск по сетке k раз, то есть для каждого набора обучающих данных из k-кратных значений.

  2. лучшие параметрыпоиска в сетке каждого k -кратного сечения применяются к соответствующим наборам данных проверки.

  3. ошибка проверки вычисляется для каждого набора данных проверки k -сгибов

Это пока правильно?

Какие значения я получаю с помощью grid_search.best_score_ и grid_search.best_params_?Это лучшие ошибки проверки (grid_search.best_score_) из шага 3 и соответствующие наилучшие значения поиска по сетке (grid_search.best_params_) или какое-то среднее значение?

Любая помощь или разъяснения приветствуются!

1 Ответ

0 голосов
/ 25 октября 2018

Для каждой возможной комбинации поиска в сетке (в вашем случае 2 * 11 * 10 * 2 * 1 = 440) набор данных поезда делится k раз, и ошибка average на k проверочных наборах каждой комбинациигиперпараметров рассчитывается.Комбинация с наименьшей средней ошибкой составляет grid_search.best_params_.

, например:

{'splitter': 'best', 
        'min_samples_split': 20,
        'min_samples_leaf': 9,
        'criterion':  'entropy',
        'random_state': 0}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...