2015-07-07 1 views
2

У меня есть обучаемый классификатор scikit-learn (Python), и мне нужно использовать его в программе Java. Я знаю, что я могу хранить мой питон классификатор (КТМ) следующим образом:Использование scici- learn classifier в java-программе

joblib.dump(clf, 'my_model.pkl', compress=_) 

Я также знаю, что есть python-weka-wrapper library с которым мы можем использовать Weka классификаторов в Python, но я бы действовать в обратном направлении , Мне нужно загрузить файл * .pkl в java-программу, создать другой классификатор (например, с помощью weka API) и инициализировать его информацией, содержащейся в этом файле. Есть ли способ сделать это?

ответ

0

Один из способов сделать это - создать новый классификатор Weka, который реализует только API прогноза. Классификатор предоставляет вызов API прогноза, который передает данные по косвенному исполнению сценария Python, который возвращает предсказанные результаты. См. http://weka.wikispaces.com/Making+predictions и http://weka.sourceforge.net/doc.stable/weka/classifiers/evaluation/Prediction.html

+0

Спасибо за ответ, но мне нужно использовать классификатор в приложении для Android, поэтому я не могу выполнить скрипт python. В http://stackoverflow.com/questions/12738827/how-can-i-call-scikit-learn-classifiers-from-java обсуждении кто-то предлагает «заставить программу python выводить необработанные числовые параметры, полученные в подходящее время (обычно как массив значений с плавающей запятой) и переопределить функцию прогнозирования в java ». Как можно переопределить функцию прогнозирования из необработанных данных классификатора? У вас есть идея? –

Смежные вопросы