关于vowpal_wabbit的输入格式

我在这方面是新手。我想用一系列数据进行训练并进行预测。我已经尝试了很长时间,你能告诉我我哪里做错了么?

我的训练数据看起来像这样(我在这里挑选了前几行):

-1 '13731#276 |f gender:0 age_range:2 action0:1 action1:0 action2:1 action3:0-1 '70175#4214 |f gender:0 age_range:4 action0:0 action1:0 action2:1 action3:0-1 '89370#2598 |f gender:1 age_range:2 action0:8 action1:0 action2:1 action3:01 '89371#1250 |f gender:0 age_range:2 action0:0 action1:0 action2:1 action3:0-1 '89372#2792 |f gender:1 age_range:5 action0:0 action1:0 action2:1 action3:01 '89372#962 |f gender:1 age_range:5 action0:0 action1:0 action2:1 action3:0-1 '89373#4472 |f gender:0 age_range:7 action0:5 action1:0 action2:1 action3:0

测试数据像这样:

1 '177796#1807 |f gender:0 age_range:5 action0:5 action1:0 action2:1 action3:01 '155638#2445 |f gender:0 age_range:7 action0:3 action1:0 action2:1 action3:01 '155639#658 |f gender:1 age_range:2 action0:5 action1:0 action2:1 action3:01 '127479#2480 |f gender:0 age_range:7 action0:0 action1:0 action2:1 action3:01 '127478#1245 |f gender:0 age_range:4 action0:1 action1:0 action2:1 action3:01 '127473#4995 |f gender:1 age_range:4 action0:13 action1:0 action2:1 action3:01 '127472#45 |f gender:0 age_range:7 action0:4 action1:0 action2:1 action3:0

是的,它们看起来没有区别。我不知道这样做是否正确。我在GitHub上看到很多人都是这样写的。

我的vw命令如下:

vw -d train.vw --loss_function=logistic -f model.vwvw -d test.vw -t -i model.vw --loss_function=logistic -r shop.preds.txt

结果是这样的

-2.816693 177796#1807-2.817430 155638#2445-2.981194 155639#658-2.821442 127479#2480-2.823012 127478#1245-2.968556 127473#4995-2.816092 127472#45-2.820939 127471#4010-2.975476 127470#593-2.820105 155634#4103-2.799539 155635#2980-3.139279 127475#1469

我不知道为什么会这样,数值都小于-2,实际上我理想的结果是这样的:

202178#1665,0.67156148#4730,0.50132360#2459,0.24132360#144,0.99180387#1534,0.48187963#1360,0.19158187#2534,0.54188206#4890,0.70

至少我希望数值是正确的,但结果都是1。你能告诉我如何修复这个问题吗?谢谢!


回答:

如果你想预测概率,那么你不应该使用vw -d test.vw -t -i model.vw --loss_function=logistic -r shop.preds.txt,而应该使用vw -d test.vw -t -i model.vw --loss_function=logistic --link=logistic -p shop.preds.txt

如果你想得到最可能的标签(-1或+1),使用vw -d test.vw -t -i model.vw --loss_function=logistic --binary -p shop.preds.txt

参见 https://github.com/JohnLangford/vowpal_wabbit/wiki/Predicting-probabilities

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注