Сравнить классификаторы на основе AUROC или точности?

11

У меня есть проблема двоичной классификации, и я экспериментирую с различными классификаторами: я хочу сравнить классификаторы. какой из них лучше измерить AUC или точность? И почему?

Raondom Forest: AUC: 0.828  Accuracy: 79.6667 %
           SVM: AUC: 0.542  Accuracy: 85.6667 %
Сина
источник

Ответы:

13

Правильно классифицированная пропорция является неправильным правилом подсчета очков, т. Е. Оптимизируется фиктивной моделью. Я бы использовал правильное квадратичное правило оценки, известное как оценка Бриера, или вероятность соответствия (область под кривой ROC в двоичном случае ). Случайный лес работает лучше, чем SVM в вашем случае.Y

Фрэнк Харрелл
источник
Если для субъекта в вашей выборке является наблюдаемым двоичным результатом, а является прогнозируемой вероятностью '1', то оценка Бриера равна (если я помню) . Поскольку у OP есть проблема двоичной классификации, известны, но как вы вычислите для SVM? ioi{0,1}f^iB=1ni=1n(f^ioi)2oif^i
@fcop Существует способ преобразования прогноза двоичной классификации SVM в вероятность, называемый Platt Scaling ( en.wikipedia.org/wiki/Platt_scaling ). По сути, вместо вычисления SVM-классификации ( или ) как , где - это решение выпуклого квадратичного программирования SVM Проблема, масштабирование Платта требует логистического преобразования : где и - параметры, определяемые алгоритмом масштабирования Платта. y^i=+11y^i=sign(g(yi,xi))g(yi,xi)g(yi,xi)f^i=P(Y=1|xi)=11+exp(A×g(yi,xi)+B)AB
RobertF
8

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

Точность (вместе с чувствительностью и специфичностью) является очень простой, но смещенной метрикой, которая вынуждает вас смотреть на абсолютный результат предсказания и не открывает для утверждения вероятности класса или ранжирования. Он также не учитывает совокупность, которая допускает неправильное толкование как модель, дающая 95% -ную точность для совокупности с 95% -ной вероятностью быть случайной в правильном случае, не очень хорошая модель, даже если точность высокая.

AUC - хороший показатель для подтверждения точности модели, которая не зависит от вероятностей класса населения. Однако он ничего не скажет вам о том, насколько хороши оценки вероятности. Вы могли бы получить высокий AUC, но все еще иметь очень искаженные оценки вероятности. Эта метрика более разборчива, чем точность и определенно даст вам лучшие модели при использовании в сочетании с некоторым правильным правилом подсчета очков, например, оценкой Бриера, как упомянуто в другом посте.

Вы можете получить более формальное доказательство здесь, хотя этот документ довольно теоретический: AUC: статистически непротиворечивая и более дискриминационная мера, чем точность

Однако есть множество хороших метрик. Функции потерь для оценки и классификации вероятности двоичного класса: структура и приложения - это хорошая статья, в которой изучаются правильные правила оценки, такие как оценка Бриера.

Еще одна интересная статья с метриками для оценки эффективности модели - это Оценка: от точности, отзыва и F-меры до ROC, информированности, маркировки и корреляции , в которой рассматриваются другие хорошие метрики производительности, такие как информированность.

Подводя итог, я бы порекомендовал взглянуть на оценку AUC / Gini и Brier, чтобы утверждать производительность модели, но в зависимости от цели вашей модели другие метрики могут лучше удовлетворить вашу проблему.

пока
источник
Связь для оценки: от точности, отзыва и F-меры к ROC, информированность, заметность и корреляция мертвы
vonjd
Если для субъекта в вашей выборке является наблюдаемым двоичным результатом, а является прогнозируемой вероятностью '1', то оценка Бриера равна (если я помню) . Поскольку у OP есть проблема двоичной классификации, известны, но как вы вычислите для SVM? ioi{0,1}f^iB=1ni=1n(f^ioi)2oif^i
Никакой бриксор не подходит для методов, которые только дают вам результат, а не вероятность. Niether - auc, хотя, поскольку это скажет вам, насколько хорошо вы оцениваете свои прогнозы. Имея только результаты, вы получите только точку в пространстве ROC, следовательно, область под кривой будет треугольником. Но он все равно даст вам число и, следовательно, будет более значительным, хотя и более или менее превратится в проигрыш 0-1. Если у вас есть только результаты, я советую взглянуть на Precision, Recall и Coapp's Kappa, которые являются показателями, разработанными для тех случаев, когда у вас есть результаты.
а