如何在 python 之外使用 Vowpal Wabbit 模型

How to use a Vowpal Wabbit model outside of python

我有一个关于如何在 python 之外使用 VW 生成的值的问题。例如,我有来自 VW 的以下 "readable output":

Feature1:221152:-0.0342143
Feature2:115611:-0.003415
Feature3:230533:-0.0162561
Feature4:222340:-0.0244261
Constant:116060:-0.74116
Feature5:240651:0.0662623
Feature6:201380:0.568669
Feature7:168515:0.00426367
Feature8:107643:-0.00488802
Feature9:25461:0.0186098
Feature10:172852:-0.00895446

如果我有以下数据点:

1 1 'datapoint1 | Feature10:0 Feature5:0 Feature3:0 Feature7:22 Feature4:7 Feature6:0.603153898117 Feature2:0 Feature1:0 Feature8:0 Feature9:0

当我通过 VW 测试时,这给了我以下结果:

0.383351 datapoint1

但是当我尝试手动重新创建最终值时,我得到了截然不同的结果:

-0.74116+(0.00426367*22)+(-0.0244261*7)+(0.568669*0.603153898117) = -0.475347035911703727
Constant    Feature7        Feature4          Feature6          

我正在使用逻辑损失函数。有谁知道我们应该如何使用大众在大众框架之外产生的价值?我不知道应该如何应用这些生成的值。

如果您对结果应用 logistic transform(因为您使用了逻辑回归)

f(y) = 1/(1+e(-y)) = 1/(1+exp(-(-0.475347))) = 0.38335

您得到的结果与您在 VW 中看到的结果相同。