2

该文档仅提到这些功能存在,但我找不到示例代码。

我目前有表格的数据

1 '0001 |11 x:0.3
0 '0002 |11 x:0.8
1 '0003 |11 x:0.3
0 '0004 |11 x:0.9
1 '0005 |11 x:0.2

因此我在文件 train.vw 中有一个名为 11 的命名空间

我发出命令

vw train.vw --keep 11 -c -k --passes 40 -l 0.85 -f model.vw --loss_function quantile --quantile_tau 0.6

并得到错误

vw: the argument ('11') for option '--keep' is invalid

没有保留它工作正常,

vw train.vw -c -k --passes 40 -l 0.85 -f model.vw --loss_function quantile --quantile_tau 0.6
4

1 回答 1

4

是的,这应该有更好的记录......

处理名称空间的选项的参数仅通过它们的第一个字母来引用这些名称空间。这是一个限制,源于当前实现名称空间的方式,目的是交叉、保持和忽略,作为由第一个字母索引的快速查找表。

因此,在这种特殊情况下,您应该使用--keep 1而不是--keep 11.

类似地,对于交叉特性,例如-q ABtheA和 theB分别指您想要交叉的名称空间的第一个字母。

于 2014-07-10T19:23:51.013 回答