我正在使用 lightgbm 来执行机器学习任务。
我想使用早期停止来找到给定多个超参数的最佳树数。
然而,lgbm 停止种植树木,同时仍在改进我的评估指标。
下面我附上了我的规格:
params = {
'max_bin' : [128],
'num_leaves': [8],
'reg_alpha' : [1.2],
'reg_lambda' : [1.2],
'min_data_in_leaf' : [50],
'bagging_fraction' : [0.5],
'learning_rate' : [0.001]
}
mdl = lgb.LGBMClassifier(n_jobs=-1, n_estimators=7000,
**params)
mdl.fit(X_train, y_train, eval_metric='auc',
eval_set=[(X_test, y_test)], early_stopping_rounds=2000,
categorical_feature=categorical_features, verbose=5)
After some time lightgbm gives me the following result:
![example](https://i.stack.imgur.com/qdZXu.png)
lgbm 得出结论,auc 0.7326 并不好于 0.70995,因此停止。
我究竟做错了什么?