Vowpal Wabbit多类分类预测概率

时间:2015-10-08 08:15:24

标签: machine-learning vowpalwabbit

我正试图用Vowpal Wabbit做多个分类问题。

我有一个如下所示的火车文件:

1 | feature_space

2 | feature_space

3 | feature_space

作为输出,我想获得属于每个类的测试项的概率,如下所示:

1:0.13 2:0.57 3:0.30

例如,可以考虑使用sklearn分类器predict_proba方法。

我尝试过以下方法:

1)vw -oaa 3 train.file -f model.file --loss_function logistic --link logistic vw -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 logistic 我相应地修改了输入文件以适应cs格式。 csoaa不接受loss_function后台,并显示以下错误消息:"您使用的标签不是-1或1,并且具有期望的损失函数!"

如果使用默认的平方丢失函数和类似的输出命令,我会得到每个项目每个类的原始预测的pred.txt,例如:

2.33 1.67 0.55

我相信它产生的平方距离。

有没有办法让大众输出类概率或以某种方式将这些距离转换为概率?

1 个答案:

答案 0 :(得分:1)

VW版本7.9.0中存在一个错误,并在7.10.0中修复,导致原始预测文件为空。

November 2015开始,获取概率的最简单方法是使用--oaa=N --loss_function=logistic --probabilities -p probs.txt。 (或者,如果您需要依赖于标签的功能:--csoaa_ldf=mc --loss_function=logistic --probabilities -p probs.txt。)