Оцініть наші результати
Після того як ми отримали лінійну апроксимацію та передбачення, потрібно перевірити, наскільки вони точні, щоб вирішити, чи є наша модель придатною. В ідеалі ми хочемо робити бек-тест будь-якої торговельної стратегії. Проте це складний і зазвичай тривалий процес.
Швидший спосіб оцінити модель — переглянути метрики регресії, як-от R\(^2\), і побудувати графік передбачень проти фактичних значень цільової змінної. Ідеальні передбачення утворили б на такому графіку пряму діагональну лінію, тож можна на око оцінити, як модель працює в різних діапазонах змін ціни. Ми можемо використати функцію .scatter() з matplotlib, щоб створити діаграму розсіювання для передбачень і фактичних значень.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Відобразіть
test_predictionsпротиtest_targetsна діаграмі розсіювання, встановивши непрозорість точок 20% (використайте параметрalphaдля керування непрозорістю). - Побудуйте лінію ідеального передбачення, використовуючи
np.arange()та мінімальне і максимальне значення осі x (xmin,xmax). - Показати легенду на графіку за допомогою
plt.legend().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()