为什么Weka GUI输出与Java代码不同?

时间:2011-04-22 02:07:04

标签: java user-interface weka

为什么在Weka GUI中运行过滤器StringToWordVector的结果与等效的java代码不同?我使用与gui中使用的相同属性,但java中的tokenizer似乎没有做好工作!博士生告诉我这是常见的,没有他的进一步答复。

请帮忙。我的项目停滞不前。

这是我的代码:

DataSource tempSource = new DataSource("/home/r_omio/Dataset.arff");
Instances temp = tempSource.getDataSet();
NumericToBinary nbTemp = new NumericToBinary();
nbTemp.setInputFormat(temp);
temp = Filter.useFilter(temp, nbTemp);
StringToWordVector stringFilterTemp = new StringToWordVector(2500);

stringFilterTemp.setOptions( 
    weka.core.Utils.splitOptions("-R 1,2,3,4 -W 2500 -prune-rate -1.0 <br>-N 1 -stemmer weka.core.stemmers.NullStemmer -M 1 -tokenizer weka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?![]_\"")
 );


stringFilterTemp.setInputFormat(temp);
temp = Filter.useFilter(temp, stringFilterTemp);

1 个答案:

答案 0 :(得分:1)

我怀疑你的分隔符被错误地转义了。尝试使用GUI中的默认分隔符,并使用Java保留tokenizer,它将使用默认值,并查看是否获得相同的值。