K-Fold Cross Validation การวัดประสิทธิภาพของโมเดล
--
การวัดประสิทธิภาพของโมเดล
K-Fold Cross Validation
เป็นหนึ่งในหัวข้อสำคัญเกี่ยวกับการทดสอบโมเดลการเรียนรู้ ซึ่งถูกคิดค้นโดย Dunlap K. และPopper K. R การวัดประสิทธิภาพนี้ ยังเคยถูกใช้ในสายงานด้านจิตวิทยา ก่อนจะนำมาใช้ในสาย Machine learning อีกด้วย
Concept
เป็นการแบ่งข้อมูลเป็น k ส่วนเท่าๆกัน เพื่อสร้างและทดสอบโมเดล (train + validate)คำนวณค่าเฉลี่ย accuracy หรือ error(i.e. model performance) ก่อนที่จะนำโมเดลไปใช้ทำนายข้อมูล test set
มันทำงานอย่างไร?
มีสองขั้นตอนหลัก: การแยกข้อมูลออกเป็นส่วนย่อย (folding) ทำการ Training และ Testing
ตัวอย่าง Matlab Code — Random Split K=5 folds
ทำการประเมิน
- Train
- Test
- การประเมินผล สามารถเทียบด้วย การพิจารณา R-Squared, Sd เป็นต้น
เรานิยมใช้ k-fold cv กับโมเดลที่ต้องมีการจูนค่า parameters เช่น decision tree (cp, max depth, split rule), random forest (mtry, ntree), knn (k, distance) เป็นต้น
สามารถติดตามเนื้อหาความรู้ต่างๆ โดยเฉพาะการใช้ประยุกต์ใช้กับโปรแกรม Matlab ได้ที่ Facebook Page :(20+) Matlab bkk center | Facebook