0 of 16 lessons complete (0%)
Exit Course

Lesson 3 – Basic ML Workflow

Basic Workflow

ขั้นตอนการสร้าง Machine Learning Model แบบง่ายที่สุดคือ train-test-split แบ่งเป็น 4 ขั้นตอน

Basic ML Workflow
  • Split data (80% train, 20% test)
  • Train model
  • Predict new data (Scoring)
  • Evaluate model

📝 สัดส่วนการ split data ไม่ได้มีกฏตายตัว ปกติเราชอบเห็นคนใช้ที่ 80:20 หรือ 70:30 หลักการคร่าวๆคือเราควรแบ่ง train, test ให้ใหญ่พอสำหรับการเทรนและทดสอบโมเดล

Why Data Splitting?

คำถามคือทำไมต้องแบ่งข้อมูลเป็น train vs. test ด้วย (splitting)?

ทำไมเราไม่ train model ด้วยข้อมูลทั้งหมดที่มีเลย?

ตอบ ถ้าทำแบบนั้น เราจะไม่มีทางรู้เลยว่าโมเดลของเราดีจริงหรือเปล่า เป้าหมายของ ML คือการสร้างโมเดลไปใช้กับ unseen data ที่มันไม่เคยเห็นมาก่อน ศัพท์เทคนิคเราเรียกว่าการทำ Generalization

เราแบ่งข้อมูลเป็นสองส่วน

  • train data เพื่อเทรนโมเดล (seen data)
  • test data เพื่อทดสอบโมเดล (unseen data)

Model ที่จะสอบผ่านเกณฑ์ของเราเข้าสู่ production/ deployment ต้องทำงานได้ดีทั้งตอน train และ test (ถ้ามีข้อมูลอีกชุดมาใช้ validate model จะยิ่งดีเลย ไอเดียคือ test บ่อยๆให้ได้ผลลัพธ์ของโมเดลที่มัน reliable)

📝 Golden Standard สำหรับการเทรนโมเดล classical ML คือ K-Fold Cross Validation ซึ่งแอดยังไม่ได้สอนในคอร์สนี้ สำหรับนักเรียน Bootcamp ไว้เรียนในแคมป์ได้ใน sprint ML นะครับ 😁

Technical Note เกี่ยวกับ K-Fold Cross Validation (Optional)

K-Fold Cross-Validation คือหนึ่งในเทคนิค Resampling เพื่อเทรนและทดสอบโมเดลอย่างมีประสิทธิภาพ ที่มาของคำว่า Cross-Validation คือการที่โมเดลเราถูกทดสอบซ้ำหลายๆรอบ (ที่มาของคำว่า Cross-Validated) จนได้โมเดลที่ robust

Scoring and Evaluating Model

ขั้นตอนการ score + evaluate คือการทำนายและวัดผลโมเดล

  • Score คือการเอาโมเดลที่เราเทรนไปทำนาย test data
  • Evaluate คือการวัดผลโมเดลด้วย metrics ต่างๆ เช่น ค่า accuracy เป็นต้น

📝 เวลาเราสมัครบัตรเครดิต บริษัทบัตรเครดิตจะใช้โมเดลที่เรียกว่า Credit Scoring เพื่อทำนาย user profile ว่าควรจะได้เครดิตไปใช้หรือเปล่า โมเดลจะทำนายออกมาเป็นค่าความน่าจะเป็น เช่น good 85%, bad 15%

Optional – MLOps

หลังจากเราได้โมเดลที่ทำงานได้ตามเกณฑ์ที่เรากำหนดไว้แล้ว step สุดท้ายคือการทำ model deployment หรือการนำโมเดลไปใช้งานจริงๆ คนที่รับผิดชอบงานส่วนนี้คือ ML Engineer/ MLOps (ML + Operation)

งานส่วนนี้ต้องใช้ความรู้ด้าน software engineering เยอะเลย ครอบคลุมเรื่อง

  • Design
  • Model Deployment
  • Operations
ภาพการทำงานของ MLOps โดย Databricks

MLOps is a core function of Machine Learning engineering, focused on streamlining the process of taking machine learning models to production, and then maintaining and monitoring them

Databricks

📝 เนื้อหา MLOps จะไม่ได้อยู่ในคอร์สเรียนนี้ของเรานะครับ เพื่อนๆที่สนใจ MLOps สามารถศึกษาเพิ่มเติมได้ที่

Formative Quiz