2012-09-11 31 views
6

Sınıflandırma görevi için R platformunda randomForest paketini kullanıyorum. Burada k 0,1 ile 0,9 arasında değişir.ROC eğrisi sınıflandırması için randomForest

pred <- predict(rf_object,test_data_matrix) 

Rastgele orman sınıflandırıcısından çıktı aldım ve bunları etiketlerle karşılaştırdım. Bu nedenle, 9 kesme noktası için doğruluk, MCC, hassasiyet, özgüllük, vb. Gibi performans ölçümlerine sahibim.

Şimdi, ROC eğrisini çizmek ve performansın ne kadar iyi olduğunu görmek için ROC eğrisinin altındaki alanı elde etmek istiyorum. R (ROCR, pROC gibi) paketlerin çoğu tahmin ve etiket gerektiriyor ancak duyarlılık (TPR) ve özgüllük (1-FPR) var.

Kesilme yöntemi ROC eğrisi üretmek için doğru veya güvenilir ise herhangi biri bana önerebilir mi? ROC eğrisi ve TPR ve FPR kullanarak eğri altındaki alan elde etmek için herhangi bir yol biliyor musunuz?

Ayrıca rasgele ormanı eğitmek için aşağıdaki komutu kullanmayı denedim. Bu şekilde tahminler sürekli ve ROCR ve pROC paketlerinde kabul edildi. Ancak, bunun doğru bir yol olup olmadığından emin değilim. Herhangi biri bana bu yöntem hakkında önerebilir mi?

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

Sorunumu okuduğunuz zaman ayırdığınız için teşekkür ederiz! Bunun için uzun zaman geçirdim. Öneri/öneriniz için teşekkür ederiz.

cevap

13

Neden sınıf olasılıklarını çıkarmıyorsunuz? Bu şekilde, tahminlerinizin bir sıralamasına sahipsiniz ve bunu herhangi bir ROC paketine doğrudan girebilirsiniz. bir sınıflandırma aracı olarak randomForest kullanımı,

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

Not labels faktörü için bir vektör olması gerekir.

İlgili konular