randomForest वर्गीकरण के बजाय प्रतिगमन चुनता है


12

मैं आर में randomForest पैकेज का उपयोग कर रहा हूं और आईरिस डेटा का उपयोग कर रहा है, उत्पन्न यादृच्छिक वन एक वर्गीकरण है लेकिन जब मैं लगभग 700 सुविधाओं के साथ एक डेटासेट का उपयोग करता हूं (सुविधाएँ एक 28x28 पिक्सेल छवि में प्रत्येक पिक्सेल हैं) और लेबल कॉलम का नाम है label, randomForestउत्पन्न प्रतिगमन है। मैं निम्नलिखित पंक्ति का उपयोग कर रहा हूं:

rf <- randomForest(label ~ ., data=train)

वर्गीकरण के बजाय प्रतिगमन का उपयोग कैसे किया जाता है? डेटा के माध्यम से पढ़ा जाता है read.csv()

जवाबों:


10

randomForest वैरिएबल की श्रेणी के आधार पर वर्गीकरण या प्रतिगमन के लिए डिफ़ॉल्ट होगा। तो अगर आप टाइप करते हैं

class(iris$Species)

आप देखेंगे कि यह एक कारक है। आपके कोड में 'लेबल', सबसे अधिक संभावना संख्यात्मक है, इसलिए यादृच्छिकता प्रतिगमन में चूक करता है। आपको इसे वर्गीकरण के लिए एक कारक में बदलना होगा। आप इसे पढ़ सकते हैं या read.table में colClasses सेट करके इसे एक कारक के रूप में पढ़ सकते हैं।


4

ज्यादातर ऐसा इसलिए होता है क्योंकि आपने R को नहीं बताया कि लेबल एक श्रेणीगत चर है। read.csvसमारोह की कोशिश करता कि किस प्रकार प्रत्येक स्तंभ के लिए उपयोग करने के लिए लगता है कि करने के लिए और यह एक संख्यात्मक स्तंभ की तरह लग रहा है तो यह है कि यह क्या उपयोग करेगा। आप चेक कर सकते हैं कि R strफंक्शन का उपयोग करके वेरिएबल को कैसे स्टोर करता है। आप तर्क read.csvका उपयोग करके कारक (या संख्यात्मक, या ...) के रूप में चर को पढ़ने के लिए मजबूर कर सकते हैं colClasses। या आप factorफ़ंक्शन का उपयोग करके इसे पढ़ने के बाद लेबल को एक कारक में बदल सकते हैं ।

यदि ऐसा नहीं है तो हमें आपके डेटा के बारे में अधिक जानकारी चाहिए। strआपके डेटा फ़्रेम पर चलने के परिणाम संभवतः उपयोगी होंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.