ПочатиПочніть безкоштовно

Підбір розміру вікна

Ви хочете самостійно перевірити, що оптимальний розмір вікна для набору даних про аритмію дорівнює 50. Ви отримали набір даних як датафрейм pandas під назвою arrh і хочете використати підмножину даних до моменту часу t_now. Ваші тестові дані доступні як X_test, y_test. Ви спробуєте кілька розмірів вікна в діапазоні від 10 до 100, навчите наївний байєсівський класифікатор на кожному вікні, оціните його F1-міру на тестових даних і потім оберете розмір вікна з найкращим результатом. Також доступний numpy як np, а функцію f1_score() уже імпортовано. Нарешті, для збереження точностей для кожного вікна для вас ініціалізовано порожній список accuracies.

Ця вправа є частиною курсу

Проєктування робочих процесів машинного навчання в Python

Переглянути курс

Інструкції до вправи

  • Визначте індекс ковзного вікна розміру w_size, яке закінчується в t_now, використовуючи метод .loc().
  • Побудуйте X з цього вікна, видаливши стовпець class. Збережіть цей стовпець окремо як y.
  • Навчіть наївний байєсівський класифікатор на X і y, а потім використайте його, щоб передбачити мітки для тестових даних X_test.
  • Обчисліть F1-міру цих передбачень для кожного розміру вікна та знайдіть розмір вікна з найкращою продуктивністю.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)]
Редагувати та запускати код