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
Övningsinstruktioner
- Definiera indexet för ett glidande fönster av storleken
w_sizesom slutar vidt_nowmed hjälp av metoden.loc(). - Konstruera
Xfrån det glidande fönstret genom att ta bort kolumnenclass. Lagra den kolumnen somy. - Anpassa en naiv Bayes-klassificerare till
Xochy, och använd den för att förutsäga etiketterna för testdatanX_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)]