RandomForest - MDS प्लॉट व्याख्या


14

मैंने 8 चर (विभिन्न शरीर मुद्राओं और चालन) के आधार पर 6 जानवरों के व्यवहार (उदाहरण के लिए खड़े, चलना, तैरना आदि) को वर्गीकृत करने के लिए यादृच्छिक रूप से उपयोग किया।

RandomForest पैकेज में MDSplot मुझे यह आउटपुट देता है और मुझे परिणाम की व्याख्या करने में समस्या है। मैंने एक ही डेटा पर एक PCA किया और PC1 और PC2 में सभी वर्गों के बीच पहले से ही अच्छा तालमेल बैठा लिया, लेकिन यहाँ Dim1 और Dim2 सिर्फ 3 व्यवहार को अलग करते हैं। क्या इसका मतलब यह है कि ये तीनों व्यवहार अन्य सभी व्यवहारों की तुलना में अधिक भिन्न हैं (इसलिए एमडीएस चर के बीच सबसे बड़ी असमानता को खोजने की कोशिश करता है, लेकिन जरूरी नहीं कि सभी चर पहले चरण में हों)? तीन समूहों की स्थिति क्या है (जैसे कि Dim1 और Dim2 में) इंगित करता है? चूंकि मैं आरआई के लिए नया हूं, इसलिए इस प्लॉट के लिए एक किंवदंती की साजिश रचने में भी समस्याएं हैं (हालांकि मुझे इस बात का अंदाजा है कि अलग-अलग रंगों का क्या मतलब है), लेकिन शायद कोई मदद कर सकता है? बहुत बहुत धन्यवाद!!

6 अलग-अलग जानवरों के व्यवहार के रैंडमफॉरस्ट एमडीएसप्लॉट

मैं रैंडमफोरेस्ट में क्लासकेंटर फ़ंक्शन के साथ किए गए एक प्लॉट को जोड़ता हूं। यह फ़ंक्शन प्रोटोटाइप प्लॉटिंग के लिए निकटता मैट्रिक्स (एमडीएस प्लॉट में भी) का उपयोग करता है। लेकिन सिर्फ छह अलग-अलग व्यवहारों के लिए डेटा पॉइंट्स को देखने से, मैं समझ नहीं पा रहा हूं कि निकटता मैट्रिक्स मेरे प्रोटोटाइप को प्लॉट क्यों करेगा जैसा कि यह करता है। मैंने आईरिस डेटा के साथ क्लासकेंटर फ़ंक्शन की भी कोशिश की और यह काम करता है। लेकिन ऐसा लगता है कि यह मेरे डेटा के लिए काम नहीं करता है ...

इस कोड को मैंने इस प्लॉट के लिए इस्तेमाल किया है

be.rf <- randomForest(Behaviour~., data=be, prox=TRUE, importance=TRUE)
class1 <- classCenter(be[,-1], be[,1], be.rf$prox)
Protoplot <- plot(be[,4], be[,7], pch=21, xlab=names(be)[4], ylab=names(be)[7], bg=c("red", "green", "blue", "yellow", "turquoise", "orange") [as.numeric(factor(be$Behaviour))])
points(class1[,4], class1[,7], pch=21, cex=2, bg=c("red", "green", "blue", "yellow", "turquoise", "orange"))

मेरा वर्ग स्तंभ पहले वाला है, उसके बाद 8 भविष्यवक्ता हैं। मैंने x और y के रूप में दो सर्वश्रेष्ठ भविष्यवक्ता चरों की साजिश रची।

6 अलग-अलग जानवरों के व्यवहार के लिए रैंडम फ़ॉर क्लासकेंटर प्लॉट

जवाबों:


10

फ़ंक्शन MDSplot निकटता मैट्रिक्स के (PCA) प्लॉट करता है। यादृच्छिक के लिए प्रलेखन से, निकटता मैट्रिक्स है:

इनपुट के बीच निकटता माप का एक मैट्रिक्स (आवृत्ति के आधार पर डेटा बिंदुओं के जोड़े एक ही टर्मिनल नोड्स में हैं)।

इस विवरण के आधार पर, हम अनुमान लगा सकते हैं कि विभिन्न भूखंडों का क्या अर्थ है। आपको k = 4 निर्दिष्ट लगता है, जिसका अर्थ है कि 4 घटकों में निकटता मैट्रिक्स का अपघटन। भूखंडों के इस मैट्रिक्स में प्रत्येक प्रविष्टि (i, j) के लिए, जो प्लॉट किया गया है वह आयाम j के साथ आयाम I बनाम PCA अपघटन के साथ PCA अपघटन है।

