22 ม.ค. 2021 เวลา 05:33 • วิทยาศาสตร์ & เทคโนโลยี
# การแบ่ง Data ใน Machine Learning #
หากคุณมี Data อยู่ก้อนนึง แล้วต้องการที่จะป้อนมัน เข้าสู่ Model ใน Machine Learning (สำหรับการ Train) โดยจับยัดเข้า Model ทั้งหมดเลย หลังจากปล่อยให้ Model ทำงานจนเสร็จแล้ว เราจะรู้ได้อย่างไรว่า Model มีความแม่นยำแค่ไหน นี้คือเหตุผลที่จะต้องมีการแบ่ง Data เพื่อให้มีส่วนที่จะนำมาทดสอบความแม่นยำของ Model นั่นเอง
4
เราจึงแบ่ง Data ออกเป็น 3 ส่วน คือ
1. Training Set : สำหรับป้อนเข้า Training model
2. Validation Set : สำหรับทดสอบหา Metrics และ Model ไหนทำงานได้ดีที่สุด
3. Test Set : เลือก Model ที่ดีที่สุดและทดสอบ แต่จะเป็นกรณีที่พบกับข้อมูลที่ไม่เคยเห็นมาก่อน
# Python code #
from sklearn.model_selection import train_test_split
# แบ่ง X และ y เป็น Training Set (80%) และ Validation Set (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)
# แบ่ง X_train และ y_train เป็น Training Set (80%) และ Validation Set (20%)
X_train, X_validation, y_train, y_validation = train_test_split(X_train, y_train, test_size = 0.20)
https://commons.wikimedia.org/wiki/File:Train-Test-Validation.png
โฆษณา