จัดระเบียบแผนภูมิการจัดหมวดหมู่ (ใน rpart) เป็นชุดของกฎหรือไม่


11

มีวิธีที่เมื่อต้นไม้การจำแนกที่ซับซ้อนถูกสร้างขึ้นโดยใช้ rpart (ใน R) เพื่อจัดระเบียบกฎการตัดสินใจสำหรับแต่ละชั้นหรือไม่? ดังนั้นแทนที่จะได้รับต้นไม้ใหญ่หนึ่งต้นเราจะได้ชุดของกฎสำหรับแต่ละชั้นเรียน

(ถ้าเป็นเช่นนั้นได้อย่างไร)

นี่คือตัวอย่างรหัสง่ายๆที่จะแสดงตัวอย่างใน:

fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis)

ขอบคุณ

คำตอบ:


9

ฟังก์ชั่นดังกล่าว (หรือปิด) ดูเหมือนจะมีอยู่ในแพ็คเกจสั่นสะเทือนตามที่อธิบายไว้ในRJournal 1/2 2009 (หน้า 50) แม้ว่าฉันจะตรวจสอบจากบรรทัดคำสั่งเท่านั้น

สำหรับตัวอย่างของคุณมันให้ผลลัพธ์ต่อไปนี้:

 Rule number: 3 [Kyphosis=present cover=19 (23%) prob=0.58]
   Start< 8.5

 Rule number: 23 [Kyphosis=present cover=7 (9%) prob=0.57]
   Start>=8.5
   Start< 14.5
   Age>=55
   Age< 111

 Rule number: 22 [Kyphosis=absent cover=14 (17%) prob=0.14]
   Start>=8.5
   Start< 14.5
   Age>=55
   Age>=111

 Rule number: 10 [Kyphosis=absent cover=12 (15%) prob=0.00]
   Start>=8.5
   Start< 14.5
   Age< 55

 Rule number: 4 [Kyphosis=absent cover=29 (36%) prob=0.00]
   Start>=8.5
   Start>=14.5

ในการรับเอาต์พุตนี้ฉันจะส่งrattle/R/rpart.Rไฟล์ต้นฉบับ (จากแพ็คเกจต้นทาง) ในเวิร์กสเปซของฉันหลังจากลบการเรียกสองสายไปRtxt()ยังasRules.rpart()ฟังก์ชัน (คุณสามารถแทนที่ด้วยprint) จากนั้นฉันก็พิมพ์

> asRules(fit)

เป็นไปได้ไหมที่จะพิมพ์กฎสำหรับใบไม้ที่ไม่ใช่ขั้วเช่นกัน
user1700890

3

rpart.plot แพคเกจรุ่น 3.0 (กรกฎาคม 2018) มีฟังก์ชั่น rpart.rulesสำหรับการสร้างชุดของกฎสำหรับต้นไม้ ตัวอย่างเช่น

library(rpart.plot)
fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis)
rpart.rules(fit)

จะช่วยให้

Kyphosis
    0.00 when Start >=      15
    0.00 when Start is 9 to 15 & Age <  55
    0.14 when Start is 9 to 15 & Age >=       111
    0.57 when Start is 9 to 15 & Age is 55 to 111
    0.58 when Start <  9

สำหรับตัวอย่างเพิ่มเติมโปรดดูบทที่ 4 ของ บทความ rpart.plot


การอ้างอิงที่ยอดเยี่ยมมันจะเป็นประโยชน์อย่างมากหากมีหมายเลขใบไม้ถัดจากกฎ
user1700890

1
ใช้rpart.rules(fit, nn=TRUE)เพื่อรับหมายเลขโหนด (หรือหมายเลขใบไม้)
Stephen Milborrow
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.