Haz predicciones con un random forest
Para ajustar un modelo de Machine Learning que prediga carteras ideales, necesitamos crear conjuntos de entrenamiento y de prueba para evaluar el rendimiento. Haremos lo mismo que en capítulos anteriores: tomamos nuestros arrays features y targets y los separamos en función de un train_size que definimos. A menudo, el tamaño de entrenamiento es alrededor del 70–90% de los datos.
Luego ajustamos nuestro modelo (en este caso, un random forest) con los datos de entrenamiento y evaluamos los puntajes R\(^2\) en entrenamiento y prueba usando .score() del modelo. En este ejercicio, los hiperparámetros ya están definidos, pero normalmente querrías hacer una búsqueda con ParameterGrid como hicimos en capítulos anteriores.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Establece
train_sizecomo el 85% del conjunto de datos de entrenamiento completo usando la propiedad.shapedefeatures. - Crea los objetivos de entrenamiento y prueba a partir de
targetsusando el indexado de Python. - Ajusta el modelo de random forest con
train_featuresytrain_targets.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]
# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))