ComenzarEmpieza gratis

Ajustar el tamaño de la ventana

Quieres comprobar por ti mismo que el tamaño de ventana óptimo para el conjunto de datos de arritmia es 50. Se te ha proporcionado el conjunto como un data frame de pandas llamado arrh, y quieres usar un subconjunto de los datos hasta el tiempo t_now. Tus datos de prueba están disponibles como X_test, y_test. Probarás varios tamaños de ventana, del 10 al 100, ajustarás un clasificador de naive Bayes a cada ventana, evaluarás su F1 score en los datos de prueba y, después, elegirás el tamaño de ventana con mejor rendimiento. También tienes numpy disponible como np, y la función f1_score() ya se ha importado. Por último, se ha inicializado para ti una lista vacía llamada accuracies para que almacenes las accuracies de las ventanas.

Este ejercicio forma parte del curso

Diseño de flujos de trabajo de Machine Learning en Python

Ver curso

Instrucciones del ejercicio

  • Define el índice de una ventana deslizante de tamaño w_size que termine en t_now usando el método .loc().
  • Construye X a partir de la ventana deslizante eliminando la columna class. Guarda esa última columna como y.
  • Ajusta un clasificador de naive Bayes con X y y, y úsalo para predecir las etiquetas de los datos de prueba X_test.
  • Calcula el F1 score de estas predicciones para cada tamaño de ventana y encuentra el tamaño de ventana con mejor rendimiento.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código