1. Learn
  2. /
  3. Курси
  4. /
  5. Проєктування робочих процесів машинного навчання в Python

Connected

Вправа

Оптимізація порога

Ви чули, що значення за замовчуванням 0,5 теоретично максимізує accuracy, але хочете перевірити це на практиці. Спробуйте кілька різних значень порога, щоб побачити, яку accuracy ви отримаєте, і визначити поріг із найкращим результатом. Повторіть експеримент для метрики F1. Чи є 0,5 оптимальним порогом? Чи збігаються оптимальні пороги для accuracy та для F1? З'ясуйте це! У вас є матриця scores, отримана під час оцінювання тестових даних. Еталонні мітки для тестових даних також доступні як y_test. Нарешті, попередньо завантажено дві функції numpy, argmin() та argmax(), які повертають індекси мінімального та максимального значень в масиві відповідно, а також метрики accuracy_score() і f1_score().

Інструкції

100 XP
  • Створіть діапазон значень порога, що містить 0.0, 0.25, 0.5, 0.75 і 1.0.
  • За допомогою подвійного спискового включення збережіть передбачення для кожного порога з діапазону. Нагадаємо, що отримати мітки для матриці балів за порогом thr можна так: [s[1] > thr for s in scores].
  • Пройдіться цим списком і обчисліть accuracy для кожного порога. Повторіть для метрики F1.
  • Використовуючи argmin() або argmax(), знайдіть оптимальний поріг для accuracy та для F1.