Расчет AUC при использовании Vowpal Wabbit
Есть ли способ вычислить 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 это означает установку различного веса важности для положительных и отрицательных примеров. Вам необходимо настроить оптимальный вес, используя набор для удержания (или перекрестную проверку, или прогрессивную потерю проверки для однопроходного обучения).