将模型与数据预处理步骤集成

时间:2020-01-22 07:07:25

标签: java python machine-learning data-science data-science-experience

这可能是一个愚蠢的想法,但是如果我采用错误的方法,请忍受并指导我。 我正在研究一个机器学习项目,该项目的模型将提供最终输出,而ML模型的输出将由另一个用Java编写和维护的项目使用。

REST调用的典型流程如下:


  1. 用户在UI上要求一些分类分数。
  2. UI系统调用Java API。
  3. Java API从存储系统中获取数据。
  4. 然后对数据进行预处理,并将其呈现给Trained模型,该模型完全使用Python编写,开发和训练。

问题:制作ML模型时,我们有用python编写的预处理步骤,数据进入并进行了预处理,然后开始了模型训练。 将模型保留到Java可以用来进行实时预测的位置之后。

思路:是否可以将模型的预处理步骤打包为一个包。 这样在Java端就可以避免预处理?

我希望您对此有所有意见,以便更好地处理此情况。 我不想在两个地方(Python和Java)编写和维护功能工程/预处理步骤。

请指导。

1 个答案:

答案 0 :(得分:0)

可以使用TensorFlow for Java将预处理步骤模型包装到一个程序包中,Spark SQL API是可以补充python模型的机器学习模型。 考虑到您已经将Java API连接到UI和系统存储,因此无需重写它们,也可以重复使用,从而节省了时间。

  • 使用maven项目构建项目

  • 导入相关库,例如用于ML模型的Spring RESTful Web服务,Spring JPA数据,Spring Thymeleaf / Angular(UI)和张量流库

    <dependency>
       <groupId>org.tensorflow</groupId>
       <artifactId>tensorflow</artifactId>
       <version>1.12.0</version>
    </dependency>

我希望这对您有用。