Rのマシン学習パッケージ/機能のほぼすべてが、モデルのトレーニング中に相互検証パフォーマンスメトリックを取得できます。私が言うことができるものから、クロスバリデーションされたモデルをxgboost(xgb.cv)でRでクロスバリデーションして保存することはできますか?
、xgboostと相互検証を行うための唯一の方法は、セットアップには、このようなxgb.cv
文です:
clf <- xgb.cv( params = param,
data = dtrain,
nrounds = 1000,
verbose = 1,
watchlist = watchlist,
maximize = FALSE,
nfold = 2,
nthread = 2,
prediction = T
)
それでもprediction = T
のオプションで、あなたは単に予測を取得していますトレーニングデータの結果。 predict
ステートメントの結果オブジェクト(この例ではclf
)を新しいデータで使用する方法はありません。
私の理解は正確であり、回避策はありますか?
私は投稿をより良くすることができるようにdownvoteに関するコメントをいただければ幸いです。 –
downvoterではありませんが、答えは 'xgb.save(bst、" xgboost.model ")'です。ここで、bstは 'xgb.train()'の結果であり、新しいデータセットをロードして予測しますか?相互検証の結果を保存することは、あなたの目標を理解するうえで有用ではないようです。 –