2012-09-11 39 views
6

分類タスクのためにRプラットフォームでrandomForestパッケージを使用しています。randomForestからの分類のROC曲線

rf_object<-randomForest(data_matrix, label_factor, cutoff=c(k,1-k)) 

ここで、kは0.1~0.9の範囲である。

pred <- predict(rf_object,test_data_matrix) 

ランダムフォレスト分類器からの出力があり、それをラベルと比較しました。だから、私は、精度、MCC、感度、特異性などの性能測定値を9つのカットオフ点について持っています。

ここでは、ROCカーブをプロットして、ROCカーブの下の領域を取得して、パフォーマンスがどれだけ良いかを確認したいと思います。 Rのパッケージ(ROCR、pROCなど)のほとんどは予測とラベルが必要ですが、感度(TPR)と特異性(1-FPR)があります。

ROC曲線を作成するためにカットオフ方法が正しいか信頼できるかどうかは誰にでもわかりますか? TPRとFPRを使用して曲線の下のROC曲線と面積を取得する方法はありますか?

また、以下のコマンドを使用してランダムフォレストをトレーニングしようとしました。この方法では、予測は連続的で、RのROCRpROCパッケージで受け入れられました。しかし、これが正しい方法であるかどうかはわかりません。誰でもこの方法について私に示唆することはできますか?

rf_object <- randomForest(data_matrix, label_vector) 
pred <- predict(rf_object, test_data_matrix) 

私の問題を読んでいただきありがとうございます!私はこれのために長い時間サーフィンをしてきました。あなたの提案/アドバイスをありがとうございます。

答えて

13

クラスの確率を出力しないのはなぜですか?このようにして、あなたはあなたの予測のランク付けをしており、それを直接どんなROCパッケージにも入力できます。

m = randomForest(data_matrix, labels) 
predict(m,newdata_matrix,type='prob') 

分類ツールとしてランダムフォレストを使用するように、注意、labels因子のベクトルでなければなりません。