Classification Performance Chapter 9 Classification Performance อาจารย์อนุพงศ์ สุขประเสริฐ คณะการบัญชีและการจัดการ มหาวิทยาลัยมหาสารคาม
Content การทดสอบประสิทธิภาพของการจำแนกข้อมูล Confusion Matrix Precision and Recall Accuracy F-Measure ROC Graph and Area Under Curve (AUC) การแบ่งข้อมูลเพื่อทดสอบประสิทธิภาพของโมเดล Self Consistency Test Split Test Cross-validation Test การเปรียบเทียบเทคนิคการจำแนกข้อมูล
Classification Performance การทดสอบประสิทธิภาพของการจำแนกข้อมูล ซึ่งจะมี ตัววัดประสิทธิภาพของโมเดล ได้แก่ Confusion Matrix True Positive (TP), True Negative (TN) False Positive (FP), False Negative (FN) Precision and Recall Accuracy F-Measure ROC Graph and Area Under Curve (AUC)
ตาราง Confusion Matrix เป็นการเก็บข้อมูลที่เกี่ยวกับการแบ่งแยกข้อมูลจริง กับข้อมูลที่เกิดจากการทำนาย ด้วยระบบการ แบ่งแยก (Classification System) เช่น การหาค่าข้อมูลแบบธรรมดาในแมทริก ดัง ตารางที่แสดงของ Confusion Matrix ซึ่งมีด้วยกัน 2 ระดับ Predicted Positive (Yes) Predicted Negatives (No) True Positive (TP) False Negatives (FN) False Positive (FP) True Negatives (TN) Actual Positive (Yes) Actual Negatives (No) ตาราง Confusion Matrix
Confusion Matrix (cont) True Positive (TP) หมายถึง ค่าคลาสเป้าหมายคือ Yes และแบบทำนายว่า Yes False Negatives (FN) หมายถึง ค่าคลาสเป้าหมายคือ Yes และแบบทำนายว่า No True Negatives (TN) หมายถึง ค่าคลาสเป้าหมายคือ No และแบบทำนายว่า No False Positive (FP) หมายถึง ค่าคลาสเป้าหมายคือ No และแบบทำนายว่า Yes
Correctly and Incorrectly Classified Instances คือ คำที่ทำนายถูกต้อง และคำที่ทำนายผิดพลาดใน การจำแนกกลุ่ม คำที่ทำนายถูก (Correctly Classified Instances) = TP + TN คำที่ทำนายผิดพลาด (Incorrectly Classified Instances) = FP + FN
TP Rate : True Positive Rate (TPR) คือค่าจากการทำนายด้วยตัวแบบที่ตรงกับความเป็นจริง คำนวณจากจำนวนข้อมูลที่ทำนายถูกในคลาสนั้น / จำนวนข้อมูลทั้งหมดในคลาสนั้น TPR ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑁 TPR ของคลาสเป้าหมาย NO = 𝑇𝑁 𝐹𝑃+𝑇𝑁
FP Rate : False Positive Rate (FPR) คือ ค่าของข้อมูลที่ไม่ได้อยู่ในคลาสนั้นแต่ตัวแบบ ทำนายว่าอยู่ในคลาสนั้น คำนวณจากจำนวนข้อมูลที่ ทำนายผิดในคลาสที่สนใจ / จำนวนข้อมูลในคลาส นั้น FPR ของคลาสเป้าหมาย YES = 𝐹𝑃 𝐹𝑃+𝑇𝑁 FPR ของคลาสเป้าหมาย NO = 𝐹𝑁 𝑇𝑃+𝐹𝑁
Precision : Positive Value (PPV) คือค่าของตัวแบบที่ทำนายให้ถูกต้อง คำนวณ จากจำนวนข้อมูลที่ทำนายถูกในคลาสนั้น/ จำนวนข้อมูลทั้งหมดที่การทำนายให้ผลลัพธ์ เดียวกันในคลาสนั้น PPV ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑃 PPV ของคลาสเป้าหมาย NO = 𝑇𝑁 𝑇𝑁+𝐹𝑁
Recall คือจำนวนการกระทำด้วยกันแบบที่ตรงกับความเป็นจริง มีค่าเท่ากับ TP Rate คำนวณจากจำนวนข้อมูลที่ ทำนายถูกในคลาสนั้น / จำนวนข้อมูลทั้งหมดใน คลาสนั้น Recall ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑁 Recall ของคลาสเป้าหมาย NO = 𝑇𝑁 𝑇𝑁+𝐹𝑃
Accuracy คือ จำนวนข้อมูลที่ทำนายถูกของทูกคลาส สูตร 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁
F-Measure คือ ค่าที่เกิดจากการเปรียบเทียบระหว่าง ค่า Precision และค่า Recall ของแต่ละคลาสเป้าหมาย F-Measure ของคลาสเป้าหมาย YES = (2∗ Precision(YES) ∗ Recall (YES)) (Precision(YES) +Recall(YES)) F-Measure ของคลาสเป้าหมาย NO = (2∗ Precision(NO) ∗ Recall(No)) (Precision(NO) + Recall(NO))
Reca ll Precisi on F-Measure Precision - Recall
ROC Graph and Area Under Curve (AUC) คือค่าที่เกิดจากการเปรียบเทียบระหว่าง ค่า TP Rate (ค่าที่ทำนายถูก) และค่า FP Rate (ค่าที่ทำนายผิด) ของ แต่ละคลาสเป้าหมาย ROC Curve มีค่าเข้าใกล้ 1 จะแสดงว่ามี ประสิทธิภาพดี เนื่องจากค่า True Positive เยอะ Area Under Curve (AUC) ใช้แสดงค่าพื้นที่ใต้กราฟ ROC มีค่ามาก (เข้าใกล้ 1) จะยิ่งดี
Classification Performance การแบ่งข้อมูลเพื่อทําการทดสอบประสิทธิภาพของโมล เดลนี้มี 3 วิธีการใหญ่ ดังนี้ (1) วิธี Self Consistency Test (use training set) (2) วิธี Split Test (3) วิธี Cross-validation Test
Self Consistency Test วิธี Self Consistency Test หรือบางครั้งเรียกว่า Use Training Set นี้เป็นวิธีการที่ง่ายที่สุด นั่นคือ ข้อมูลที่ ใช้ในการสร้างโมเดล (model) และข้อมูลที่ใช้ในการ ทดสอบโมเดลเป็นข้อมูลชุดเดียวกัน กระบวนการนี้เริ่ม จาก สร้างโมเดลด้วยข้อมูลเทรนนิง ดาต้า (training data) หลังจากนั้นนําโมเดลที่สร้างได้มาทํานายข้อมูลเท รนนิง ดาต้า ชุดเดิม ตัวอย่างเช่นจากรูป นําข้อมูล เทรนนิง ดาต้า ในตาราง มาสร้างโมเดลและทดสอบ โมเดลเป็นต้น การวัด ประสิทธิภาพ
Self Consistency Test (cont.) ด้วยวิธีนี้จะให้ผลการวัดประสิทธิภาพที่มีค่าสูงมาก (อาจจะเข้าใกล้ 100%) เนื่องจากเป็นข้อมูล ชุดเดิมที่ ระบบได้ทําการเรียนรู้มาแล้ว แต่ผลการวัดที่ได้ไม่ เหมาะที่จะนําไปรายงานในงานวิจัยต่างๆ ซึ่งวิธี การ นี้เหมาะสําหรับใช้ในการทดสอบประสิทธิภาพเพื่อดู แนวโน้มของโมเดลที่สร้างขึ้น ถ้าได้ผลการวัดที่น้อย แสดงว่าโมเดลไม่เหมาะสมกับข้อมูล จึงไม่ควรจะนําไป ทดสอบด้วยวิธีการแบ่งข้อมูลแบบต่างๆ
Split Test วิธี Split Test เป็นการแบ่งข้อมูลด้วยการสุ่มออกเป็น 2 ส่วน เช่น 70% ต่อ 30% หรือ 80% ต่อ 20% โดยข้อมูลส่วนที่หนึ่ง (70% หรือ 80%) ใช้ในการ สร้างโมเดลและข้อมูลส่วนที่สอง (30% หรือ 20%) ใช้ ใน การทดสอบประสิทธิภาพของโมเดล ตัวอย่างเช่น ในรูป แบ่งข้อมูลเทรนนิง ดาต้า ในตารางออกเป็น 2 ตัวอย่างสำหรับการสร้างโมเดลและข้อมูล 1 ตัวอย่าง ใช้ในการทดสอบ ประสิทธิภาพของโมเดล เป็นต้น
Split Test (cont.) เกิด Bias แต่การทดสอบแบบ Split Test นี้ทําการสุ่มข้อมูลเพียง ครั้งเดียวซึ่งในบาง ครั้งถ้าการสุ่มข้อมูลที่ใช้ในการ ทดสอบที่มีลักษณะคล้ายกับข้อมูลที่ใช้สร้างโมเดลทํา ให้ผลการวัด ประสิทธิภาพได้ออกมาดี ในทางตรง ข้ามถ้าการสุ่มข้อมูลที่ใช้ในการทดสอบที่มีลักษณะ แตกต่างกับข้อมูลที่ ใช้สร้างโมเดลมากทําให้ผลการวัด ประสิทธิภาพได้ออกมาแย่ ดังนั้นจึงควรใช้วิธี Split Test นี้หรือทําการสุ่ม หลายๆ ครั้ง แต่ข้อดีของ วิธีการนี้คือใช้เวลาในการสร้างโมเดลน้อยซึ่งเหมาะกับ ชุดข้อมูลที่มีขนาดใหญ่มาก เกิด Bias
ตัวอย่างการแบ่งข้อมูลแบบ Split Test สร้างโมเดล Training 70% Testing 30% ผลลัพธ์
Cross-validation Test วิธีนี้เป็นวิธีที่นิยมในการทำงานวิจัย เพื่อใช้ในการ ทดสอบประสิทธิภาพของโมเดลเนื่องจากผลที่ได้มีความ น่าเชื่อถือ การวัด ประสิทธิภาพด้วยวิธี Cross- validation นี้จะทําการแบ่งข้อมูลออกเป็นหลายส่วน (มักจะแสดงด้วยค่า k) เช่น 5-fold cross-validation คือ ทําการแบ่งข้อมูลออกเป็น 5 ส่วน โดยที่แต่ละ ส่วนมีจํานวนข้อมูลเท่ากัน หรือ 10-fold cross- validation คือ การแบ่งข้อมูลออกเป็น 10 ส่วน โดย ที่แต่ละส่วนมีจํานวนข้อมูลเท่ากัน หลัง จากนั้นข้อมูล หนึ่งส่วนจะใช้เป็นตัวทดสอบประสิทธิภาพของโมเดล ทําวนไปเช่นนี้จนครบจํานวนที่แบ่งไว้ เช่น การ ทดสอบด้วยวิธี 5-fold cross-validation ในรูปถัดไป ไม่เกิด Bias
ตัวอยางการแบ่งข้อมูลแบบ 5-fold cross-validation
การแบ่งข้อมูลเพื่อนำทดสอบประสิทธิภาพของโมเดล Workshop การแบ่งข้อมูลเพื่อนำทดสอบประสิทธิภาพของโมเดล
The end Q & A