我正在尝试使用Vowpal Wabbit,并在弄清楚训练和测试所需的文件格式。我一直在按照https://github.com/JohnLangford/vowpal_wabbit/wiki/Tutorial上的教程进行学习,发现以下是训练数据的格式:
0 | price:.23 sqft:.25 age:.05 20061 2 'second_house | price:.18 sqft:.15 age:.35 19760 1 0.5 'third_house | price:.53 sqft:.32 age:.87 1924
对于测试数据,我没有标签或任何输出,只有特征。我应该如何编写这些数据?我尝试过只包含特征,如下所示:
price:.23 sqft:.25 age:.05 2006price:.18 sqft:.15 age:.35 1976price:.53 sqft:.32 age:.87 1924
但是,这会导致异常,因为这不是正确的格式。我还尝试了以下几种方法,但结果都是0:
| price:.23 sqft:.25 age:.05 2006| price:.18 sqft:.15 age:.35 1976| price:.53 sqft:.32 age:.87 19240 0 0 | price:.23 sqft:.25 age:.05 20060 0 0 | price:.18 sqft:.15 age:.35 19760 0 0 | price:.53 sqft:.32 age:.87 1924
有谁知道仅知道特征的情况下,我应该使用的格式是什么?谢谢你的帮助。
回答:
预测格式中也必须包含条形符号(|):
| price:.23 sqft:.25 age:.05 2006| price:.18 sqft:.15 age:.35 1976| price:.53 sqft:.32 age:.87 1924
如果你不包含正确的标签,vw当然无法计算测试损失。要获取预测,请使用vw -d test_set.vw -t -p predictions.txt
。教程中的训练集(仅有三个示例)太小,无法训练出任何合理的模型。