Ошибка при поиске в сетке нейронных сетей - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь запустить поиск по сетке для нейронной сети, но продолжаю получать странные ошибки. мой алгоритм выглядит так:

parameters={'learning_rate':["constant", "invscaling", "adaptive"], 
                 'hidden_layer_sizes': (156,), 'alpha': [10.0 ** -np.arange(1, 7)], 
                 'activation': ["logistic", "relu", "Tanh"]}
grid= GridSearchCV(MLPClassifier(),parameters, n_jobs=-1, cv=10)
grid.fit(train_x, train_y)

Я получаю сообщение об ошибке:

ValueError: Истинное значение массива с более чем одним элементом неоднозначный. Используйте a.any () или a.all ()

Я также пытался использовать только 1 значение в отношении activation и learning_rate, но проблема, похоже, сохраняется. Есть что-нибудь, что я не очень хорошо, пожалуйста?

1 Ответ

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

Я заметил 2 ошибки в вашем коде.


Первое: Параметры alpha должны содержаться в чистом списке. Используя List Compceptionsion, ответ будет следующим.

Второе: В 'activation': ["logistic", "relu", "Tanh"]} Tanh следует заменить на tanh.


Следующий код должен работать нормально:

Заменить:

'alpha': [10.0 ** -np.arange(1, 7)]
'activation': ["logistic", "relu", "Tanh"]

С:

'alpha': [10.0 ** -i for i in range(1,7)]
'activation': ["logistic", "relu", "tanh"]

Собираем все вместе:

parameters={'learning_rate':["constant", "invscaling", "adaptive"], 
             'hidden_layer_sizes': (156,), 'alpha': [10.0 ** -i for i in range(1,7)], 
             'activation': ["logistic", "relu", "tanh"]}

grid= GridSearchCV(MLPClassifier(), parameters, n_jobs=-1, cv=10)

grid.fit(train_x, train_y)
...