เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Cross validation

Cross validation เป็นเทคนิคที่ใช้ตรวจสอบประสิทธิภาพของโมเดลบนข้อมูลที่ไม่ได้ใช้ในการฝึก เพื่อให้มั่นใจว่าผลลัพธ์ที่ได้ไม่ได้เกิดจากการแบ่งข้อมูลในลักษณะใดลักษณะหนึ่งโดยเฉพาะ ในแบบฝึกหัดนี้ จะใช้ฟังก์ชันจาก sklearn เพื่อรัน K-fold cross validation โดยใช้โมดูล KFold() เพื่อประเมินค่า precision และ recall ของ decision tree

X_train, y_train, X_test, y_test มีพร้อมใช้งานใน workspace แล้ว เช่นเดียวกับ pandas ในชื่อ pd, numpy ในชื่อ np และ sklearn นอกจากนี้ KFold() และ cross_val_score() จาก sklearn.model_selection ก็พร้อมใช้งานเช่นกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง decision tree classifier
  • ตั้งค่า K-Fold cross validation โดยกำหนด 4 splits แล้วกำหนดให้กับตัวแปร k-fold
  • ใช้ k_fold รัน cross validation ด้วย cross_val_score() เพื่อประเมินค่า precision และ recall ของโมเดล (ห้ามใช้ recall_score() หรือ precision_score() นะ!)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create model 
clf = ____

# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)

# Evaluate precision and recall for each fold
precision = ____(
  clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
  clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision)) 
print("Recall scores: %s" %(recall))
แก้ไขและรันโค้ด