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

Другие вопросы по тегам