Использование MOA для классификации новых примеров?
Я пытаюсь использовать библиотеку машинного обучения Java 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) для прогнозирования классов. Кто-нибудь делал это раньше?
2 ответа
Попробуйте использовать "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) "
Возможно, проще всего использовать оболочку Weka для классификаторов MOA:
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
указывает столбец для прогнозирования.