Легко найти область вычисления пакета в ROC, но есть ли пакет, который вычисляет площадь под кривой точного возврата?
14
Легко найти область вычисления пакета в ROC, но есть ли пакет, который вычисляет площадь под кривой точного возврата?
Ответы:
По состоянию на июль 2016 года пакет PRROC отлично работает для вычислений как ROC AUC, так и PR AUC.
Предполагая, что у вас уже есть вектор вероятностей (называемый
probs
), вычисленный с вашей моделью, и истинные метки классов находятся в вашем фрейме данных какdf$label
(0 и 1), этот код должен работать:PS: единственное, что сбивает с толку, вы используете
scores.class0 = fg
когдаfg
вычисляется для метки 1, а не 0.Вот примеры кривых ROC и PR с областями под ними:
Столбцы справа - это пороговые вероятности, при которых получается точка на кривой.
Обратите внимание, что для случайного классификатора ROC AUC будет близок к 0,5 независимо от дисбаланса класса. Однако PR AUC сложен (см. « Что такое« базовый уровень »в кривой точного отзыва ).
источник
Немного поиска в Google возвращает один пакет bioc, qpgraph (
qpPrecisionRecall
), и один кран, minet (auc.pr
). У меня нет опыта с ними, хотя. Оба были разработаны, чтобы иметь дело с биологическими сетями.источник
Как только вы получите точную кривую отзыва
qpPrecisionRecall
, например:Вы можете рассчитать его AUC, выполнив это:
Страница справки
qpPrecisionRecall
дает вам подробную информацию о том, что структура данных ожидает в своих аргументах.источник
AUPRC()
это функция вPerfMeas
пакете, которая намного лучше, чемpr.curve()
функция вPRROC
пакете, когда данные очень большие.pr.curve()
это кошмар, и он занимает вечность, когда у вас есть векторы с миллионами записей.PerfMeas
занимает секунды в сравнении.PRROC
написано на R иPerfMeas
написано на C.источник