Scikit learn 神经网络网格搜索值误差

Scikit learn 神经网络网格搜索值误差,scikit-learn,neural-network,grid-search,Scikit Learn,Neural Network,Grid Search,我试图运行一个神经网络的网格搜索,但我不断得到一些奇怪的错误。我的算法如下所示: parameters={'learning_rate':["constant", "invscaling", "adaptive"], 'hidden_layer_sizes': (156,), 'alpha': [10.0 ** -np.arange(1, 7)], 'activation': ["logistic", "relu", "Ta

我试图运行一个神经网络的网格搜索,但我不断得到一些奇怪的错误。我的算法如下所示:

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个值,但问题似乎仍然存在。请问有什么我做得不好的吗?

我在你的代码中发现了两个错误


首先:纯列表中应包含
alpha
参数。使用列表理解,答案如下

Second:
'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)

把所有东西放在一起:

'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)

即使在我尝试更新所有涉及的包之后,问题仍然存在。意思是这个方案不是问题所在,我猜纠正你所指出的使它起作用了。谢谢你的帮助。