Zacznij terazZacznij za darmo

Dostrajanie rozmiaru okna

Chcesz samodzielnie sprawdzić, że optymalny rozmiar okna dla zbioru danych arytmii wynosi 50. Otrzymujesz ten zbiór danych jako ramkę danych pandas o nazwie arrh i chcesz użyć podzbioru danych do momentu czasowego t_now. Dane testowe są dostępne jako X_test i y_test. Przetestujesz różne rozmiary okien – od 10 do 100 – dopasowując do każdego z nich naiwny klasyfikator Bayesa, oceniając jego wynik F1 na danych testowych, a następnie wybierzesz najlepiej działający rozmiar okna. Masz też dostęp do numpy jako np, a funkcja f1_score() została już zaimportowana. Na koniec – pusta lista accuracies jest już zainicjowana, abyś mógł zapisywać w niej dokładności poszczególnych okien.

To ćwiczenie jest częścią kursu

Projektowanie przepływów pracy uczenia maszynowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj indeks przesuwanego okna o rozmiarze w_size kończącego się w t_now, używając metody .loc().
  • Skonstruuj X z przesuwanego okna, usuwając kolumnę class. Zachowaj tę ostatnią kolumnę jako y.
  • Dopasuj naiwny klasyfikator Bayesa do X i y, a następnie użyj go do przewidzenia etykiet dla danych testowych X_test.
  • Oblicz wynik F1 tych predykcji dla każdego rozmiaru okna i znajdź najlepiej działający rozmiar okna.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)]
Edytuj i uruchom kod