Допустим, у нас есть классификатор SVM, как мы генерируем кривую ROC? (Как теоретически) (потому что мы генерируем TPR и FPR с каждым порогом). И как определить оптимальный порог для этого классификатора SVM?
machine-learning
svm
RockTheStar
источник
источник
Ответы:
Используйте классификатор SVM для классификации набора аннотированных примеров, и можно определить «одну точку» в пространстве ROC на основе одного прогноза примеров. Предположим, что количество примеров составляет 200, сначала посчитайте количество примеров из четырех случаев.
Затем вычислите TPR (истинная положительная ставка) и FPR (ложная положительная ставка). и F P R = 28 / ( 28 + 44 ) = 0,3889. В пространстве ROC ось X является FPR, а ось Y - TPR. Таким образом, точка ( 0,3889 , 0,5547 ) получается. Чтобы нарисовать ROC-кривую, просто (1) Отрегулируйте некоторое пороговое значение, которое контролирует количество примеров, помеченных как true или false.
Например, если концентрация определенного белка выше α% означает заболевание, разные значения α дают разные конечные значения TPR и FPR. Пороговые значения могут быть просто определены способом, аналогичным поиску по сетке; маркировать обучающие примеры различными пороговыми значениями, обучать классификаторы различными наборами помеченных примеров, запускать классификатор на тестовых данных, вычислять значения FPR и выбирать пороговые значения, охватывающие низкий (близкий к 0) и высокий (близкий к 1) FPR значения, т. е. близкие к 0, 0,05, 0,1, ..., 0,95, 1
(2) Создание множества наборов аннотированных примеров
(3) Запуск классификатора для наборов примеров
(4) Вычисление точки (FPR, TPR) для каждого из них
(5) нарисуйте окончательную кривую ROC
Некоторые подробности можно проверить по адресу http://en.wikipedia.org/wiki/Receiver_operating_characteristic .
Кроме того, эти две ссылки полезны для определения оптимального порога. Простой метод состоит в том, чтобы взять тот с максимальной суммой истинно положительных и ложно отрицательных ставок. Другие более точные критерии могут включать другие переменные, включающие различные пороговые значения, такие как финансовые затраты и т. Д.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -кривый-приемник операционной characteristic.html
источник
Действительно простой способ выбрать порог состоит в том, чтобы взять медианные предсказанные значения положительных случаев для тестового набора. Это становится вашим порогом.
Порог приближается относительно того же порога, который вы получили бы, используя кривую roc, где истинно положительная скорость (tpr) и 1 - ложноположительная скорость (fpr) перекрываются. Этот крест tpr (cross) 1-fpr максимизирует истинное положительное значение, минимизируя ложное отрицание.
источник
Выберите точку, ближайшую к верхнему левому углу пространства ROC. Теперь порог, используемый для генерации этой точки, должен быть оптимальным.
источник
источник