我试图在eval_metric
中使用XGBoost参数,但得到了以下错误:
TypeError: fit() got an unexpected keyword argument 'eval_metric'
这是我的代码:
eval_metric = ["error", "logloss",]
classifier_0=XGBClassifier(objective=objective,booster="gbtree",eval_metric=eval_metric,subsample=0.8,colsample_bytree=1,random_state=1,use_label_encoder=False)
# Fit Model
eval_set = [(X_train, y_train),( X_test, y_test)]
classifier_1.fit(X_train,y_train,eval_metric=eval_metric_list,eval_set=eval_set,verbose=False)
TypeError: 2 different `eval_metric` are provided. Use the one in constructor or `set_params` instead.
发布于 2022-11-11 15:17:21
我也面临着一个类似的问题。在最初定义模型时,似乎需要定义"eval_metric“,而不是在合适的时候。
model=xgb.XGBRegressor(n_estimators=100, eval_metric='rmse')
model.fit(X_train,y_train, early_stopping_rounds=10, eval_set=[(X_test, y_test)], verbose=False)
虽然我认为early_stopping_rounds
in fit
方法也是不可取的,但到目前为止,这只是一个警告。
https://stackoverflow.com/questions/73566400
复制相似问题