我正在尝试使用GridSearchCV和MLPClassifier,以便使用最佳参数拟合一些训练数据:
repositories {
...
google()
}
但是我得到以下错误/例外:
parameters={
'learning_rate': ["constant", "invscaling", "adaptive"],
'hidden_layer_sizes': [x for x in itertools.product((10,20,30,40,50,100),repeat=3)],
'alpha': [10.0 **-np.arange(1, 7)],
'activation': ["logistic", "relu", "Tanh"]
}
ord_pred = MLPClassifier(hidden_layer_sizes = (100,1))
clf = GridSearchCV(estimator=ord_pred,param_grid=parameters,n_jobs=-1,verbose = 10)
orders_prior1 = orders_prior.groupby('product_id').filter(lambda x: len(x) >= 3).fillna(0)
clf.fit(orders_prior1[['user_id','order_number','order_dow','order_hour_of_day','days_since_prior_order']]\
,orders_prior1['product_id'], orders_prior1['user_order'])
很难发现这个的真正原因并且这种情况持续很长时间。也许它与alpha参数搜索的范围或其他东西有关。怎么修?感谢。
答案 0 :(得分:0)
将'alpha': [10.0 **-np.arange(1, 7)]
更改为'alpha': 10.0 **-np.arange(1, 7)
如您在np.arrange()的文档中所见,函数本身已经返回了一个数组。将其放在方括号中(使它成为数组内部的数组)会导致GridSearch()引发异常。