Как я могу построить кривую ROC с AUC? - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь классифицировать два разных случая. Поэтому я построил деревья решений, матрицу путаницы и рассчитал точность, чувствительность и специфику. Я запускал свою программу 100 раз, поэтому у меня 100 значений точности, чувствительности и специфичности.

Что я хочу сделать сейчас, так это построить кривую ROC с AUC. Я провел несколько исследований, и все эти примеры обсуждали вероятности, и я не знаю, что именно.

Так может ли кто-нибудь помочь мне построить это? Я не знаю, какую часть своего кода я должен представить, поэтому, пожалуйста, не стесняйтесь просить об этом.

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете использовать такой пакет, как pROC, что может быть проще, чем создавать его самостоятельно. Вы используете функцию roc () для создания объекта roc, а затем plot () для построения объекта и создания кривой ROC.

Кроме того, не похоже, что вы делаете это правильно. Кривая ROC рассчитывается из значений чувствительности и специфичности, взятых в разных точках разреза в диапазоне возможных вероятностей вашей модели, т.е. в точках разреза между 0 и 1. Вам не нужно создавать 100 наборов предсказаний модели, только одна модель будет достаточно.

Попробуйте что-то вроде этого, где у - переменная ответа, а р - вектор значений вероятности, выведенных вашей моделью:

plot(roc(y, p)), print.auc = TRUE)
...