Параллельная перекрестная проверка для групп гиперпараметров в python - PullRequest
0 голосов
/ 12 мая 2018

Мне нужно выполнить несколько перекрестных проверок одновременно для определенных групп

гиперпараметры SVR: ((C_0, gamma_0), (C_1, gamma_1) ... (C_n, gamma_n)) и таким образом, ищите метод распараллеливания, чтобы ускорить его.

Возможно, можно было бы запустить GridSearchCV, чтобы вместо проверки каждой возможной комбинации гиперпараметров он проверял их «поэлементно». Пример:

tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-3, 1e-4],
                     'C': [100, 1000]]

clf = GridSearchCV(SVR(), tuned_parameters, cv=5, n_jobs=-1) 

clf.fit(X_train, y_train)

Таким образом, в этом случае будут проверяться только две пары гиперпараметров, а именно: (1e-3100) и (1e-4100) вместо всех четырех комбинаций.

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете попробовать список диктов, чтобы указать параметры.

Примерно так:

tuned_parameters = [{'kernel': ['rbf'], 
                     'gamma': [1e-3],
                     'C': [100]}, 
                    {'kernel': ['rbf'], 
                     'gamma': [1e-4],
                     'C': [1000]}]

Вызов clf.fit () теперь будет искать параметры по обоим элементам списка параметров, используя все значения по одному за раз.

Таким образом, будут использоваться только две комбинации: ('rbf', 1e-3, 100) и ('rbf', 1e-4, 1000)

...