Kom igångKom igång gratis

Justera fönsterstorlek

Du vill kontrollera att den optimala fönstorstorleken för arytmidatamängden är 50. Du har fått datamängden som en pandas-dataram kallad arrh, och vill använda ett urval av datan fram till tidpunkten t_now. Testdatan finns tillgänglig som X_test och y_test. Du kommer att prova ett antal fönsterstorlekar, från 10 till 100, anpassa en naiv Bayes-klassificerare till varje fönster, utvärdera dess F1-poäng på testdatan och sedan välja den fönsterstorlek som presterar bäst. Du har även tillgång till numpy som np, och funktionen f1_score() har redan importerats. Slutligen har en tom lista kallad accuracies initierats åt dig för att lagra noggrannhetsvärden för fönstren.

Den här övningen är en del av kursen

Att designa maskininlärningsflöden i Python

Visa kurs

Övningsinstruktioner

  • Definiera indexet för ett glidande fönster av storleken w_size som slutar vid t_now med hjälp av metoden .loc().
  • Konstruera X från det glidande fönstret genom att ta bort kolumnen class. Lagra den kolumnen som y.
  • Anpassa en naiv Bayes-klassificerare till X och y, och använd den för att förutsäga etiketterna för testdatan X_test.
  • Beräkna F1-poängen för dessa förutsägelser för varje fönsterstorlek och identifiera den fönsterstorlek som presterar bäst.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)]
Redigera och kör kod