Я пытаюсь сделать несколько проблем классификации с Vowpal Wabbit.Vowpal Wabbit многоуровневая классификация вероятности прогноза
У меня есть файл поезд, который выглядит следующим образом:
1 | feature_space
2 | feature_space
3 | feature_space
Как выход я хочу, чтобы получить вероятности испытываемого объекта принадлежащих к каждому классу, например:
1: 0,13 2: 0,57 3: 0,30
думаю, например, о классификаторах класса sklearn.
Я попытался следующие:
1) оч.сл. -oaa 3 train.file -f model.file --loss_function логистическая --link логистическая оч.сл. -p predict.file -t test.file - i model.file -raw_predictions = pred.txt
, но файл pred.txt пуст (не содержит записей, но создается). Predict.file содержит только последний класс и не имеет вероятности.
2) vw - csoaa3 train.file -f model.file --link логистика Я изменил входные файлы соответственно, чтобы соответствовать формату cs. csoaa не принимает логику loss_function со следующим сообщением об ошибке: «Вы используете метку не -1 или 1 с функцией потерь, ожидающей этого!»
При использовании с по умолчанию квадратичной функции потерь, и аналогичной командой выхода, я получаю pred.txt сырыми предсказаниями для каждого класса по каждому пункту, например:
2,33 1,67 0,55
Я считаю, что в результате квадратное расстояние.
Есть ли способ получить VW для вывода вероятностей класса или каким-то образом преобразовать эти расстояния в вероятности?
Да, есть способ сделать именно то, что вы хотите. Прежде чем ответить, я хотел бы знать, что означает «1 | feature_space 2 | feature_space 3 | feature_space». На основе ожидаемого результата, я думаю, это классификация с тремя классами и функциями, зависящими от метки. Итак, «2» и «3» являются ярлыками, а не функциями? Я прав? Можете ли вы представить реальный пример (может быть сокращен) вашего файла train.file? –
Прошу прощения, мой файл поезда выглядит так: true_class (для примера 1) | feature_space1 | feature_space2 и т. Д., По какой-то причине он просто рухнул в тексте. Я редактировал исходный текст для большей ясности. – Vlad
Вместо '-raw_predictions = pred.txt' вы должны использовать' --raw_predictions = pred.txt' (то есть: нет места вокруг знака равенства, двойной тире). –