Evalúa nuestros resultados
Una vez que tenemos el ajuste lineal y las predicciones, queremos ver qué tal son para decidir si nuestro modelo merece la pena o no. Idealmente, querríamos hacer un backtest de cualquier estrategia de trading. Sin embargo, esto es complejo y suele llevar tiempo.
Una forma más rápida de entender el rendimiento del modelo es mirar métricas de evaluación de regresión como R\(^2\) y representar las predicciones frente a los valores reales de los objetivos. Unas predicciones perfectas formarían una línea recta y diagonal en ese gráfico, lo que nos permite estimar visualmente cómo funcionan las predicciones en distintas zonas de cambios de precio. Podemos usar la función .scatter() de matplotlib para crear diagramas de dispersión de las predicciones y los valores reales.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Muestra
test_predictionsfrente atest_targetsen un diagrama de dispersión, con un 20% de opacidad en los puntos (usa el parámetroalphapara fijar la opacidad). - Traza la línea de predicción perfecta usando
np.arange()y los valores mínimo y máximo del eje x (xmin,xmax). - Muestra la leyenda en el gráfico con
plt.legend().
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()