2009
ผลการวิเคราะห์ด้วยเทคนิค Classification ใน Weka
Posted by: sitake In: Classification|Data Mining|Weka
หลายคนที่ใช้ Weka สำหรับทำการจำแนกประเภทข้อมูลหรือ classification เมื่อได้ผลลัพธ์แล้วอาจจะงงว่าแต่ละส่วนมันคืออะไร ผมขอสรุปๆ ส่วนที่สำคัญไว้ดังนี้ครับ
|
=== Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 |
ส่วนแรกคือส่วน Run Information นี้จะเป็นการสรุปว่า
- Scheme : ในการวิเคราะห์ผลครั้งนี้ใช้เทคนิคอะไรในการทำ classification
- Relation : ข้อมูลที่ใช้เป็น input มีชื่อว่าอะไร
- Instances : จำนวนแถวในข้อมูล
- Attributes : จำนวนคอลัมน์ในข้อมูล และชื่อของแต่ละแอตทริบิวต์
- Test mode : การทดสอบประสิทธิภาพของโมเดลที่ได้จากการทำ classification
| === Classifier model (full training set) ===
J48 pruned tree outlook = sunny Number of Leaves : 5 Size of the tree : 8 Time taken to build model: 0.01 seconds |
ส่วนที่ 2 คือ ส่วนของโมเดลที่สร้างได้ซึ่งจะแตกต่างกันออกไปตามเทคนิคที่เลือกใช้งาน ในตัวอย่างนี้ใช้เทคนิคการทำ classification
ด้วยวิธี j48 ซึ่งเป็น decision tree แบบหนึ่ง ผลที่แสดงในส่วนนี้จึงเป็นลักษณะของ tree แต่เขียนให้อยู่ในรูปของ text
ซึ่งจาก decision tree นี้เราอาจจะสามารถแปลงให้เป็นกฏที่เป็นโมเดลได้ เช่น ถ้าค่า outlook = sunny และ humidity <= 75 แล้วจะตอบว่า play = yes เป็นต้น
|
=== Stratified cross-validation === Correctly Classified Instances 9 64.2857 % |
ส่วนที่ 3 คือส่วนที่วัดประสิทธิภาพของโมเดลในการ classify ที่สร้างขึ้นมาได้ ซึ่งมีค่าที่สำคัญๆ อยู่ 2 ค่า คือ
- Correctly Classified Instances
ส่วนนี้บอกว่าจากข้อมูลที่มี 14 instance นั้น มีการทำนายข้อมูลถูกต้อง 9 instance(row) หรือคิดเป็น 64.2857% ของข้อมูลทั้งหมด - Incorrectly Classified Instances
ส่วนนี้บอกว่าจากข้อมูลที่มี 14 instance นั้น มีการทำนายข้อมูลไม่ถูกต้อง 5 instance(row) หรือคิดเป็น 35.7143% ของข้อมูลทั้งหมด
| === Confusion Matrix ===
a b <– classified as |
ส่วนที่ 4 คือ ส่วนของ confusion matrix ซึ่งเป็นส่วนที่ทำให้เราเห็นรายละเอียดของผลการทำนายของข้อมูลแต่ละคลาสได้ดีขึ้น
- ค่าในคอลัมน์ คือ ค่าที่ได้จากการทำนายด้วยเทคนิค j48
- ค่าในถวจะเป็นส่วนของค่าที่เป็นคำตอบของคลาสนั้นจริงๆ
จากตารางนี้เราจะเห็นว่า ข้อมูลที่จริงๆ แล้วมีค่า play=yes และโมเดลของเราทำนายถูกว่ามีค่า play=yes นั้นมีจำนวนทั้งหมด 7 instance ข้อมูลเหล่านี้ คือ ข้อมูลที่โมเดลทำนายถูกเช่น ข้อมูลใน instance ที่มีค่า play=yes
แต่ถ้าจริงๆ แล้วข้อมูลมีค่า play=yes แต่โมเดลการทำนายของเราดันไปตอบว่าค่า play=no นั้นมีจำนวน 2 instance นั้นคือข้อมูลที่โมเดลทำนายผิดสำหรับคลาสที่ตอบว่า play=yes นั่นเอง
หมายเหตุ บทความนี้อยู่ภายใต้ลิขสิทธิ์ของเว็บไซด์ www.open-miner.com ผู้จัดทำอนุญาตให้นำไปเผยแพร่ได้ แต่กรุณาอ้างอิงแหล่งที่มาด้วยว่ามาจาก www.open-miner.com ครับ
เรื่องที่เกี่ยวข้อง
- การทำเหมืองข้อความ (Text Mining)
- New !!! เปิดอบรมเชิงปฏิบัติการ Introduction to Data Mining (Workshop with WEKA) รุ่นที่ 4 (วันที่ 4 - 5 ก.ย. 2553)
- วิธีการเพิ่มจำนวนข้อมูล (Oversampling) ด้วย SMOTE ใน weka
- การใช้ sequential pattern mining ด้วย Weka
- วิธีแก้ปัญหา weka out of memory
0
0