1
私は現在、100の異なる変数に基づいて構築されているランダムなフォレストを持っています。ランダムフォレストを構築してパフォーマンスを向上させるために「最も重要な」変数のみを選択できるようにしたいが、rf $重要度から重要性を得る以外にどこから始めるべきかわからない。ランダムフォレスト変数の選択
私のデータは、すべてがスケーリングされた数値変数で構成されています。以下は
私のRFコードです:
rf.2 = randomForest(x~., data=train,importance=TRUE, ntree=1501)
#train
rf_prob_train = data.frame(predict(rf.2, newdata=train, type="prob"))
rf_prob_train <-data.frame(rf_prob_train$X0)
val_rf_train<-cbind(rf_prob_train,train$x)
names(val_rf_train)<-c("Probs","x")
##Run accuracy ratio
x<-data.frame(rcorr.cens(-val_rf_train$Probs, val_rf_train$x))
rf_train_AR<-x[2,1]
rf_train_AR
#test
rf_prob_test = data.frame(predict(rf.2, test, type="prob"))
rf_prob_test <-data.frame(rf_prob_test$X0)
val_rf_test<-cbind(rf_prob_test,test$x)
names(val_rf_test)<-c("Probs","x")
##Run accuracy ratio
x<-data.frame(rcorr.cens(-val_rf_test$Probs, val_rf_test$x))
rf_test_AR<-x[2,1]
rf_test_AR
多変数である可能性のある変数を知っているか考えていますか?私は、マルチライン変数の数を減らすことが助けになることを発見しました。また、連続変数を正規化していますか?それも私にとってパフォーマンスの向上をもたらしました。しかし、ええ、ちょうどそれらを$重要性で呼び出すことは基本的にどのように行われます。あなたは説明した%分散を見ることもできますが、多かれ少なかれ同じことを言います。 – SeldomSeenSlim
これはありがとう、私は実際に正確に何かを知っていないが、私は教育的な推測を持つことができます。一度私がそれらを$重要と呼んだら、もっと重要なものだけを含む次のステップを行う方法を知っていますか?現在私はちょうど私の変数とMeanDecreaseGiniのリストを持っています – user2902494
あなたはあなたが保持したいものと拒否したいものを自分で決定しなければなりません。 MeanDecreaseGiniを見ると、漸近的に見えますか?あなたは変曲点について上記のすべてをつかみ、残りを残すかもしれません。あなたが分散のようなものに基づいてヘルプのサブ設定が必要な場合は、コメントを書き留めておきます。 – SeldomSeenSlim