CommencerCommencer gratuitement

Validation croisée avec mélange aléatoire

Comme vous vous en souvenez, la validation croisée consiste à diviser plusieurs fois vos données en ensembles d’entraînement et de test. À chaque itération, vous choisissez un ensemble d’entraînement et de test différent. Dans cet exercice, vous allez effectuer une validation croisée classique ShuffleSplit sur les données de valorisation d’entreprises vues plus tôt. Nous verrons ensuite les adaptations nécessaires pour les séries temporelles. Nous utiliserons les mêmes données historiques de prix pour plusieurs grandes entreprises.

Une instance de l’objet de régression linéaire (model) est disponible dans votre espace de travail, ainsi que la fonction r2_score() pour l’évaluation. Les données sont stockées dans les tableaux X et y. Nous avons également fourni une fonction utilitaire (visualize_predictions()) pour vous aider à visualiser les résultats.

Cet exercice fait partie du cours

Machine Learning for Time Series Data in Python

Afficher le cours

Instructions

  • Initialisez un objet de validation croisée ShuffleSplit avec 10 divisions.
  • Parcourez les divisions de CV à l’aide de cet objet. À chaque itération :
    • Ajustez un modèle à l’aide des indices d’entraînement.
    • Générez des prédictions à l’aide des indices de test, calculez le score du modèle (\(R^2\)) à partir des prédictions, et collectez les résultats.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import ShuffleSplit and create the cross-validation object
from sklearn.model_selection import ShuffleSplit
cv = ____(____, random_state=1)

# Iterate through CV splits
results = []
for tr, tt in cv.____(X, y):
    # Fit the model on training data
    ____(X[tr], y[tr])
    
    # Generate predictions on the test data, score the predictions, and collect
    prediction = ____(X[tt])
    score = r2_score(____, ____)
    results.append((prediction, score, tt))

# Custom function to quickly visualize predictions
visualize_predictions(results)
Modifier et exécuter le code