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

ปรับแต่ง window size

ลองตรวจสอบด้วยตัวเองว่า window size ที่เหมาะสมที่สุดสำหรับชุดข้อมูล arrhythmia คือ 50 ชุดข้อมูลที่ให้มาอยู่ในรูป pandas DataFrame ชื่อ arrh และต้องการใช้ข้อมูลย่อยจนถึงเวลา t_now ข้อมูลทดสอบพร้อมใช้งานในชื่อ X_test และ y_test โดยจะทดลอง window size หลายขนาดตั้งแต่ 10 ถึง 100 แล้ว fit naive Bayes classifier กับแต่ละ window ประเมิน F1 score บนข้อมูลทดสอบ และเลือก window size ที่ให้ผลดีที่สุด นอกจากนี้ยังมี numpy ในชื่อ np และฟังก์ชัน f1_score() ถูก import มาแล้ว สุดท้ายได้สร้าง list ว่างชื่อ accuracies ไว้สำหรับเก็บค่าความแม่นยำของแต่ละ window

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

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

ดูคอร์ส

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

  • กำหนด index ของ sliding window ขนาด w_size ที่สิ้นสุดที่ t_now โดยใช้เมธอด .loc()
  • สร้าง X จาก sliding window โดยลบคอลัมน์ class ออก แล้วเก็บคอลัมน์นั้นไว้ในชื่อ y
  • Fit naive Bayes classifier กับ X และ y จากนั้นใช้โมเดลนั้น predict label ของข้อมูลทดสอบ X_test
  • คำนวณ F1 score ของการทำนายสำหรับแต่ละ window size แล้วหา window size ที่ให้ผลดีที่สุด

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

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

# Loop over window sizes
for w_size in wrange:

    # Define sliding window
    sliding = arrh.____[____:t_now]

    # Extract X and y from the sliding window
    X, y = sliding.____('class', ____), sliding[____]
    
    # Fit the classifier and store the F1 score
    preds = GaussianNB().fit(____, ____).____(X_test)
    accuracies.append(____(____, ____))

# Estimate the best performing window size
optimal_window = ____[np.____(accuracies)]
แก้ไขและรันโค้ด