2011-07-08 20 views
11

Bir veri karegim var. ilk sütun benim tahmin puanı (0 ile 100 arasında, daha küçük değerlerin A sınıfı olması beklenir, daha büyük değerlerin B sınıfında olması beklenir) benim modelimi içerir, 2. sütun girişlerin gerçek sınıflandırmasını içerir. A sınıfı "veya" B sınıfı ").R: Bir tahmin modeli için karışıklık matrisi nasıl yapılır?

Farklı kesme değerleri için R ile karışıklık matrisi nasıl elde edilir, < 20 veya < 50 değerlerini nerede tanımlamam gerektiğine karar veremiyorum.

Bu karşılaştırma, R ile verimli bir şekilde nasıl yapılır? Bunu yapmanın çeşitli yolları vardır

cevap

18

, sizin verilerle bir tekrarlanabilir örnek arzu olurdu:

set.seed(12345) 
test <- data.frame(pred=c(runif(50,0,75),runif(50,25,100)), group=c(rep("A",50), rep("B",50))) 
table(test$pred<50,test$group) 

  A B 
    FALSE 18 34 
    TRUE 32 16 

verir Yani bu 32 A 50 ve 34 oda yılların altındaydı diyor 50'nin üzerinde iken, 18 A 50 yaşın üzerindeydi (yanlış sınıflandırılmış) ve 16 B 50 yaşın altındaydı (yanlış sınıflandırılmışlar)

Bu örnekte

  A B 
    FALSE 8 40 
    TRUE 42 10 

verir, seçilen örnekleme nedeni, sizin sınıflandırma çok daha iyidir. bunda '50'

ardından vb istediğiniz her şeyi, 20, 30, değiştirilebilir

table(test$pred<50,test$group) 
+1

Eğer 50 daha düşük tahminler yoksa tablo yalnızca üretir, bu durum çalışmıyor DOĞRU bir satır ve 4 * 4 matris değil. – Rhubarb

+0

Genelleştirilecek cevabı düzenledim. * (Yukarıdaki yorumda 2 * 2 matris demek istedim). – Rhubarb

İlgili konular