1

我正在尝试训练 XGBClassifier,但出现此错误。我正在使用 xgboost 1.1.0 版。我使用 pip install xgboost 来安装 xgboost,我也升级了它。

param_dict = {'n_estimators':i, 'max_depth':j, 'objective':'binary:logistic'}

clf = xgb.XGBClassifier(param_dict)
clf.fit(X_tr_1, y_train)


XGBoostError: [08:00:25] C:\Users\Administrator\workspace\xgboost-win64_release_1.1.0\src\objective\objective.cc:26: Unknown objective function: `{'objective': 'binary:logistic', 'eta': 0.02, 'max_depth': 4}`
Objective candidate: survival:aft
Objective candidate: binary:hinge
Objective candidate: multi:softprob
Objective candidate: multi:softmax
Objective candidate: rank:ndcg
Objective candidate: rank:map
Objective candidate: rank:pairwise
Objective candidate: reg:squaredlogerror
Objective candidate: reg:logistic
Objective candidate: binary:logistic
Objective candidate: reg:gamma
Objective candidate: reg:tweedie
Objective candidate: count:poisson
Objective candidate: survival:cox
Objective candidate: binary:logitraw
Objective candidate: reg:linear
Objective candidate: reg:squarederror
4

1 回答 1

1

猜测您必须使用 GridSearch 技术来找出最佳超参数甚至明确指定它,将字典对象param_dict作为参数传递给 XGBoost 分类器方法的正确方法是 -

clf = xgb.XGBClassifier(**param_dict)
于 2020-06-13T02:53:54.240 回答