2017-04-11 17 views
0

rfeを使用する単純なコードを使用して、データの異なる期間に機能を選択します。Rでは、キャレットパッケージのRFE機能が、サイズよりも多くの機能を選択します。

control <- rfeControl(functions=rfFuncs, method="cv", number=10) 
results <- rfe(feature_selection_data 
       , feature_selection_target$value 
       , sizes = c(1:12) 
       , rfeControl = control) 

これは私はリストに値を挿入し実行するたび:私は12の最大サイズを設定しているが、どういうわけか

include <- predictors(results) 
include_list[[row]] <- include 

、2で私は、次のrfeControlrfe関数呼び出しを使用します私の20の期間のうち、特徴の選択は65の特徴(初期のデータセットにおける特徴の総数である)をもたらす。

私はこの機能を初めて使用していますが、ここで間違っていることはわかりません。何か助けてください!

ありがとうございました!

答えて

0

RFEアルゴリズム()の説明を見ると、最初の繰り返しにすべての機能を含める必要があることがわかります。

あなたの次の質問は、おそらくより少ない機能を持つ準最適なモデルを選択する方法でしょう。 (それはあまりにも便利ではないのですが)一つの答えがここで見つけることができます: Access all models produced by rfe in caret

(参照:http://topepo.github.io/caret/recursive-feature-elimination.html#the-selectsize-functionを)私は、エラーの面で最適ではない機能セットを許可するようにランキング関数を調整することをお勧めしますが、それは小さくなっています。