Як обчислити результат f1 у python (включаючи приклад)
Під час використання моделей класифікації в машинному навчанні загальним показником, який ми використовуємо для оцінки якості моделі, є бал F1 .
Цей показник обчислюється таким чином:
Оцінка F1 = 2 * (точність * пригадування) / (точність + пригадування)
золото:
- Точність : правильні позитивні прогнози відносно загальної кількості позитивних прогнозів
- Нагадування : виправлення позитивних прогнозів проти загальних фактичних позитивних результатів
Наприклад, припустімо, що ми використовуємо модель логістичної регресії, щоб передбачити, чи будуть 400 різних студентських баскетболістів задрафтовані до НБА.
Наступна матриця плутанини узагальнює прогнози, зроблені моделлю:
Ось як розрахувати оцінку F1 моделі:
Точність = Справжній позитивний / (Справжній позитивний + Хибний позитивний) = 120/ (120+70) = 0,63157
Відкликання = Істинний позитивний / (Істинний позитивний + Хибно негативний) = 120 / (120+40) = 0,75
Оцінка F1 = 2 * (0,63157 * 0,75) / (0,63157 + 0,75) = . 6857
У наступному прикладі показано, як обчислити оцінку F1 для цієї точної моделі в Python.
Приклад: обчислення результату F1 у Python
У наступному коді показано, як використовувати функцію f1_score() пакета sklearn у Python для обчислення оцінки F1 для заданого масиву прогнозованих значень і фактичних значень.
import numpy as np from sklearn. metrics import f1_score #define array of actual classes actual = np. repeat ([1, 0], repeats=[160, 240]) #define array of predicted classes pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170]) #calculate F1 score f1_score(actual, pred) 0.6857142857142857
Ми бачимо, що оцінка F1 становить 0,6857 . Це відповідає значенню, яке ми обчислили раніше вручну.
Примітка . Ви можете знайти повну документацію для функції f1_score() тут .
Примітки щодо використання балів F1
Якщо ви використовуєте показник F1 для порівняння кількох моделей, модель з найвищим показником F1 представлятиме модель, яка найкраще здатна класифікувати спостереження за класами.
Наприклад, якщо ви адаптуєте іншу модель логістичної регресії до даних і ця модель має оцінку F1 0,75, ця модель вважатиметься кращою, оскільки вона має вищу оцінку F1.
Додаткові ресурси
Як виконати логістичну регресію в Python
Як створити матрицю плутанини в Python
Як розрахувати збалансовану точність у Python
Оцінка Формули 1 проти точності: що слід використовувати?