Obtén predicciones y primera evaluación
Ahora que tenemos un modelo de random forest entrenado (rfr), queremos usarlo para obtener predicciones sobre el conjunto de prueba. Hacemos esto para evaluar el rendimiento de nuestro modelo: de forma básica, ¿lo hace igual o mejor que simplemente comprar el índice, SPY?
Usaremos el método típico de sklearn .predict(features), luego multiplicaremos nuestros rendimientos mensuales por las predicciones de cartera. Sumamos estos valores con np.sum() ya que habrá 3 filas por cada mes. Después, representamos tanto los rendimientos mensuales de nuestras predicciones como los de SPY y comparamos ambos.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Usa el método
.predict()del modelo de random forestrfrpara generar predicciones sobretrain_featuresytest_features. - Multiplica la porción de prueba de
returns_monthlyportest_predictionspara obtener los rendimientos de nuestras predicciones del conjunto de prueba. - Representa los
returns_monthlydel conjunto de prueba para'SPY'(todo desdetrain_sizehasta el final de los datos).
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()