ประเมินประสิทธิภาพ
ขั้นตอนสุดท้าย เช่นเดียวกับที่ทำมาเสมอ คือการประเมินประสิทธิภาพของโมเดลที่ดีที่สุด เพื่อดูว่าผลลัพธ์ที่ได้ดีหรือแย่เพียงใด วิธีที่เหมาะสมที่สุดคือการทำ back-testing แต่กระบวนการนั้นซับซ้อนและอยู่นอกเหนือขอบเขตของคอร์สนี้
เราดูค่า R\(^2\) กันไปแล้ว คราวนี้มาดู scatter plot เปรียบเทียบค่าที่โมเดลพยากรณ์กับค่าจริงผ่าน matplotlib กัน หากโมเดลพยากรณ์ได้แม่นยำสมบูรณ์ จุดทั้งหมดจะเรียงตัวเป็นเส้นทแยงมุมจากมุมล่างซ้ายไปยังมุมบนขวา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการเงินด้วย Python
คำแนะนำการฝึกหัด
- กำหนดค่า
max_featuresที่ดีที่สุดในRandomForestRegressor(rfr) ตามที่หาได้จากแบบฝึกหัดก่อนหน้า (ค่าคือ 4) - ใช้โมเดลพยากรณ์ค่าจาก
train_featuresและtest_features - สร้าง scatter plot โดยให้แกน X เป็นค่าจริง (train/test_targets) และแกน Y เป็นค่าที่พยากรณ์ (train/test_predictions) พร้อมระบุชื่อชุดข้อมูลเป็น
trainและtest
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use the best hyperparameters from before to fit a random forest model
rfr = RandomForestRegressor(n_estimators=200, max_depth=3, max_features=____, random_state=42)
rfr.fit(train_features, train_targets)
# Make predictions with our model
train_predictions = rfr.predict(____)
test_predictions = ____
# Create a scatter plot with train and test actual vs predictions
plt.scatter(train_targets, train_predictions, label='train')
plt.scatter(____)
plt.legend()
plt.show()