TypeError:__init __()获得了意外的关键字参数'param_distributions'

时间:2019-08-21 06:36:28

标签: python-3.x scikit-learn

我试图使用超参数优化来提高模型(梯度提升)的准确性。这是我要使用的代码:

grdHyperParams = {'loss' : ['deviance', 'exponential'],
                 'n_estimators': randint(10, 500),
                 'max_depth': randint(1,10)}

gridSearch_grd = GridSearchCV(estimator=grd, param_distributions=grdHyperParams, n_iter=10, scoring='roc_auc',fit_params=None, cv=None, 
verbose=2).fit(X3_train, y_train)

我收到一条错误消息:

  

init ()获得了意外的关键字参数'param_distributions'

我在寻找解决方案,发现可能发生版本冲突。所以我检查了我的版本是0.21.3。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我认为您应该这样使用

GridSearchCV(estimator=grd, param_grid=grdHyperParams, ......)

param_distributions没有GridSearchCV参数,请使用param_grid

有关更多信息,您可以参考here