5 ม.ค. 2022 เวลา 06:00 • การศึกษา
Machine Hee-hee 101 EP6
Decision Tree EP 3
สวัสดีครับผู้อ่านทุกท่าน เป็นยังไงกันบ้างครับสำหรับปีใหม่
สำหรับผมค่อนข้างจะว่างเกินไป จนต้องมานั่งเขียน บทความไว้ล้วงหน้าเลยทีเดียว แฮะ ๆ
สำหรับคร่าวที่แล้ว ผมได้ฝากไป Gain และ Gain Ratio ของ Wind ซึ่งผมได้ค่า Gain และ Gain Ratio แบบนี้ครับ
Gain(S, Wind) = 0.05, GainRatio(S, Wind) = 0.05
สำหรับคราวนี้ ผมจะมาลองคำนวณ Feature Temp ที่ข้อมูลเป็นประเภท "ตัวเลข"
ปัญหาของ Temp ?
เราไม่สามารถแบ่งประเภทได้ เนื่องจากข้อมูลนั้น เป็น "ตัวเลข" (ปัญหาของ ID3) แต่เนื่องจากเราใช้หลักของ C4.5 ดังนั้น เราจึงสามารถนำข้อมูลนี้มาใช้ในการคำนวณได้
หลักการคือเราต้องหาค่าเฉลี่ยของข้อมูลใน Feature ในกรณีนี้เป็น Temp.
สูตรของการหาค่าเฉลี่ย
X bar ของ Temp จะได้ค่าดังนี้
เราสามารถแยกประเภทข้อมูลที่ น้อยกว่าหรือมากกว่าเท่ากับ 73.6
หา Gain(S, Temp) ใน Step 2
Stemp < 73.6 หมายถึงข้อมูลใน Feature Temp ที่มีค่าน้อยกว่า 73.6
Stemp >= 73.6 หมายถึงข้อมูลใน Feature Temp ที่มีค่ามากกว่าหรือเท่ากับ 73.6
Step 2.1 หา |S...|/|S|
ข้อมูล Temp ที่น้อยกว่า 73.6 มีทั้งหมด 8
ข้อมูล Temp มากกว่าเท่ากับ 73.6 มีทั้งหมด 6
|Stemp<73.6| / |S| = 8/14
|Stemp>=73.6| / |S| = 6/14
Step 2.2 หา Gini(Stemp < 73.6) และ Gini(Stemp >= 73.6)
Gini(Stemp < 73.6)
หมายถึง Temp < 73.6 and class = Yes or No
Gini(Stemp>=73.6)
Temp >= 73.6 and Class = Yes or No
Step 2.3 เอาค่าที่ได้จาก 2.1 และ 2.2 มาใช้เพื่อหา Gain
Step 3 หา Gain Ratio จะได้ค่าตามนี้ครับ
ทั้งหมดนี้จะเป็นการหาค่า Gain ประเภทตัวเลขนะครับ
จะเห็นได้ว่า ไม่ต่างอะไรกับประเภทการจัดหมวดหมู่เลย เพียงเพิ่มในส่วนของการหาค่าเฉลี่ย เพื่อที่จะสามารถจัดการแบ่งหมวดหมู่ได้เท่านั้นเอง
เท่านี้ทุกคนก็สามารถหา Gain ของ Humidity ได้แล้ว
คราวหน้าเราจะเลือก GainRatio ของ feature ที่มีค่ามากที่สุดและลบ columns นั้นทิ้งไป (Feauture)
สำหรับวันนี้ ขอบคุณที่อ่านจนจบครับ สวัสดีครับ

ดูเพิ่มเติมในซีรีส์

โฆษณา