【问题标题】:Vowpal Wabbit combinationsVowpal Wabbit 组合
【发布时间】:2018-01-20 04:34:14
【问题描述】:

这是一些数据的示例

date,trophies,characters
2017-07-26,4119,goblin_gang13 bowler5 ice_wizard2 order_volley12 mirror6 goblin_barrel6 the_log2 inferno_dragon3
2017-07-26,4149,fire_fireball9 minion12 archers12 angry_barbarian12 tombstone8 chr_golem7 mega_minion9 zap12

功能选择效果很好!但它给了我最好的单一角色。有什么方法可以获得最好的 8 个字符组合?

我正在尝试 --interactions abcdefgh,但我认为我做得不对,因为这些功能仍然是单个字符。谢谢:)

编辑:为简洁起见,我将仅包含来自 train 生成文件的数据以及 Ariel F 的惊人 github 项目,该项目适用于 csv 文件

https://github.com/arielf/weight-loss

3062.00 | fire_fireball8 giant7 building_inferno7 musketeer7 fire_spirits10 mega_minion7 skeletons8 zap11 -1812.00 | goblins10 baby_dragon5 building_elixir_collector8 dark_witch1 lightning6 chr_golem5 mega_minion9 the_log1 goblins10 baby_dragon5 building_elixir_collector8 dark_witch1 lightning6 chr_golem5 mega_minion9 the_log1 goblins10 baby_dragon5 building_elixir_collector8 dark_witch1 lightning6 chr_golem5 mega_minion9 the_log1 -1803.00 | giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 -1803.00 | giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 giant10 valkyrie9 minion_horde12 rage_barbarian3 chr_witch7 lightning6 bomber12 zap12 -1668.00 | fire_fireball7 baby_dragon4 musketeer7 miner1 bandit1 fire_spirits9 mega_minion7 mini_pekka7 fire_fireball7 baby_dragon4 musketeer7 miner1 bandit1 fire_spirits9 mega_minion7 mini_pekka7 fire_fireball7 baby_dragon4 musketeer7 miner1 bandit1 fire_spirits9 mega_minion7 mini_pekka7

【问题讨论】:

  • 您的数据不是大众格式的。您确定将它与大众一起使用并且有效吗?你的大众命令行是什么? --interactionsnaespaces 的功能一起使用。这意味着您应该事先将您的功能分配给命名空间,如` |a f1 f2 |b f3 |c f4 f5 f6`。然后您可以与--interactions abc 交互所需的命名空间。查看维基:github.com/JohnLangford/vowpal_wabbit/wiki/Input-format
  • @truf 非常感谢!如果顺序无关紧要,并且我想查看所有 8 个字符的交互,我是否只执行 |a f1 |b f2?同样,顺序并不重要,所以有时它可能会说 |a f2 |b f1
  • 是的。我想你也可以用--interactions aaaaaaa|a f1 f2 f3 fn。或者甚至只是--interactions ::::::::,其中 : 是一个匹配任何命名空间的特殊字符(并且没有命名空间的功能被分配给具有字符 0x20(空格字符)的命名空间)。所以你可以--interactions ::::::::。此处描述的功能与自身交互的规则github.com/JohnLangford/vowpal_wabbit/wiki/…
  • 或更好--interactions \\x20\\x20\\x20\\x20\\x20\\x20\\x20
  • 非常感谢! @truf 它现在在 100 行数据上运行,需要几分钟时间。在 37k 行数据上运行 8 种组合可能在计算上过于昂贵。有没有办法使用神经网络(-nn)而不是交互标志?或者--interactions 对 37k 行数据是否可行?

标签: vowpalwabbit


【解决方案1】:

您可以只使用--interactions ::::::::,其中: 在大众汽车中被视为匹配任何命名空间的特殊字符(并且没有明确定义命名空间的功能被分配给具有字符代码0x20(空格字符)的命名空间)。这里描述了命名空间与自身交互的规则https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments UPD: --interactions \\x20\\x20\\x20\\x20\\x20\\x20\\x20(使用 \x20 我们直接引用默认命名空间)应该执行得更快。 \\\,带有 bash 命令行的转义字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-06
    • 2013-12-15
    • 2014-11-09
    • 2014-12-08
    • 2014-11-17
    • 2015-12-10
    • 2013-04-07
    • 2017-10-09
    相关资源
    最近更新 更多