β

如何从Java调用scikit学习分类器?

Harries Blog™ 54 阅读

我有一个我使用Python的scikit学习训练的分类器.如何使用Java程序中的分类器?我可以使用Jython吗有没有办法在Python中保存分类器并将其加载到Java中?有没有其他的方法来使用它?

你不能使用jython作为scikit – 学习很大程度上依赖于具有许多 编译 C和Fortran扩展名的numpy和sc ip y,因此在jython中无法工作.

java 环境中使用scikit学习的最简单的方法是:

>将分类器公开为HTTP / Json服务,例如使用诸如 fl ask
或 bottle
或 cornice
之类的微框架,并使用HTTP客户端库从java调用它

>在 python 中编写一个命令行包装应用程序,该应用程序读取stdin上的 数据 ,并使用CSV或JSON(或一些较低级别的二进制表示)等格式输出stdout上的预测,并从java调用python程序,例如使用 Apache Commons Exec
.

>使python程序输出在适合 时间 学习的原始数值 参数 (通常作为浮点值的数组),并在java中重新实现预测函数(对于预测线性 模型 ,这通常很容易,其中预测通常只是阈值点积).

如果您需要在Java中重新实现特征提取,最后一种方法将会有更多的工作.

最后,您可以使用诸如Weka或Mahout之类的Java库来实现所需的算法,而不是使用Java中的scikit学习.

作者:Harries Blog™
追心中的海,逐世界的梦
原文地址:如何从Java调用scikit学习分类器?, 感谢原作者分享。

发表评论