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

Cross-validation แบบไม่สลับลำดับข้อมูล

ลองรันการ fit โมเดลอีกครั้งโดยใช้ block cross-validation (แบบไม่สลับลำดับข้อมูลทั้งหมด) ในกรณีนี้ จุดข้อมูลที่อยู่ใกล้กันตามเวลาจะถูกเก็บไว้ด้วยกัน คิดว่าผลการพยากรณ์ของโมเดลจะเป็นอย่างไรในแต่ละรอบของ cross-validation?

ออบเจ็กต์โมเดล Linear regression model พร้อมใช้งานอยู่ใน workspace แล้ว รวมถึงอาร์เรย์ X และ y (ข้อมูลสำหรับ training) ก็พร้อมใช้งานเช่นกัน

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

Machine Learning สำหรับข้อมูล Time Series ใน Python

ดูคอร์ส

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

  • สร้างออบเจ็กต์ cross-validation ตัวใหม่ โดยใช้ KFold cross-validation แบบ 10 splits และไม่สลับลำดับข้อมูล
  • วนซ้ำผ่านออบเจ็กต์นี้เพื่อ fit โมเดลด้วย training indices และสร้างการพยากรณ์โดยใช้ test indices
  • แสดงผลการพยากรณ์ในแต่ละรอบของ CV โดยใช้ฟังก์ชันช่วย visualize_predictions() ที่เตรียมไว้ให้

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

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

# Create KFold cross-validation object
from sklearn.model_selection import KFold
cv = ____(n_splits=____, shuffle=____)

# Iterate through CV splits
results = []
for tr, tt in cv.split(X, y):
    # Fit the model on training data
    model.fit(____)
    
    # Generate predictions on the test data and collect
    prediction = model.predict(____)
    results.append((prediction, tt))
    
# Custom function to quickly visualize predictions
visualize_predictions(results)
แก้ไขและรันโค้ด