Đánh giá kết quả
Khi đã có đường fit tuyến tính và các dự đoán, bạn cần xem chất lượng dự đoán để quyết định mô hình có ổn hay không. Lý tưởng nhất, ta muốn back-test bất kỳ dạng chiến lược giao dịch nào. Tuy nhiên, việc này phức tạp và thường tốn nhiều thời gian.
Một cách nhanh hơn để hiểu hiệu năng của mô hình là xem các thước đo đánh giá hồi quy như R\(^2\), và vẽ đồ thị so sánh dự đoán với giá trị thực của các mục tiêu (targets). Nếu dự đoán hoàn hảo, các điểm sẽ tạo thành một đường chéo thẳng trên đồ thị, giúp bạn dễ dàng ước lượng bằng mắt xem dự đoán hoạt động ra sao ở các vùng có mức biến động giá khác nhau. Bạn có thể dùng hàm .scatter() của matplotlib để tạo biểu đồ phân tán giữa dự đoán và giá trị thực.
Bài tập này là một phần của khóa học
Machine Learning cho Tài chính bằng Python
Hướng dẫn bài tập
- Hiển thị
test_predictionsso vớitest_targetsbằng biểu đồ phân tán, đặt độ đục của điểm là 20% (dùng tham sốalphađể đặt độ đục). - Vẽ đường dự đoán hoàn hảo bằng
np.arange()và các giá trị nhỏ nhất, lớn nhất từ trục x (xmin,xmax). - Hiển thị chú giải trên biểu đồ với
plt.legend().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Scatter the predictions vs the targets with 20% opacity
plt.scatter(train_predictions, train_targets, alpha=0.2, color='b', label='train')
plt.scatter(____, ____, ____, color='r', label='test')
# Plot the perfect prediction line
xmin, xmax = plt.xlim()
plt.plot(np.arange(xmin, xmax, 0.01), np.arange(____, ____, 0.01), c='k')
# Set the axis labels and show the plot
plt.xlabel('predictions')
plt.ylabel('actual')
____ # show the legend
plt.show()