У меня есть выход из svmlight, который имеет x = прогнозы (0,1, -0,6,1,2, -0,7 ...), y = фактический класс {+ 1, -1}. Я хочу создать кривую ROC для 10 различных разных пороговых значений (пусть t - вектор, содержащий 10 различных пороговых значений). Я проверил пакет ROCR, но я не видел никакой опции для подачи порогового вектора. Мне нужно рассчитать TPR и FPR для каждого порогового значения и графика. Есть ли другой способ сделать это? Я новичок в программировании R.создать ROC из 10 различных пороговых значений
ответ
ROCR создает кривую ROC путем построения TPR и FPR для множества разных пороговых значений. Это можно сделать только с помощью одного набора прогнозов и меток, потому что, если наблюдение классифицируется как положительное для одного порога, оно также будет классифицироваться как положительное при более низком пороге. Я нашел this paper, чтобы более подробно объяснить кривые ROC.
Вы можете создать сюжет следующим образом в ROCR где х есть вектор предсказаний, и у есть вектор класса меток:
pred <- prediction(x,y)
perf <- performance(pred,"tpr","fpr")
plot(perf)
Если вы хотите получить доступ к TPR и FPR, связанный со всеми пороги, вы можете проверить производительность объекта «Perf»:
str(perf)
следующий ответ показывает, как получить пороговые значения более подробно:
Вы можете сделать это с помощью пакета pROC
. Сначала создайте кривую ROC (для всех порогов):
myROC <- roc(y, x) # with the x and y you defined in your question
И тогда вы запрашиваете это кривой для 10 (или любого количества) пороговых значения, которые Вы сохранили в t
:
coords(myROC, x = t, input="threshold", ret = c("threshold", "se", "sp"))
Чувствительность является вашим TPR, а специфика - ваш FPR.
Отказ от ответственности: Я являюсь автором pROC.
- 1. Получение пороговых значений из кривой ROC
- 2. Оптимизация вычисления пороговых значений
- 3. Выбор пороговых значений для гистерезиса
- 4. кластеризация на основе пороговых значений
- 5. Адаптивные параметры пороговых значений путаницы
- 6. создать единый массив из различных значений
- 7. Участок множественным ROC из нескольких столбца значений
- 8. SSRS - Круговая диаграмма - Множество накопленных пороговых значений
- 9. Получение различных значений из диапазона
- 10. Поиск пороговых значений для обычного порогового классификатора
- 11. Установка различных пороговых значений в зависимости от того, с каким именем файла заканчивается макрос ImageJ
- 12. Выбор различных значений из JSON
- 13. Выбор различных значений из события
- 14. сумма различных значений из DataTable
- 15. Как создать представление оракула из различных таблиц без общих значений
- 16. Получение кривой ROC из createLBPHFaceRecognizer
- 17. Изображения пороговых изображений
- 18. Вытягивание различных значений из массива в java
- 19. Как обнаружить большие галактики с использованием пороговых значений?
- 20. Python: обнаружение, когда переменная превышает интервал пороговых значений
- 21. Как запросить ТОП 10, AVG с различных значений
- 22. Elasticsearch: Как получить 10 лучших различных значений для поля
- 23. Количество различных значений
- 24. создать массив из различных объектов
- 25. Создайте список различных значений из gridview
- 26. отсчет() для различных значений
- 27. для определения пороговых значений между различными кадрами данных
- 28. Как создать кривую ROC из нескольких классификационных моделей
- 29. Почему мы не получаем гладкую кривую ROC в моделях CART
- 30. Входы для кривой ROC
Я также затрудняюсь для того, как установить пороги в пред. Я попробовал наивный подход, который, что неудивительно, не сработал: pred <-prediction (x, y, alpha.values = c (0,0,0.05,0.1,0.15,0.2,0.25,0.3)) У меня есть две системы прогнозирования , но каждый из них производит неизменно разные числа, поэтому мне нужно заставить ROCR применять одни и те же пороговые значения для обеих систем прогнозирования. Кто-нибудь сделал это? –