Machine learning 使用带有概率的Vowpal wabbit作为标签来预测概率

Machine learning 使用带有概率的Vowpal wabbit作为标签来预测概率,machine-learning,vowpalwabbit,Machine Learning,Vowpalwabbit,我试图使用Vowpal Wabbit来预测给定现有统计数据集的概率。我的txt文件如下所示: 0.22 | Features1 0.28 | Features2 现在,给出这个例子,我想预测特性3的标签(概率)。我尝试使用逻辑回归: vw -d ds.vw.txt -f model.p --loss_function=logistic --link=logistic -p probs.txt 但是得到错误: You are using label 0.00110011 not -1 or 1

我试图使用Vowpal Wabbit来预测给定现有统计数据集的概率。我的txt文件如下所示:

0.22 | Features1
0.28 | Features2
现在,给出这个例子,我想预测特性3的标签(概率)。我尝试使用逻辑回归:

vw -d ds.vw.txt -f model.p --loss_function=logistic --link=logistic -p probs.txt
但是得到错误:

You are using label 0.00110011 not -1 or 1 as loss function expects!
You are using label 0.00559702 not -1 or 1 as loss function expects!
等等


如何将这些统计数据用作预测概率的标签?

要预测连续标签,需要使用以下损失函数之一:

--loss_function squared    # optimizes for min loss vs mean
--loss_function quantile   # optimizes for min loss vs median
--loss_function squared
vw
的默认值,因此您可以省略它

您可以使用的另一个技巧是通过使用函数(2*概率-1)将中点0.5映射到0.0,将概率范围映射到
[-1,1]
。然后,您可以使用需要二进制标签(
-1
1
)的
--loss\u function logistic
),但在标签后面加上
abs(概率)
作为浮点权重:

1 0.22 | features...
-1 0.28 | features...
对于您的特定数据,这可能会更好,也可能不会更好(您必须拿出一些数据,并测试不同模型的准确性。)


关于二元结果的背景:
vw
“起点”(即空,或初始模型)到处都是0.0权重。这就是为什么在进行逻辑回归时,
负、正
标签必须分别为
-1、1
(而不是
0、1
)。你确定不想要线性回归吗?@erip是的,因为输出的含义应该是概率。所有输出值应介于0和1之间。此外,有上百个特征,而且对于特定的行,许多特征可能会丢失,因此我怀疑线性回归可能不准确