6

私は約 250000 の観測と 50 の予測子 (いくつかは最終的には約 100 の特徴) を持つデータベースに取り組んでおり、blackboost() 関数 (mboost パッケージから) を使用すると問題が発生し、メモリ割り当てエラーが発生します。

同時に、gbm() はデータ量を処理するのに問題はありません。ドキュメントによると、blackboost で使用されるアルゴリズムは gbm と同じです。(" http://cran.r-project.org/web/packages/mboost/mboost.pdf ")。

ある機能がデータベースを管理でき、他の機能が管理できない理由は明らかではありません.

  • gbm にはサブサンプリング戦略 (「bag.fraction」引数で設定) があり、これは blackboost に実装されていないようで、メモリ使用量に影響を与えます。
  • gbm は CART 関数を使用してツリーを構築し、blackboost は巨大なメモリ フットプリントを持つと思われる ctree を使用します ( party:::ctree モデルからトレーニング データを削除するには? )

gbm ではなく mboost で利用できる AUC() 損失関数を使用したいので、blackboost のメモリ使用制限を克服するための提案に興味があります。

もう 1 つの追加の質問です。モデル内の変数の数を減らそうとすると、blackboost から次の新しいエラーが発生します。

Error in matrix(f[ind1], nrow = n0, ncol = n1, byrow = TRUE) : the length of the data [107324] is not a multiple of the number of lines [152107]

AUC勾配関数から来ているようです。

ご協力ありがとうございました。

4

1 に答える 1