Как вычислить коэффициенты ложного принятия и ложного отклонения с помощью одного класса SVM Python

#one-class-classification

Вопрос:

Как вычислить коэффициенты ложного принятия и ложного отклонения, используя один класс SVM? У меня есть пользовательские данные с примерно 70000 образцами. Я пытаюсь применить здесь SVM одного класса. Количество полученных значений -1 равно 12765, а остальные отображаются как 1. Исходя из полученных значений, как мне вычислить частоту ложных срабатываний ?

Ответ №1:

Вы можете вычислить его с помощью матрицы путаницы.

 FAR = FPR = FP/(FP   TN)

FRR = FNR = FN/(FN   TP)

where FP: False positive
      FN: False Negative
      TN: True Negative
      TP: True Positive
 

Вы также можете найти оригинальный ответ здесь

Комментарии:

1. Я понимаю формулу для вычисления FAR и FRR и пробовал ее с использованием двоичных классификаторов. Но мой вопрос в том, как мне вычислить его в классификаторе одного класса ? Как уже упоминалось, у меня есть количество значений » -1 «как12000, а остальные 58000-как значения » 1″.

2. Например: Когда вы предсказываете только «класс собаки» в своей модели, и если ваша модель не предсказывает правильно, вы все равно получите 2 метки. Один за правильное предсказание Собаки, а другой за ложное предсказание. Следовательно, не было бы такой вещи, как классификатор одного класса. Единственный класс подразумевает, что ответ всегда равен 1, но мы не должны оставлять тот факт, что ответ не равен 1.