Ladění velikosti okna
Chceš si sám ověřit, že optimální velikost okna pro datovou sadu arrhythmia je 50. Máš k dispozici datovou sadu jako pandas datový rámec s názvem arrh a chceš použít podmnožinu dat až do časového bodu t_now. Testovací data jsou dostupná jako X_test a y_test. Vyzkouším různé velikosti okna v rozsahu od 10 do 100, na každé okno natrénuješ klasifikátor naivní Bayes, vyhodnotíš jeho F1 skóre na testovacích datech a vybereme nejlépe fungující velikost okna. K dispozici máš také numpy jako np a funkce f1_score() je již naimportovaná. Na konec byl inicializován prázdný seznam accuracies, do kterého budeš ukládat přesnosti jednotlivých oken.
Toto cvičení je součástí kurzu
Designing Machine Learning Workflows in Python
Pokyny k cvičení
- Definuj index posuvného okna o velikosti
w_sizekončícího vt_nowpomocí metody.loc(). - Sestav
Xz posuvného okna odstraněním sloupceclass. Tento sloupec ulož jakoy. - Natrénuj klasifikátor naivní Bayes na
Xaya použij ho k predikci štítků testovacích datX_test. - Vypočítej F1 skóre těchto predikcí pro každou velikost okna a najdi nejlépe fungující velikost okna.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)]