Я ищу способ построения grid_scores_ из GridSearchCV в sklearn. В этом примере я пытаюсь выполнить поиск наилучших параметров гамма и С для алгоритма SVR. Мой код выглядит следующим образом:
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]
Я хотел бы визуализировать все оценки (средние значения) в зависимости от параметров гамма и С. График, который я пытаюсь получить, должен выглядеть следующим образом:
Где ось x - гамма, ось y - средний балл (среднеквадратическая ошибка в этом случае), а разные строки представляют разные значения C.