首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用VowpalWabbit python框架学习多行示例?

如何使用VowpalWabbit python框架学习多行示例?
EN

Stack Overflow用户
提问于 2020-03-25 09:53:33
回答 1查看 295关注 0票数 0
代码语言:javascript
复制
from vowpalwabbit import pyvw
vw = pyvw.vw("--cb 3 --epsilon 0.2 --quiet")
input = "2:-5:0.2 |  Anna" 
vw.learn(input)
input = "3:-20:0.2 | Anna \n 2:-20:0.2 | Anna \n 1:-20:0.2 | Anna"
vw.learn([vw.example(string) for string in input.split('\n')])
print(vw.predict(" | Anna"))

这段代码抛出了错误:

代码语言:javascript
复制
RuntimeError                              Traceback (most recent call last)

<ipython-input-7-e8693ac0708c> in <module>()
      4 vw.learn(input)
      5 input = "3:-20:0.2 | Anna \n 2:-20:0.2 | Anna \n 1:-20:0.2 | Anna"
----> 6 vw.learn([vw.example(string) for string in input.split('\n')])
      7 
      8 vw.learn(input)

/usr/local/lib/python3.6/dist-packages/vowpalwabbit/pyvw.py in learn(self, ec)
    168             pylibvw.vw.learn(self, ec)
    169         elif isinstance(ec, list):
--> 170             pylibvw.vw.learn_multi(self,ec)
    171         else:
    172             raise TypeError('expecting string or example object as ec argument for learn, got %s' % type(ec))

RuntimeError: This reduction does not support multi-line example.

为什么我会得到这个错误?从多行示例中学习的正确语法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-03-25 22:08:03

问题是,您正在使用的缩减CB是单行缩减。因此,在这种情况下,传递多行示例没有意义。这可以从以下错误中看出:

代码语言:javascript
复制
RuntimeError: This reduction does not support multi-line example.

你可以在这里阅读更多关于--cb的信息:https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Logged-Contextual-Bandit-Example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60841974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档