คะแนน Validation โดยรวม
ถึงเวลาวัดประสิทธิภาพของโมเดลจริงๆ ด้วย cross-validation แล้ว โมเดลพยากรณ์ความต้องการสินค้าของเราจะทำได้ดีแค่ไหน?
โจทย์คือให้คำนวณ Mean Squared Error (MSE) ของแต่ละ fold แยกกัน แล้วรวมผลลัพธ์ทั้งหมดเป็นตัวเลขเดียว
เพื่อความสะดวก มีฟังก์ชัน get_fold_mse() ให้พร้อมใช้งาน ฟังก์ชันนี้จะ fit โมเดล Random Forest ในแต่ละ split ของ cross-validation และคืนค่าเป็น list ของคะแนน MSE แต่ละ fold โดยรับอาร์กิวเมนต์ 2 ตัวคือ train และออบเจกต์ TimeSeriesSplit
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแข่งขัน Kaggle ด้วย Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.model_selection import TimeSeriesSplit
import numpy as np
# Sort train data by date
train = train.sort_values('date')
# Initialize 3-fold time cross-validation
kf = ____(n_splits=____)
# Get MSE scores for each cross-validation split
mse_scores = get_fold_mse(train, kf)
print('Mean validation MSE: {:.5f}'.format(np.____(____)))