CommencerCommencer gratuitement

Ajuster la taille de la fenêtre

Vous souhaitez vérifier par vous-même que la taille de fenêtre optimale pour le jeu de données d’arythmie est 50. On vous a fourni le jeu de données sous forme de data frame pandas nommé arrh, et vous voulez utiliser un sous-ensemble des données jusqu’au temps t_now. Vos données de test sont disponibles sous X_test, y_test. Vous allez essayer plusieurs tailles de fenêtre, de 10 à 100, ajuster un classifieur naïf de Bayes sur chaque fenêtre, évaluer son score F1 sur les données de test, puis retenir la taille de fenêtre la plus performante. Vous avez aussi numpy disponible sous np, et la fonction f1_score() a déjà été importée. Enfin, une liste vide appelée accuracies a été initialisée pour que vous y stockiez les précisions des fenêtres.

Cet exercice fait partie du cours

Concevoir des workflows de Machine Learning en Python

Afficher le cours

Instructions

  • Définissez l’index d’une fenêtre glissante de taille w_size se terminant à t_now à l’aide de la méthode .loc().
  • Construisez X à partir de la fenêtre glissante en supprimant la colonne class. Stockez cette dernière colonne dans y.
  • Entraînez un classifieur naïf de Bayes sur X et y, puis utilisez-le pour prédire les étiquettes des données de test X_test.
  • Calculez le score F1 de ces prédictions pour chaque taille de fenêtre et trouvez la taille de fenêtre la plus performante.

Exercice interactif pratique

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

# Loop over window sizes
for w_size in wrange:

    # Define sliding window
    sliding = arrh.____[____:t_now]

    # Extract X and y from the sliding window
    X, y = sliding.____('class', ____), sliding[____]
    
    # Fit the classifier and store the F1 score
    preds = GaussianNB().fit(____, ____).____(X_test)
    accuracies.append(____(____, ____))

# Estimate the best performing window size
optimal_window = ____[np.____(accuracies)]
Modifier et exécuter le code