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

สถิติ Cross-validation

คุณใช้ grid search CV เพื่อปรับจูน random forest classifier และตอนนี้ต้องการตรวจสอบผลลัพธ์ของ cross-validation เพื่อให้แน่ใจว่าโมเดลไม่ overfit โดยเฉพาะอย่างยิ่ง ต้องการหาผลต่างระหว่างค่าเฉลี่ยของ test score กับค่าเฉลี่ยของ training score ในแต่ละ fold ชุดข้อมูลพร้อมใช้งานในรูปแบบ X_train และ y_train pipeline อยู่ในตัวแปร pipe และมีโมดูลที่โหลดไว้ล่วงหน้าแล้ว รวมถึง pandas ในชื่อ pd และ GridSearchCV()

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

การออกแบบ Machine Learning Workflows ด้วย Python

ดูคอร์ส

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

  • สร้าง grid search object โดยกำหนดให้มีสาม fold และตั้งค่าให้คืนค่าสถิติทั้งของชุด training และชุด test
  • ฟิต grid search object กับข้อมูล training
  • เก็บผลลัพธ์ของ cross-validation ซึ่งอยู่ใน attribute cv_results_ ของ CV object ที่ฟิตแล้ว ลงใน dataframe
  • แสดงผลต่างระหว่างคอลัมน์ที่เก็บค่าเฉลี่ยของ test score และคอลัมน์ที่เก็บค่าเฉลี่ยของ training score

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

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

# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
  pipe, params, ____=3, return_train_score=____)

# Fit the grid search
gs = grid_search.____(____, ____)

# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)

# Print the difference between mean test and training scores
print(
  results[____]-results['mean_train_score'])
แก้ไขและรันโค้ด