#machine-learning #classification #vowpalwabbit
#машинное обучение #классификация #vowpalwabbit
Вопрос:
Есть ли способ вычислить AUC в Vowpal Wabbit?
Одной из причин, по которой я использую Vowpal Wabbit, является большой размер файла данных. Я могу вычислить AUC вне среды Vowpal Wabbit, используя выходные данные Vowpal Wabbit, но это может быть проблематично, если файл данных большой.
Ответ №1:
В настоящее время VW не может сообщить о AUC. Что еще хуже, он не может оптимизировать непосредственно для AUC. Оптимизация для AUC несовместима с онлайн-обучением, но есть некоторые приближения AUC, подходящие для оптимизации.
Что касается вашего вопроса, вам не нужно хранить промежуточный файл с необработанными прогнозами на диске. Вы можете передать его непосредственно во внешний инструмент оценки (в данном случае perf):
vw -d test.data -t -i model.vw -r /dev/stdout | perf -roc -files gold /dev/stdin
Редактировать:
Джон Лэнгфорд подтвердил, что AUC обычно можно оптимизировать, изменив соотношение ложноположительных и ложноотрицательных потерь. В VW это означает установку разного веса важности для положительных и отрицательных примеров. Вам необходимо настроить оптимальный вес, используя набор задержек (или перекрестную проверку, или постепенную потерю проверки для обучения за один проход).