Data Mining Exercise 11

Naive Bayes Classification - Prior and Conditional Probabilities

Naive Bayes Solution From Given Problem

เฉลยนี้คำนวณจากค่าที่อ่านจากภาพตาราง

ข้อมูลจากภาพ

InstanceABCClass
1000+
2001-
3011-
4011-
5001+
6101+
7101-
8101-
9111+
10101+

ต้องการ:

  1. คำนวณ P(A|+), P(B|+), P(C|+), P(A|-), P(B|-), P(C|- ) สำหรับแถวทดสอบ (A=0,B=1,C=0)
  2. ทำนายคลาสของ (A=0,B=1,C=0) ด้วย Naive Bayes

1) Prior Probability

จำนวนข้อมูลทั้งหมด = 10

  • จำนวน + = 5 -> P(+) = 5/10 = 0.5
  • จำนวน - = 5 -> P(-) = 5/10 = 0.5

2) Conditional Probability ที่ต้องใช้กับ test (0,1,0)

ฝั่งคลาส + (มี 5 แถว: 1,5,6,9,10)

  • P(A=0|+) = 2/5 = 0.4 (instance 1,5)
  • P(B=1|+) = 1/5 = 0.2 (instance 9)
  • P(C=0|+) = 1/5 = 0.2 (instance 1)

ฝั่งคลาส - (มี 5 แถว: 2,3,4,7,8)

  • P(A=0|-) = 3/5 = 0.6 (instance 2,3,4)
  • P(B=1|-) = 2/5 = 0.4 (instance 3,4)
  • P(C=0|-) = 0/5 = 0.0 (ไม่มี)

ดังนั้นคำตอบข้อ 1 คือ

  • P(A|+) = P(A=0|+) = 2/5
  • P(B|+) = P(B=1|+) = 1/5
  • P(C|+) = P(C=0|+) = 1/5
  • P(A|-) = P(A=0|-) = 3/5
  • P(B|-) = P(B=1|-) = 2/5
  • P(C|-) = P(C=0|-) = 0/5

3) Naive Bayes Classification for (A=0,B=1,C=0)

สูตรคะแนน:

  • Score(+) = P(+) * P(A=0|+) * P(B=1|+) * P(C=0|+)
  • Score(-) = P(-) * P(A=0|-) * P(B=1|-) * P(C=0|-)

แทนค่า:

  • Score(+) = 0.5 * 0.4 * 0.2 * 0.2 = 0.008
  • Score(-) = 0.5 * 0.6 * 0.4 * 0.0 = 0

เปรียบเทียบ:

  • Score(+) > Score(-)

สรุป

แถวทดสอบ (A=0,B=1,C=0) ถูกทำนายเป็นคลาส +


หมายเหตุสั้น

ในฝั่งคลาส - มี P(C=0|-)=0 ทำให้คะแนนคลาส - เป็น 0 ทันที ถ้าโจทย์กำหนดให้ใช้ Laplace smoothing ผลอาจเปลี่ยนได้ แต่โจทย์นี้ไม่ได้ระบุ จึงคำนวณแบบปกติ