ดึงค่าพยากรณ์และประเมินผลเบื้องต้น
เมื่อเทรนโมเดล random forest (rfr) เสร็จแล้ว ขั้นตอนต่อไปคือนำโมเดลไปพยากรณ์บนชุดทดสอบ เพื่อประเมินประสิทธิภาพในเบื้องต้นว่าโมเดลทำได้ดีพอ ๆ กัน หรือดีกว่าการซื้อดัชนี SPY หรือไม่
เราจะใช้เมธอด .predict(features) ตามมาตรฐานของ sklearn แล้วคูณผลตอบแทนรายเดือนด้วยค่าพยากรณ์พอร์ตโฟลิโอ จากนั้นรวมค่าทั้งหมดด้วย np.sum() เนื่องจากข้อมูลแต่ละเดือนมี 3 แถว สุดท้ายจะพล็อตกราฟเปรียบเทียบผลตอบแทนรายเดือนจากค่าพยากรณ์กับ SPY
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการเงินด้วย Python
คำแนะนำการฝึกหัด
- ใช้เมธอด
.predict()ของโมเดล random forestrfrเพื่อพยากรณ์บนtrain_featuresและtest_features - คูณส่วนของ
returns_monthlyที่เป็นชุดทดสอบด้วยtest_predictionsเพื่อคำนวณผลตอบแทนของชุดทดสอบจากค่าพยากรณ์ - พล็อต
returns_monthlyของชุดทดสอบสำหรับ'SPY'(ข้อมูลตั้งแต่train_sizeจนถึงท้าย DataFrame)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()