1

rfeパッケージの関数を使用しcaretて、合計 8000 サンプルで、約 50 の異なるクラスに属する 400 の変数に対して機能選択を実行しようとしています。データを約 5 つのクラスと 10 の変数にサブセット化すると、すべてがうまく機能します。ただし、データセット全体を含めると、R は約 32 時間実行されてから、R GUI has stopped working. データを 100 個の変数と 1000 個のサンプルにサブセット化しようとしましたが、同じことが起こりました。44 の変数と 44 のクラスに属する約 3000 のサンプルのまったく異なるデータセットを使用してみました。しかし、1 日ほどすると、R が応答しなくなり、シャットダウンします。iris再現性のために、データセットで同じコードを試しました。

iris$Species <- as.factor(as.character(iris$Species))
IND.svm <- rfe(iris[,-1],iris$Species,
               sizes = c(2, 5, 10,30),
               rfeControl = rfeControl(functions = caretFuncs,
                                       verbose = FALSE,number = 2000),
                                 method = "svmRadial")

Windows 7 を実行しているため、推奨doMCパッケージを使用できません。32G RAM を搭載したマシンで、最新の 64 ビット R バージョンを使用しました。まだ成功していません。ここで見落としているものはありますか?

4

1 に答える 1

1

問題は、 2000のブートストラップ サンプルを実行していることだと思います。引数tuneLengthの値が でT、5 つのサブセット サイズをテストしているとします。10000*Tこれらの仕様では、8000 個のサンプルと 400 個の変数を含むデータ セットに SVM モデルを当てはめています。

多分私はそれを低めにしますが、通常は 50 回を超えるリサンプルを行いません (トレーニング セットが非常に小さい場合を除きます)。ここでは基本的に平均を推定しようとしています (ブートストラップの従来の使用法とは異なります)。特にそのサンプルサイズでは、25 または 50 で十分です。

rfeは、リサンプルごとに特徴選択プロセス全体を複製するため、計算が実際に加算されることを忘れないでください。

マックス

于 2013-10-19T19:33:07.490 に答える