Ответ 1
Вы не можете использовать jython, поскольку scikit-learn сильно полагается на numpy и scipy, у которых много скомпилированных расширений C и Fortran, следовательно, не могут работать в jython.
Самые простые способы использования scikit-learn в java-среде:
-
выставить классификатор в качестве службы HTTP/Json, например, используя микрокадр, например flask или bottle или cornice и вызывать его из java с помощью HTTP-клиента библиотека
-
напишите приложение оболочки командной строки в python, которое считывает данные о stdin и выводимых прогнозах на stdout, используя какой-либо формат, такой как CSV или JSON (или некоторое двоичное представление более низкого уровня) и, например, вызывает программу python из java, используя Apache Commons Exec.
-
заставляют программу python выводить необработанные числовые параметры, полученные в подходящее время (как правило, в виде массива значений с плавающей запятой) и переопределять функцию прогнозирования в java (это обычно легко для прогнозирующих линейных моделей, где часто прогнозируется просто порожденный точечный продукт).
Последний подход будет намного более полезен, если вам потребуется снова реализовать извлечение функции на Java.
Наконец, вы можете использовать библиотеку Java, такую как Weka или Mahout, которые реализуют алгоритмы, которые вам нужны, вместо того, чтобы пытаться использовать scikit-learn из Java.