การที่จะนำ Model ไปใช้งานจริงได้นั้น จำเป็นต้องมีการวัดประสิทธิภาพ Model ก่อนว่า Model นั้นมีประสิทธิภาพเพียงพอที่จะนำมาพัฒนา หรือ นำไปใช้งานด้านต่างๆ ซึ่งการวัดประสิทธิภาพนั้นส่วนใหญ่จะวัดค่าจากใน Table ข้อมูลที่มี ( Confusion Matrix )
Confusion Matrix คือตารางสำคัญในการวัดความสามารถของ machine learning ในการแก้ปัญหา classification
True Positive ( TP ) คือ สิ่งที่โปรแกรมทำนายว่า “จริง” และ มีค่าเป็น “ จริง ”
True Negative ( TN ) คือ สิ่งที่โปรแกรมทำนายว่า “ไม่จริง” และ มีค่า “ ไม่จริง ”
False Positive ( FP ) คือ สิ่งที่โปรแกรมทำนายว่า “จริง” แต่ มีค่าเป็น “ไม่จริง”
False Negative ( FN ) คือ สิ่งที่โปรแกรมทำนายว่า “ไม่จริง” แต่ มีค่าเป็น “จริง”
โดยทั่วไปแล้วจะมีตัววัดที่นิยมใช้กันในงานวิจัยและการทำงานต่างๆ อยู่ 3 ค่า และสมการ คือ
- Precision เป็นการวัดความแม่นยำของข้อมูล โดยพิจารณาแยกทีละคลาส
2. Recall เป็นการวัดความถูกต้องของ Model โดยพิจารณาแยกทีละคลาส
3. Accuracy เป็นการวัดความถูกต้องของ Model โดยพิจารณารวมทุกคลาส
อีกหนึ่งวิธีที่นำมาใช้คือ F1-Score
F1-Score คือค่าเฉลี่ยแบบ harmonic mean ระหว่าง precision และ recall สร้าง F1 ขึ้นมาเพื่อเป็น single metric ที่วัดความสามารถของโมเดล (ไม่ต้องเลือกระหว่าง precision, recall เพราะเฉลี่ยให้แล้ว)
ตัวอย่าง การทำ Confusion Matrix
ทำเป็น Confusion Matrix
ค่าต่างๆที่ได้จาก Confusion Matrix
โดยแต่ละค่า Precision , Recall , F1-score มักจะนำไปใช้ต่างกัน ตามความเหมาะสม
Precision ใช้ ในกรณีที่หากทำนายผิด ว่าเป็น เช่น เมลสำคัญ ทำนายว่าเป็น สแปมเมล
Recall ใช้ในกรณีที่ ทำนายผิด ว่าไม่เป็น เช่น ติดเชื้อ HIV ทำนายว่า ไม่ติดเชื้อ
F1-score (ค่าประสิทธิภาพโดยรวม) นำสองค่า (Precision และ Recall) มาพิจารณาร่วมกันเพื่อความแม่นยำ และ ความครบถ้วน เช่น ใช้วิเคราะห์หุ้น
เห็นได้ว่า การที่เราพัฒนาโมเดลขึ้นมานั้น สามารถนำวิธีการเหล่านี้มาตรวจสอบว่า โมเดลของเรานั้นมีประสิทธิภาพเพียงพอ ที่จะนำไปใช้หรือไม่ ซึ่งวัดได้หลากหลายค่า ไม่เพียงแต่ Accuracy
ขอบคุณที่เข้ามาอ่านนะครับ หากผิดพลาดในส่วนใดขออภัยด้วย :D