2011-07-08 4 views
11

मेरे पास डेटाफ़्रेम है। पहले कॉलम में मेरे अनुमानित स्कोर (0 से 100 तक की श्रेणी, वर्ग ए में छोटे मान होने की उम्मीद है, मेरे मॉडल के लिए बड़े मूल्य वर्ग बी में होने की उम्मीद है), दूसरे कॉलम में प्रविष्टियों का वास्तविक वर्गीकरण होता है (या तो " कक्षा ए "या" कक्षा बी ")।आर: भविष्यवाणी मॉडल के लिए भ्रम मैट्रिक्स कैसे बनाएं?

विभिन्न कट ऑफ मानों के लिए आर के साथ भ्रम मैट्रिक्स कैसे प्राप्त करें, क्योंकि मैं यह तय नहीं कर सकता कि मुझे मूल्य < 20 या < 50 को कक्षा ए के रूप में परिभाषित करना चाहिए?

आर के साथ तुलनात्मक रूप से तुलना कैसे करें?

उत्तर

18

तरीके यह करने के लिए की एक संख्या है, अपने डेटा के साथ एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण वांछनीय हो गया होता:

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 

देता है तो यह कहते हैं 32 ए के तहत 50 और 34 बी के थे 50 से अधिक थे, जबकि 18 ए 50 से अधिक (गलत तरीके से वर्गीकृत) थे और 16 बी 50 से कम (गलत वर्गीकृत)

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

  A B 
    FALSE 8 40 
    TRUE 42 10 

इस उदाहरण में देता है, चुने हुए नमूने के कारण, अपने वर्गीकरण काफी बेहतर है।

इस में '50' तो कुछ भी आप चाहते हैं, 20, 30, आदि के लिए बदला जा सकता है

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

अगर आप 50 की तुलना में कम भविष्यवाणियों की जरूरत नहीं है काम नहीं करता है, के बाद से तालिका केवल पैदा करता है एक वास्तविक पंक्ति और 4 * 4 मैट्रिक्स नहीं। – Rhubarb

+0

मैंने सामान्यीकृत करने के लिए उत्तर संपादित किया। * (मेरा मतलब उपर्युक्त टिप्पणी में 2 * 2 मैट्रिक्स था)। – Rhubarb