2011-04-22 71 views
1

爲什麼在Weka GUI中運行過濾器StringToWordVector的結果與等效的java代碼不同?我使用與gui中使用的屬性相同的屬性,但java中的標記器似乎沒有做適當的工作!一位博士生告訴我,這很普通,沒有他的進一步答覆。爲什麼Weka GUI輸出與Java代碼不同?

請幫助。我的項目停滯不前。

這裏是我的代碼:

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); 
+0

你期待什麼,它有什麼不同? – 2011-04-22 02:34:39

回答

1

我懷疑你的分隔符不正確地轉義。嘗試在GUI中使用默認分隔符,並將標記器留在Java中,這將使用默認值,並查看您是否獲得相同的值。