Как вычислить площадь под кривой ROC из прогнозируемых вероятностей класса в R с использованием пакета pROC или ROCR?

Я использовал библиотеку каретки для вычисления вероятностей классов и прогнозов для задачи двоичной классификации, используя 10-кратную перекрестную проверку и 5-кратное повторение.

Теперь у меня есть значения ИСТИНА (наблюдаемые значения для каждой точки данных), значения ПРОГНОЗ (по алгоритму), вероятности класса 0 и Вероятности класса 1, которые использовались алгоритмом для прогнозирования метки класса.

Как теперь создать объект roc, используя библиотеку ROCR или pROC, а затем вычислить значение auc?

Предположим, что все эти значения хранятся в predictions фрейме данных. например predictions$pred и predictions$obs - это прогнозируемые и истинные значения соответственно, и так далее ...


person exAres    schedule 27.04.2015    source источник


Ответы (1)


Поскольку вы не предоставили воспроизводимый пример, я предполагаю, что у вас есть проблема с двоичной классификацией, и вы прогнозируете Class, которые будут либо Good, либо Bad.

predictions <- predict(object=model, test[,predictors], type='prob')

Ты можешь сделать:

> pROC::roc(ifelse(test[,"Class"] == "Good", 1, 0), predictions[[2]])$auc
# Area under the curve: 0.8905
person Steven Beaupré    schedule 05.05.2015