0
XGBoostのearly.stop.round
機能を活用して、過大トレーニングではないトレーニングを行いたいと考えています。私は、ウォッチリストのためtrain
とtest
xgb.DMatrix
を作成し、xgboost()
に渡し、必要に応じので検証データに関するXGBostモデルのパフォーマンスレポート
param2 <- list("objective" = "reg:linear",
"eval_metric" = "rmse",
"max_depth" = 15,
"eta" = 0.03,
"gamma" = 0,
"subsample" = 0.5,
"colsample_bytree" = 0.6,
"min_child_weight" = 5,
"alpha" = 0.15)
watchlist <- list(train = xgb.DMatrix(data = train_matrix, label = output_train),
test = xgb.DMatrix(data = total_matrix[ind, ], label = as.matrix(output_total[ind, ])))
bst <- xgboost(data=train_matrix, label=output_train, nrounds = 500, watchlist = watchlist,
early.stop.round=5,verbose = 2, param=param2, missing = NaN)
:このために私は次のコードを使用します。中間結果を印刷するにはverbose
があることを確認しました。
[74] train-rmse:0.129515
[75] train-rmse:0.128455
[76] train-rmse:0.127804
[77] train-rmse:0.126874
[78] train-rmse:0.125914
をしかし、これのどれも私のテストDMatrixのための各ステップでのモデルの性能を付与するものではありません:verbose=1
で私に与えながら
tree prunning end, 1 roots, 1692 extra nodes, 0 pruned nodes ,max_depth=15
[74] train-rmse:0.129515
tree prunning end, 1 roots, 1874 extra nodes, 0 pruned nodes ,max_depth=15
[75] train-rmse:0.128455
tree prunning end, 1 roots, 1826 extra nodes, 0 pruned nodes ,max_depth=15
[76] train-rmse:0.127804
tree prunning end, 1 roots, 1462 extra nodes, 0 pruned nodes ,max_depth=15
[77] train-rmse:0.126874
tree prunning end, 1 roots, 1848 extra nodes, 0 pruned nodes ,max_depth=15
[78] train-rmse:0.125914
:しかしverbose=2
で、私は次のようにログを取得します。また、私は成功せずに試してみました:
verbose=T
とverbose=F
。- 私が所望の出力を得るために行方不明です何
validation
にtest
DMatrixの名前を変更します。