RandomForest เลือกการถดถอยแทนการจัดหมวดหมู่


12

ฉันใช้แพคเกจrandomForestใน R และใช้ข้อมูล iris ป่าสุ่มที่สร้างขึ้นเป็นการจัดหมวดหมู่ แต่เมื่อฉันใช้ชุดข้อมูลที่มีคุณสมบัติประมาณ 700 รายการ (คุณสมบัติคือแต่ละพิกเซลในภาพขนาด 28x28 พิกเซล) และคอลัมน์ชื่อมีชื่อlabelที่randomForestสร้างขึ้นคือการถดถอย ฉันใช้บรรทัดต่อไปนี้:

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

ทำไมการถดถอยจึงถูกนำมาใช้แทนการจำแนก? read.csv()ข้อมูลจะถูกอ่านผ่าน

คำตอบ:


10

RandomForest จะใช้ค่าเริ่มต้นในการจำแนกหรือการถดถอยโดยขึ้นอยู่กับคลาสของตัวแปร ดังนั้นหากคุณพิมพ์

class(iris$Species)

คุณจะเห็นว่ามันเป็นปัจจัย 'label' ในรหัสของคุณน่าจะเป็นตัวเลขดังนั้นค่าเริ่มต้นจากการสุ่มสำหรับการถดถอย คุณจะต้องแปลงเป็นปัจจัยในการจัดหมวดหมู่ คุณสามารถแปลงมันหรืออ่านมันเป็นปัจจัยโดยการตั้งค่า colClasses ใน read.table


4

ส่วนใหญ่มักเป็นเพราะคุณไม่ได้บอก R ว่า label เป็นตัวแปรเด็ดขาด read.csvฟังก์ชั่นพยายามที่จะคาดเดาสิ่งที่ประเภทที่จะใช้สำหรับแต่ละคอลัมน์และถ้ามันดูเหมือนจะเป็นคอลัมน์ที่เป็นตัวเลขแล้วว่าเป็นสิ่งที่มันจะใช้ คุณสามารถตรวจสอบว่า R เก็บตัวแปรโดยใช้strฟังก์ชันได้อย่างไร คุณสามารถบังคับread.csvให้อ่านตัวแปรเป็นปัจจัย (หรือตัวเลขหรือ ... ) โดยใช้colClassesอาร์กิวเมนต์ หรือคุณสามารถเปลี่ยนฉลากเป็นปัจจัยหลังจากอ่านได้โดยใช้factorฟังก์ชั่น

หากไม่เป็นเช่นนั้นเราต้องการข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลของคุณ ผลลัพธ์จากการทำงานstrบน data frame ของคุณน่าจะมีประโยชน์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.