Я не могу понять вывод xgb.cv: 1) это результат одного k-кратного или лучшего k-кратного?2) и по какому принципу набор данных разбивается на обучающий и тестовый наборы - KFold или 0,8 / 0,2?
Когда я запускаю код, я вижу процесс расчета.Останавливается после ранней остановки раундов с лучшим результатом.
Конечно: # параметры модели
num_parallel_tree = 1
subsample = 1
colsample_bytree = 0.4
objective = 'binary:logistic'
learning_rate = 0.05
eval_metric = 'auc'
max_depth = 10
min_child_weight = 4
n_estimators = 5000
seed = 7
#cross-validation parameters
nfold = 5
early_stopping_rounds = 5
bst_cv = xgb.cv(
param,
dtrain,
num_boost_round=n_estimators,
nfold = nfold,
early_stopping_rounds=early_stopping_rounds,
verbose_eval=True
)
results:
[0] train-auc:0.910342+0.0015485 test-auc:0.850442+0.00619299
[1] train-auc:0.956268+0.00132653 test-auc:0.893746+0.00973467
...
[24] train-auc:0.984302+0.000617268 test-auc:0.934326+0.00338043
, а затем - останавливается.