2017-02-18 9 views
0

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' 
       ) 

答えて

0
  • 回答1:ビューのいいえ、バイアス変動からの最高のが、十分 トレードオフポイント。
  • 回答2:動作しますが、コードに問題がある可能性があります。これを証明するために、昇圧のステップごとにAUCを設定してください。 100%確実であれば、XGBoost gitプロジェクトでエラーチケットを送信できます。
  • 回答3:Maximize=FALSEは、カスタム最適化機能用です(カスタムmerrorタイプのもの)。あなたは常にAUCを最大化/増加させたいので、Maximize=TRUEがあなたのために良いです。
  • 回答4:そのほとんどは位置ベースです。最初に部隊を訓練する。次に、検証/評価に進む必要があります。
関連する問題