ComeçarComece de graça

Ajustando o tamanho da janela

Você quer verificar por conta própria que o tamanho de janela ideal para o conjunto de dados de arritmia é 50. Você recebeu o conjunto como um data frame do pandas chamado arrh e quer usar um subconjunto dos dados até o tempo t_now. Seus dados de teste estão disponíveis como X_test, y_test. Você vai testar vários tamanhos de janela, de 10 a 100, ajustar um classificador Naive Bayes a cada janela, avaliar seu F1 score nos dados de teste e, em seguida, escolher o tamanho de janela com melhor desempenho. Você também tem numpy disponível como np, e a função f1_score() já foi importada. Por fim, uma lista vazia chamada accuracies foi inicializada para você armazenar as acurácias das janelas.

Este exercício faz parte do curso

Projetando Workflows de Machine Learning em Python

Ver curso

Instruções do exercício

  • Defina o índice de uma janela deslizante de tamanho w_size terminando em t_now usando o método .loc().
  • Construa X a partir da janela deslizante removendo a coluna class. Armazene essa última coluna como y.
  • Ajuste um classificador Naive Bayes a X e y, e use-o para prever os rótulos dos dados de teste X_test.
  • Calcule o F1 score dessas previsões para cada tamanho de janela e encontre o tamanho de janela com melhor desempenho.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)]
Editar e executar o código