weka stringToWordVector 过滤器 stringOptions

发布于 2024-10-17 09:21:45 字数 954 浏览 1 评论 0原文

我正在尝试使用 weka 的 java API 过滤数据集。我已经在 Weka 的 GUI 中使用 stringToWordVector 过滤器成功过滤了我想要的属性,但我似乎无法在我的 java 代码中执行相同的操作。我复制并粘贴了自动生成的过滤参数,并将它们发布到我的代码中,但仍然出现错误。目前,我的代码如下所示:

Instances newInsts = new Instances(this.instances);
StringToWordVector stringFilter = new StringToWordVector();
stringFilter.setOptions(
            weka.core.Utils.splitOptions("-R 1,2,3,4,8 -W 1000 
                                          -prune-rate -1.0 -N 0 -stemmer
                                           weka.core.stemmers.NullStemmer -M 1
                                          -tokenizer \"weka.core.tokenizers.WordTokenizer 
                                          -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\""));
stringFilter.setInputFormat(newInsts);
newInsts = Filter.useFilter(newInsts, stringFilter);

但我不断在 Eclipse 控制台中收到此错误: No value given for -delimiters option。

(我在上面的代码中添加了额外的空格以提高可读性。我怀疑这与转义字符/引号有关...)

谢谢!

I'm trying to filter a dataset using weka's java API. I've successfully filtered the attributes I want with a stringToWordVector filter in Weka's GUI but I can't seem to do the same in my java code. I copied and pasted the auto-generated filtering parameters and posted them into my code but am continuing to get errors. Currently, my code looks like this:

Instances newInsts = new Instances(this.instances);
StringToWordVector stringFilter = new StringToWordVector();
stringFilter.setOptions(
            weka.core.Utils.splitOptions("-R 1,2,3,4,8 -W 1000 
                                          -prune-rate -1.0 -N 0 -stemmer
                                           weka.core.stemmers.NullStemmer -M 1
                                          -tokenizer \"weka.core.tokenizers.WordTokenizer 
                                          -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\""));
stringFilter.setInputFormat(newInsts);
newInsts = Filter.useFilter(newInsts, stringFilter);

But I keep getting this error in my eclipse console: No value given for -delimiters option.

(I added extra spacing for readability in the above code. I suspect this has something to do with escaping characters/quotations marks...)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我早已燃尽 2024-10-24 09:21:45

实际上,您可以忽略大多数选项,因为它们是 StringToWordVector 的默认选项。您尝试传递的分隔符是默认标记生成器中的默认分隔符, WordTokenizer,它们是:

' \r\n\t.,;:'"()?!'

You can actually omit most of the options, as they are the defaults for StringToWordVector. The delimiters you're trying to pass are the default delimiters in the default tokenizer, WordTokenizer, which are:

' \r\n\t.,;:'"()?!'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文