K-Fold Cross Validation การวัดประสิทธิภาพของโมเดล

MATLAB BKK
Sep 19, 2021

--

การวัดประสิทธิภาพของโมเดล

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

--

--