Як обчислити бал f1 у r (з прикладом)
Під час використання моделей класифікації в машинному навчанні загальним показником, який ми використовуємо для оцінки якості моделі, є бал 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 для цієї моделі в R.
Приклад: обчислення оцінки F1 у R
У наведеному нижче коді показано, як використовувати функцію confusionMatrix() із пакета кареток у R для обчислення оцінки F1 (та інших показників) для даної моделі логістичної регресії:
library (caret) #define vectors of actual values and predicted values actual <- factor(rep(c(1, 0), times=c(160, 240))) pred <- factor(rep(c(1, 0, 1, 0), times=c(120, 40, 70, 170))) #create confusion matrix and calculate metrics related to confusion matrix confusionMatrix(pred, actual, mode = " everything ", positive=" 1 ") Reference Prediction 0 1 0 170 40 1 70 120 Accuracy: 0.725 95% CI: (0.6784, 0.7682) No Information Rate: 0.6 P-Value [Acc > NIR]: 1.176e-07 Kappa: 0.4444 Mcnemar's Test P-Value: 0.005692 Sensitivity: 0.7500 Specificity: 0.7083 Pos Pred Value: 0.6316 Neg Pred Value: 0.8095 Accuracy: 0.6316 Recall: 0.7500 F1: 0.6857 Prevalence: 0.4000 Detection Rate: 0.3000 Detection Prevalence: 0.4750 Balanced Accuracy: 0.7292 'Positive' Class: 1
Ми бачимо, що оцінка F1 становить 0,6857 . Це відповідає значенню, яке ми обчислили раніше вручну.
Примітка : нам потрібно вказати mode=”everything” , щоб результат F1 відображався у вихідних даних.
Якщо ви використовуєте показник F1 для порівняння кількох моделей, модель з найвищим показником F1 представлятиме модель, яка найкраще здатна класифікувати спостереження за класами.
Наприклад, якщо ви адаптуєте іншу модель логістичної регресії до даних і ця модель має оцінку F1 0,85, ця модель вважатиметься кращою, оскільки вона має вищу оцінку F1.
Додаткові ресурси
Як виконати логістичну регресію в R
Оцінка Формули 1 проти точності: що слід використовувати?