EmpezarEmpieza gratis

Crea las características de train y test

Antes de ajustar nuestro modelo lineal, queremos añadir una constante a nuestras características para incluir un intercepto en el modelo.

También queremos crear las características de train y test. Así podremos ajustar el modelo con el conjunto de entrenamiento y evaluar su rendimiento en el conjunto de prueba. Siempre queremos comprobar el rendimiento en datos que el modelo no ha visto para asegurarnos de que no estamos sobreajustando, es decir, memorizando patrones del entrenamiento con demasiada exactitud.

Con una serie temporal como esta, normalmente usamos los datos más antiguos como conjunto de entrenamiento y los más recientes como conjunto de prueba. Así podemos evaluar el rendimiento del modelo en los datos más recientes, lo que simula de forma más realista las predicciones sobre datos que aún no hemos visto.

Este ejercicio forma parte del curso

Machine Learning para finanzas con Python

Ver curso

Instrucciones del ejercicio

  • Importa la biblioteca statsmodels.api con el alias sm.
  • Añade una constante a la variable features usando la función .add_constant() de statsmodels.
  • Define train_size como el 85% del número total de puntos de datos (número de filas) usando la propiedad .shape[0] de features o targets.
  • Separa linear_features y targets en conjuntos de train y test usando train_size y el indexado de Python (p. ej., [start:stop]).

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Import the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Editar y ejecutar código