Я использую xgb.train() в пакете xgboost R для соответствия модели классификации. Я пытаюсь выяснить, какая самая лучшая итерация, чтобы остановить дерево. Я устанавливаю early_stop_rounds = 6 и, наблюдая за каждой меткой итерации, я могу ясно видеть, что производительность auc на данных валидации достигает max и затем уменьшается. Однако модель не останавливается и продолжается до тех пор, пока не будет достигнут определенный уровень.xgboost R пакет early_stop_rounds не запускается
Вопрос 1: Является ли это лучшей моделью (для заданного параметра), определенной на итерации, когда эффективность проверки начинает уменьшаться?
Вопрос 2: Почему модель не останавливается, когда auc при проверке начинает уменьшаться?
Вопрос 3: Как максимизируется параметр = FALSE? Что остановит его, если установлено значение ЛОЖЬ? он должен быть FALSE, когда установлен параметр early_stop_round?
Вопрос 4: Как модель знает, какая из них - данные проверки в списке наблюдения? Я видел, как люди используют test =, eval =, validation1 = и т. Д.?
Спасибо!
param<-list(
objective="binary:logistic",
booster="gbtree",
eta=0.02, #Control the learning rate
max.depth=3, #Maximum depth of the tree
subsample=0.8, #subsample ratio of the training instance
colsample_bytree=0.5 # subsample ratio of columns when constructing each tree
)
watchlist<-list(train=mtrain,validation=mtest)
sgb_model<-xgb.train(params=param, # this is the modeling parameter set above
data = mtrain,
scale_pos_weight=1,
max_delta_step=1,
missing=NA,
nthread=2,
nrounds = 500, #total run 1500 rounds
verbose=2,
early_stop_rounds=6, #if performance not improving for 6 rounds, model iteration stops
watchlist=watchlist,
maximize=FALSE,
eval.metric="auc" #Maximize AUC to evaluate model
#metric_name = 'validation-auc'
)