Weka NominalToBinary делает тестовые и тренировочные наборы несовместимыми - PullRequest
0 голосов
/ 24 марта 2012

Итак, у меня есть наборы для обучения и тестирования, и они содержат многозначные номинальные значения. Пока мне нужно обучить и протестировать классификатор NaiveBayesMultinomial, который не поддерживает многозначные номинальные значения, я делаю следующее:

java weka.filters.supervised.attribute.NominalToBinary -i train.arff -o train_bin.arff -c last
java weka.filters.supervised.attribute.NominalToBinary -i test.arff -o test_bin.arff -c last

Тогда я запускаю это:

java weka.classifiers.bayes.NaiveBayesMultinomial -t train_bin.arff -T test_bin.arff

И возникает следующая ошибка:

Weka exception: Train and test files not compatible!

Насколько я понял после того, как я изучил оба файла .arff, они стали несовместимыми после того, как я запустил NominalToBinary, поскольку наборы train и test отличаются, и, следовательно, генерируются разные двоичные переменные.

Можно ли выполнить преобразование NominalToBinary так, чтобы наборы оставались совместимыми?

1 Ответ

0 голосов
/ 24 марта 2012

Объедините два набора в один, выполните преобразование NominalToBinary, а затем разделите их снова. Таким образом, они должны быть нормализованы одинаково.

Но вы уверены, что файлы были совместимы раньше? Или, может быть, в вашем тестовом и / или обучающем наборе есть случаи с атрибутами, которых нет у другого?

...