R - ต้นไม้ตัดสินใจ
ต้นไม้ตัดสินใจคือกราฟเพื่อแสดงตัวเลือกและผลลัพธ์ในรูปแบบของต้นไม้ โหนดในกราฟแสดงถึงเหตุการณ์หรือทางเลือกและขอบของกราฟแสดงถึงกฎหรือเงื่อนไขการตัดสินใจ ส่วนใหญ่จะใช้ในแอปพลิเคชัน Machine Learning และ Data Mining โดยใช้ R
ตัวอย่างของการใช้การตัดสินใจคือ - การทำนายอีเมลว่าเป็นสแปมหรือไม่ใช่สแปมการทำนายเนื้องอกเป็นมะเร็งหรือการคาดการณ์เงินกู้ว่าเป็นความเสี่ยงด้านเครดิตที่ดีหรือไม่ดีขึ้นอยู่กับปัจจัยในแต่ละข้อ โดยทั่วไปโมเดลจะถูกสร้างขึ้นด้วยข้อมูลที่สังเกตได้หรือที่เรียกว่าข้อมูลการฝึกอบรม จากนั้นชุดข้อมูลการตรวจสอบจะถูกใช้เพื่อตรวจสอบและปรับปรุงโมเดล R มีแพ็คเกจที่ใช้ในการสร้างและแสดงภาพแผนผังการตัดสินใจ สำหรับตัวแปรทำนายชุดใหม่เราใช้แบบจำลองนี้เพื่อตัดสินใจเกี่ยวกับหมวดหมู่ (ใช่ / ไม่ใช่สแปม / ไม่ใช่สแปม) ของข้อมูล
แพ็คเกจ R "party" ใช้ในการสร้างต้นไม้การตัดสินใจ
ติดตั้งแพ็คเกจ R
ใช้คำสั่งด้านล่างใน R console เพื่อติดตั้งแพ็คเกจ คุณต้องติดตั้งแพ็กเกจที่เกี่ยวข้องด้วยถ้ามี
install.packages("party")
แพ็กเกจ "ปาร์ตี้" มีฟังก์ชัน ctree() ซึ่งใช้ในการสร้างและวิเคราะห์ต้นไม้ Decison
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับการสร้างแผนผังการตัดสินใจใน R คือ -
ctree(formula, data)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
formula เป็นสูตรที่อธิบายตัวทำนายและตัวแปรตอบสนอง
data คือชื่อของชุดข้อมูลที่ใช้
ป้อนข้อมูล
เราจะใช้ชุดข้อมูลในตัว R ที่ชื่อ readingSkillsเพื่อสร้างแผนผังการตัดสินใจ อธิบายถึงคะแนนของการอ่านทักษะของผู้อื่นหากเราทราบตัวแปร "อายุ" "ขนาดรองเท้า" "คะแนน" และบุคคลนั้นเป็นเจ้าของภาษาหรือไม่
นี่คือข้อมูลตัวอย่าง
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Print some records from data set readingSkills.
print(head(readingSkills))
เมื่อเรารันโค้ดด้านบนจะสร้างผลลัพธ์และแผนภูมิต่อไปนี้ -
nativeSpeaker age shoeSize score
1 yes 5 24.83189 32.29385
2 yes 6 25.95238 36.63105
3 no 11 30.42170 49.60593
4 yes 7 28.66450 40.28456
5 yes 11 31.88207 55.46085
6 yes 10 30.07843 52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................
ตัวอย่าง
เราจะใช้ไฟล์ ctree() เพื่อสร้างโครงสร้างการตัดสินใจและดูกราฟ
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Create the input data frame.
input.dat <- readingSkills[c(1:105),]
# Give the chart file a name.
png(file = "decision_tree.png")
# Create the tree.
output.tree <- ctree(
nativeSpeaker ~ age + shoeSize + score,
data = input.dat)
# Plot the tree.
plot(output.tree)
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
null device
1
Loading required package: methods
Loading required package: grid
Loading required package: mvtnorm
Loading required package: modeltools
Loading required package: stats4
Loading required package: strucchange
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: sandwich
สรุป
จากแผนผังการตัดสินใจที่แสดงด้านบนเราสามารถสรุปได้ว่าใครก็ตามที่มีคะแนนทักษะการอ่านน้อยกว่า 38.3 และอายุมากกว่า 6 ปีจะไม่ใช่เจ้าของภาษา