2010-06-06 2 views
2

Я пытаюсь использовать библиотеку обучения Java-машине MOA для обучения на потоке учебных данных, а затем предсказывать классы для потока тестовых данных. Первая часть работает нормально, используя (например)Использование MOA для классификации новых примеров?

java -cp.: Moa.jar: weka.jar -javaagent: sizeofag.jar moa.DoTask "LearnModel -l MajorityClass -s (ArffFileStream -f atrain.arff -c -1) -O amodel.moa "

Но тогда я не могу понять, как использовать обученную модель (amodel.moa) в другом потоке (atest.arff) для прогнозирования классов. Кто-нибудь делал это раньше?

ответ

0

Это может быть легче всего просто использовать обертку Weka для МОА классификаторов:

java -cp .:moa.jar:weka.jar -javaagent:sizeofag.jar weka.classifiers.meta.MOA -B moa.classifiers.NaiveBayes -t atrain.arff -d amodel.model 
java -cp .:moa.jar:weka.jar -javaagent:sizeofag.jar weka.classifiers.meta.MOA -T atest.arff -l amodel.model -p 4 

Где конечно -p указывает на столбец, чтобы предсказать.

1

Попробуйте использовать "EvaluateModel" с опцией -m:

java -cp .:moa.jar:weka.jar -javaagent:sizeofag.jar moa.DoTask "EvaluateModel -m file:amodel.moa -s (ArffFileStream -f atest.arff -c -1) "