CommencezCommencez gratuitement

Ajuster la taille de la fenêtre

Vous voulez vérifier par vous-même que la taille de fenêtre optimale pour l'ensemble de données sur l'arythmie est 50. On vous a fourni l'ensemble de données sous forme de trame de données pandas nommée arrh, et vous souhaitez 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 essaierez plusieurs tailles de fenêtre, de 10 à 100, ajusterez un classificateur de Bayes naïf à chaque fenêtre, évaluerez son F1 sur les données de test, puis choisirez 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 vous permettre d'y stocker les justesses des fenêtres.

Cette activité fait partie du cours

Concevoir des flux de travail Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • 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 retirant la colonne class. Stockez cette dernière colonne dans y.
  • Ajustez un classificateur de Bayes naïf 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 ce code d’exemple.

# 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