Як обчислити бал 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 проти точності: що слід використовувати?

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *