ÎncepețiÎncepe gratuit

Ajustarea dimensiunii ferestrei

Vrei să verifici personal că dimensiunea optimă a ferestrei pentru setul de date privind aritmia este 50. Ți s-a pus la dispoziție setul de date sub forma unui DataFrame pandas numit arrh și vrei să folosești un subset al datelor până la momentul t_now. Datele de testare sunt disponibile ca X_test și y_test. Vei testa mai multe dimensiuni de fereastră, de la 10 la 100, vei antrena un clasificator Naïve Bayes pentru fiecare fereastră, vei evalua scorul F1 pe datele de testare și vei alege dimensiunea cu cea mai bună performanță. Ai la dispoziție și numpy importat ca np, iar funcția f1_score() a fost deja importată. În plus, o listă goală numită accuracies a fost inițializată pentru a stoca acuratețile fiecărei ferestre.

Acest exercițiu face parte din cursul

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește indexul unei ferestre glisante de dimensiune w_size care se oprește la t_now, folosind metoda .loc().
  • Construiește X din fereastra glisantă prin eliminarea coloanei class. Stochează această coloană ca y.
  • Antrenează un clasificator Naïve Bayes pe X și y, apoi folosește-l pentru a prezice etichetele datelor de testare X_test.
  • Calculează scorul F1 al acestor predicții pentru fiecare dimensiune de fereastră și identifică dimensiunea cu cea mai bună performanță.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)]
Editează și rulează codul