Я ищу способ построения grid_scores_ из GridSearchCV в sklearn. В этом примере я пытаюсь выполнить поиск наилучших параметров гамма и С для алгоритма SVR. Мой код выглядит следующим образом:Как скопировать сетку с GridSearchCV?
C_range = 10.0 ** np.arange(-4, 4)
gamma_range = 10.0 ** np.arange(-4, 4)
param_grid = dict(gamma=gamma_range.tolist(), C=C_range.tolist())
grid = GridSearchCV(SVR(kernel='rbf', gamma=0.1),param_grid, cv=5)
grid.fit(X_train,y_train)
print(grid.grid_scores_)
После того как я запустить код и распечатать результаты сетки, которые я получаю следующий результат:
[mean: -3.28593, std: 1.69134, params: {'gamma': 0.0001, 'C': 0.0001}, mean: -3.29370, std: 1.69346, params: {'gamma': 0.001, 'C': 0.0001}, mean: -3.28933, std: 1.69104, params: {'gamma': 0.01, 'C': 0.0001}, mean: -3.28925, std: 1.69106, params: {'gamma': 0.1, 'C': 0.0001}, mean: -3.28925, std: 1.69106, params: {'gamma': 1.0, 'C': 0.0001}, mean: -3.28925, std: 1.69106, params: {'gamma': 10.0, 'C': 0.0001},etc]
Я хотел бы, чтобы визуализировать все результаты (средние значения) в зависимости от гамма и С. График Я пытаюсь получить должен выглядеть следующим образом:
Где ось х гамма, ось у является средним баллом (среднеквадратическая ошибка в данном случае), а также различные линии представляют собой разные C значения.
«# форма находится в соответствии с алфавитным порядком параметров в сетке» - У вас есть некоторые ссылки для этого (предпочтительно от Документов)? – sascha
Я нашел часть в кодовой базе sklearns в grid_search.py, но я думаю, что это не упоминается в документах. – sascha
Вы правы, это следует упомянуть, а это не так. Доктриум ParameterGrid обеспечивает детерминированный порядок, который следует за этим соглашением, поэтому он протестирован; он также используется в примере 'plot_rbf_parameters ', который, по-видимому, имеет две строки по совпадению, почти идентичные тем, которые я вам дал. Если вы обеспокоены тем, что этот заказ ненадежен, вы всегда можете просто отсортировать «grid_scores_» самостоятельно. – joeln