วัดประสิทธิภาพของโมเดล
หลังจากฝึก neural network เรียบร้อยแล้ว มาตรวจสอบประสิทธิภาพของโมเดลในการทำนายค่าใหม่กัน เนื่องจาก keras ไม่มีเมธอด .score() แบบในโมเดล sklearn เราจึงใช้ฟังก์ชัน r2_score() จาก sklearn.metrics แทน ฟังก์ชันนี้คำนวณค่า R\(^2\) โดยรับอาร์กิวเมนต์ (y_true, y_predicted) นอกจากนี้เราจะพล็อตกราฟเปรียบเทียบค่าทำนายกับค่าจริงอีกครั้ง ซึ่งจะให้ผลที่น่าสนใจในภายหลัง เมื่อเราสร้าง loss function แบบกำหนดเองแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการเงินด้วย Python
คำแนะนำการฝึกหัด
- ใช้
model_1ทำนายผลบนชุดข้อมูลทดสอบที่สเกลแล้ว (scaled_test_featuresและtest_targets) - แสดงค่า R\(^2\) บนชุดข้อมูลทดสอบ (
test_targetsและtest_preds) - พล็อตกราฟ scatter plot ของ
test_predsเทียบกับtest_targetsด้วยplt.scatter()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.metrics import r2_score
# Calculate R^2 score
train_preds = model_1.predict(scaled_train_features)
test_preds = model_1.predict(____)
print(r2_score(train_targets, train_preds))
print(r2_score(____, ____))
# Plot predictions vs actual
plt.scatter(train_preds, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()