Evaluar el rendimiento
Por último, y como siempre, queremos evaluar el rendimiento de nuestro mejor modelo para comprobar qué tal lo estamos haciendo. Idealmente, lo mejor es hacer backtesting, pero es un proceso complejo que no podemos cubrir en este curso.
Ya hemos visto las puntuaciones R\(^2\), pero vamos a echar un vistazo al diagrama de dispersión de predicciones frente a valores reales usando matplotlib. Las predicciones perfectas formarían una línea diagonal desde la esquina inferior izquierda hasta la superior derecha.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Usa el mejor valor para
max_featuresen nuestroRandomForestRegressor(rfr) que encontramos en el ejercicio anterior (fue 4). - Haz predicciones con el modelo usando
train_featuresytest_features. - Representa en un diagrama de dispersión los valores reales (train/test_targets) frente a las predicciones (train/test_predictions) y etiqueta los conjuntos de datos como
trainytest.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Use the best hyperparameters from before to fit a random forest model
rfr = RandomForestRegressor(n_estimators=200, max_depth=3, max_features=____, random_state=42)
rfr.fit(train_features, train_targets)
# Make predictions with our model
train_predictions = rfr.predict(____)
test_predictions = ____
# Create a scatter plot with train and test actual vs predictions
plt.scatter(train_targets, train_predictions, label='train')
plt.scatter(____)
plt.legend()
plt.show()