Вычисление AUC при использовании Vowpal Wabbit

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