Установите порог отсечки при прогнозировании в R - PullRequest
0 голосов
/ 17 июня 2020

Я пробую разные методы для классификации двоичной проблемы.

Я использую команду «предсказать» практически для каждого и confusionMatrix из пакета каретки для оценки результатов, но я просто могу » t найти способ указать лучший порог отсечки (который я уже нашел, используя ro c и извлекая координаты).

Например: я знаю, что мой лучший порог отсечки составляет 0,77, но я не могу найти способ использовать его в функции прогнозирования, которая по умолчанию использует 0,5.

Есть ли способ сделать это?

Спасибо

1 Ответ

1 голос
/ 17 июня 2020

Вот что вы можете попробовать, если я хорошо понял:

# a model with a famous dataset
model <- glm(formula= vs ~ wt + disp, data=mtcars, family=binomial)

# let's predict the same data: use type response to have probability as resulthere you decide the cutoff and put as factor, in one line
pred_ <- as.factor(ifelse(predict(model, mtcars, type="response")>0.7,"1","0"))

# here we go!
confusionMatrix(pred_, as.factor(mtcars$vs))

    Confusion Matrix and Statistics

          Reference
Prediction  0  1
         0 16  3
         1  2 11

               Accuracy : 0.8438          
                 95% CI : (0.6721, 0.9472)
    No Information Rate : 0.5625          
    P-Value [Acc > NIR] : 0.000738        

                  Kappa : 0.68            

 Mcnemar's Test P-Value : 1.000000        

            Sensitivity : 0.8889          
            Specificity : 0.7857          
         Pos Pred Value : 0.8421          
         Neg Pred Value : 0.8462          
             Prevalence : 0.5625          
         Detection Rate : 0.5000          
   Detection Prevalence : 0.5938          
      Balanced Accuracy : 0.8373          

       'Positive' Class : 0 
...