xgbostrain()をxgboost Rパッケージに使用して分類モデルに適合させています。私はツリーを止めるのに何が最善の反復であるかを理解しようとしています。 early_stop_rounds = 6を設定し、各反復のメトリックを確認することで、検証データのaucパフォーマンスが最大値に達した後に減少することがわかります。しかし、モデルは停止せず、指定された周囲に達するまで続行します。xgboost Rパッケージearly_stop_roundsがトリガーしない
質問1:検証のパフォーマンスが低下し始めたら、反復時に定義されたモデル(指定されたパラメータに対して)が最適ですか?
質問2:検証時にaucが減少し始めたら、モデルが停止しないのはなぜですか?
質問3:Maximize parameter = FALSEはどういう意味ですか?それがFALSEに設定されている場合、何を停止させるのでしょうか? early_stop_roundが設定されている場合はFALSEでなければなりませんか?
質問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'
)