मैंने एक ही डेटा पर एक PCA किया और PC1 और PC2 में सभी वर्गों के बीच पहले से ही अच्छा तालमेल बैठा लिया, लेकिन यहाँ Dim1 और Dim2 सिर्फ 3 व्यवहार को अलग करते हैं। क्या इसका मतलब यह है कि ये तीनों व्यवहार अन्य सभी व्यवहारों की तुलना में अधिक भिन्न हैं (इसलिए एमडीएस चर के बीच सबसे बड़ी असमानता को खोजने की कोशिश करता है, लेकिन जरूरी नहीं कि सभी चर पहले चरण में हों)?

एमडीएस केवल अपने यादृच्छिकतम के उत्पादन पर अपने विश्लेषण को आधार बना सकता है। यदि आप एक बेहतर अलगाव की उम्मीद कर रहे हैं, तो आप अपने यादृच्छिक प्रदर्शन के वर्गीकरण प्रदर्शन की जांच करना चाहते हैं। एक और बात का ध्यान रखें कि आपका पीसीए 9-आयामी डेटा से 2 आयामों तक मैप कर रहा है, लेकिन एमडीएस एक एनएक्सएन-आयामी निकटता मैट्रिक्स से 2 आयामों तक मैप कर रहा है, जहां एन डेटापॉइंट की संख्या है।

तीन समूहों की स्थिति क्या है (जैसे कि Dim1 और Dim2 में) इंगित करता है?

यह आपको बताता है कि ये समूह एक दूसरे से कितने दूर (अपेक्षाकृत) अलग हैं। यह एक दृश्य सहायता है, इसलिए मैं इसकी अधिक व्याख्या नहीं करूंगा।

चूंकि मैं आरआई के लिए नया हूं, इसलिए इस प्लॉट के लिए एक किंवदंती की साजिश रचने में भी समस्याएं हैं (हालांकि मुझे इस बात का अंदाजा है कि अलग-अलग रंगों का क्या मतलब है), लेकिन शायद कोई मदद कर सकता है?

जिस तरह से R काम करता है, उसके बाद (वास्तव में मतलब के विपरीत, जहां यह जानकारी आंकड़ा वस्तु के अंदर संग्रहीत होती है) के बाद किंवदंती को साजिश करने का कोई तरीका नहीं है। हालाँकि, MDSplot के कोड को देखते हुए, हम देखते हैं कि संबंधित कोड ब्लॉक है:

palette <- if (require(RColorBrewer) && nlevs < 12) brewer.pal(nlevs, "Set1")

...

plot(rf.mds$points, col = palette[as.numeric(fac)], pch = pch, ...)

तो रंगों को उस पैलेट से लिया जाएगा, और आपके द्वारा उन्हें दिए गए आदेश में से स्तरों (व्यवहारों) तक मैप किया जाएगा। इसलिए यदि आप एक किंवदंती की साजिश करना चाहते हैं:

legend(x,y,levels(fac),col=brewer.pal(nlevs, 'Set1'), pch=pch)

शायद काम करेगा।


आपके उत्तर के लिए बहुत बहुत धन्यवाद, यह वास्तव में उपयोगी है !! मेरे यादृच्छिक वन मॉडल का वर्गीकरण प्रदर्शन काफी अच्छा है (ओओबी त्रुटि दर 4.94% और सीवी के साथ 95% की सटीकता), यही कारण है कि मुझे एमडीएस भूखंड में बेहतर अलगाव की उम्मीद थी। मैंने कक्षाओं के प्रोटोटाइप के लिए फ़ंक्शन क्लासकेंटर के साथ एक आंकड़ा प्लॉट करने की कोशिश की (मैंने आरएफ मैनुअल में आईरिस उदाहरण का पालन किया), लेकिन फ़ंक्शन भी निकटता मैट्रिक्स का उपयोग करता है, प्रोटोटाइप सिर्फ समझ में नहीं आता है। लेकिन इस साजिश में यह स्पष्ट है कि कक्षाएं अच्छी तरह से अलग हो जाती हैं, लेकिन प्रोटोटाइप नहीं करते हैं।
पैट

मैं ऊपर दिए गए अपने प्रश्न में ClassCenter प्लॉट जोड़ूंगा। मैंने यह भी सोचा कि मेरे भविष्यवक्ताओं के अलग-अलग पैमाने समस्या हो सकते हैं, लेकिन ऐसा लगता है कि यादृच्छिक वन का उपयोग करते समय स्केलिंग आवश्यक नहीं है। मैंने अभी-अभी लेजेंड कमांड की कोशिश की, लेकिन यह काम नहीं किया, लेकिन मुझे लगता है कि यह शायद मुझसे गलती है। कल एक और कोशिश देंगे। एक बार फिर धन्यवाद!
पैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.