Почему выходные данные Weka GUI отличаются от кода Java? - PullRequest
1 голос
/ 22 апреля 2011

Почему результат работы фильтра StringToWordVector в Weka GUI отличается от эквивалентного кода Java?Я использую те же атрибуты, что и в графическом интерфейсе, но токенизатор в 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);

1 Ответ

1 голос
/ 22 апреля 2011

Я подозреваю, что ваши разделители неправильно экранированы.Попробуйте использовать разделители по умолчанию в графическом интерфейсе и не использовать токенизатор в Java, который будет использовать значение по умолчанию, и посмотрите, получите ли вы то же значение.

...