在vowpal上计算得分

时间:2015-05-26 20:36:13

标签: python logistic-regression vowpalwabbit

我正在尝试对vowpal中的示例数据进行逻辑回归。我创建了一个示例数据集,如下所示:

 1 1.0  | a:3.28 b:1.5 c:2.0  |example
-1 1.0  | a:1.25 b:0.4 c:1.4  |example
 1 1.0  | a:1.40 b:0.8 c:1.6  |example
 1 1.0  | a:2.00 b:4.2 c:2.1  |example
-1 1.0  | a:2.51 b:2.7 c:1.9  |example
 1 1.0  | a:1.72 b:2.3 c:0.6  |exampleone
 1 1.0  | a:1.81 b:2.1 c:0.9  |example

当我尝试运行logistic时显示错误"您正在使用标签0而不是丢失函数专家指定的-1或1或错误的示例"

在此之后我想计算结束时的分数以及如何计算vowpal中的分数或auc曲线

1 个答案:

答案 0 :(得分:2)

确保对input data format使用正确的Vowpal Wabbit

错误"您正在使用标签0"如果您使用--loss_function=logistic(或--loss_function=hinge)并且某些示例的标签为0,则会出现此情况。我无法使用您提供的示例重现该错误。

" |example"在您的示例中被解释为没有功能的命名空间,这可能不是您想要的。 " 1.0"被解释为示例重要性权重,但1.0是默认的重要性权重,因此您可以省略它。如果要使用标记,它们必须位于第一个垂直条之前(条形之前没有任何空格)。所以样本应该如下:

1 tag1| a:3.28 b:1.5 c:2.0 -1 tag2| a:1.25 b:0.4 c:1.4 1 tag3| a:1.40 b:0.8 c:1.6 1 tag4| a:2.00 b:4.2 c:2.1 -1 tag5| a:2.51 b:2.7 c:1.9 1 tag6| a:1.72 b:2.3 c:0.6 1 tag7| a:1.81 b:2.1 c:0.9

  

计算结束时的得分以及如何计算得分或auc

得分是多少?大众计算渐进式验证损失(如果您使用多次通过并且不使用--holdout_off,则会导致保留丢失)。 如果您要计算area under ROC curve,则必须使用一些外部工具,例如perf。请参阅Calculating AUC when using Vowpal Wabbit