您搜索了某种导出机器学习模型的方法,以便可以将它们用于评估数据,并且看到可以PMML格式导出它们。 您实际上是在Java生态系统中工作的,但没有动机既不编写PMML库也不为其编写Rest API。 然后,我将向您推荐LightningScorer ,这是我的附带项目。

让我们带您参观部署和评分机器学习模型的过程。

首先获取本地副本

git clone https://github.com/sezinkarli/lightningscorer.git

并用Maven构建

mvn clean install

并通过转到目标文件夹开始

java -jar lightningscorer-uberjar-1.0.jar

现在,通过转到以下步骤来确保我们的服务器已启动并正在运行

http://localhost:8080/

服务器退货

{
"data": "I have come here to chew bubblegum and kick ass...",
"success": true
}

好吧,现在我们可以踢屁股了。

我将使用apache commons的http get / post方法。 首先,我们将部署我们的机器学习模型。 然后,我们将检查它是否安全可靠,然后使用我们的输入值对其进行评分。 我们将使用经过UCI机器学习存储库中虹膜数据集训练的决策树。 我们将发送4个参数(萼片长度和宽度以及花瓣长度和宽度),并且模型会将其分类为3个值之一。

final String url = "http://localhost:8080/model/";
final String modelId = "test1";//http://dmg.org/pmml/pmml_examples/KNIME_PMML_4.1_Examples/single_iris_dectree.xml
File pmmlFile = new File("/tmp/single_iris_dectree.xml");CloseableHttpClient client = HttpClients.createDefault();//first we will deploy our pmml file
HttpPost deployPost = new HttpPost(url + modelId);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody("model", new File(pmmlFile.getAbsolutePath()), ContentType.APPLICATION_OCTET_STREAM, "model");
HttpEntity multipart = builder.build();
deployPost.setEntity(multipart);CloseableHttpResponse response = client.execute(deployPost);
String deployResponse = IOUtils.toString(response.getEntity().getContent(), Charset.forName("UTF-8"));
System.out.println(deployResponse);
// response is {"data":true,"success":true}
deployPost.releaseConnection();//now we check the model
HttpGet httpGet = new HttpGet(url + "ids");
response = client.execute(httpGet);
String getAllModelsResponse = IOUtils.toString(response.getEntity().getContent(), Charset.forName("UTF-8"));
System.out.println(getAllModelsResponse);
// response is {"data":["test1"],"success":true}
httpGet.releaseConnection();// lets score our deployed mode with parameters below
HttpPost scorePost = new HttpPost(url + modelId + "/score");
StringEntity params = new StringEntity("{" +"\"fields\":" +"{\"sepal_length\":4.5," +"\"sepal_width\":3.5," +"\"petal_length\":3.5," +"\"petal_width\":1" +"}" +"} ");
scorePost.addHeader("content-type", "application/json");
scorePost.setEntity(params);CloseableHttpResponse response2 = client.execute(scorePost);
String scoreResponse = IOUtils.toString(response2.getEntity().getContent(), Charset.forName("UTF-8"));
System.out.println(scoreResponse);
//response is{"data":{"result":{"class":"Iris-versicolor"}},"success":true}
scorePost.releaseConnection();client.close();

翻译自: https://www.javacodegeeks.com/2018/05/machine-learning-in-java-part-1.html

Java机器学习,第1部分相关推荐

  1. 25个Java机器学习工具库

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  2. Java机器学习库ML之六关于模型迭代训练的思考

    我遇到的场景是:样本集有5000万条,接近5个G,那么这样的样本集一次导入训练,我放着一天一夜都没跑出结果,机器性能还特别好,是64位linux有128G内存. 针对这样的情况,我想到的是两种思路: ...

  3. Java机器学习库ML之一Dataset和Instance

    Java机器学习库ML官网:http://java-ml.sourceforge.net/ 对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,datas ...

  4. 25个Java机器学习工具库--转载

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  5. 25 个 Java 机器学习工具和库

    本列表总结了25个Java机器学习工具&库: Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预处理. ...

  6. OpenCV3 Java 机器学习使用方法汇总

    原文链接:OpenCV3 Java 机器学习使用方法汇总  前言 按道理来说,C++版本的OpenCV训练的版本XML文件,在java中可以无缝使用.但要注意OpenCV本身的版本问题.从2.4 到3 ...

  7. 机器学习java_如何开始使用Java机器学习

    机器学习java 什么是开始使用Java机器学习的最佳工具? 他们已经存在了一段时间,但如今看来,每个人都在谈论人工智能和机器学习. 对于科学家和研究人员而言,它已经不再是秘密,几乎可以在任何新兴技术 ...

  8. Java机器学习开发库

    1.Deeplearning4j 这个机器学习库是专门为Java设计的,它是为开发深度学习算法提供了广泛支持的计算机框架.当涉及到机器学习领域时,Deeplearning4j被认为是Java的最杰出的 ...

  9. 7个最好的Java机器学习开发库

    摘要:现如今,拥有深度学习和机器学习领域的技术是科技界的趋势之一,并且企业则希望雇佣一些拥有良好的机器学习知识背景的程序开发工程师.本文将介绍一些目前流行的.强大的基于Java的机器学习库,希望给大家 ...

  10. java机器学习库_6大最常用的Java机器学习库一览

    在 MLOSS.org 网站上,列出了 70 多个基于 Java 的开源机器学习项目,可能还有更多未列出的项目,存于大学里的服务器.GitHub 或 Bitbucket 中.我们将在本文中回顾 Jav ...

最新文章

  1. CImg库中CImg,CImgList,CImgDisplay三个类的介绍
  2. RDKit | RDKit(2019.09)新增相似性图函数
  3. 父亲节用计算机给惊喜,2015父亲节的惊喜作文:给爸爸特殊的礼物
  4. LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表
  5. python写算法求最短路径,Python实现迪杰斯特拉算法并生成最短路径的示例代码
  6. 孙悟空谈即时通讯有多神通广大
  7. (转)jquery基础教程八 load方法及小技巧
  8. 异步调用结果的获取(转)
  9. unity调用dll打开双目
  10. 香港最卖座的10部华语片:周星驰3部,成龙周润发各自2部
  11. oracle查询时使用case,Oracle查询语句中Casewhen的使用
  12. 3 个主流 Java 微服务框架,各有特色
  13. 这么久了,深爱的人,还好吗?
  14. python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
  15. 二维数组malloc与free
  16. 高佣次方递增营销联盟模式
  17. 算法补完计划(五) 二分图匹配
  18. Python 数学练习题
  19. 一个JAVA程序员成长之路分享
  20. Android 自定义View大全,Android自定义View以及Layout属性

热门文章

  1. SpringCloud Zuul(八)之ERROR Filter
  2. Sentinel(十三)之动态规则扩展
  3. Spring Boot API 接口文档 Swagger 入门
  4. js实现页面跳转重定向的几种方式
  5. python正则获取网页标签里面的内容
  6. 输入一个字母,转大小写
  7. 三大框架题目整合考试题(含详解)
  8. 用IDEA把SpringBoot项目打成jar发布项目 不要用 在上面有可以用的
  9. 道指mt4代码_剑指offer算法题052:正则表达式匹配
  10. d3 i5 神舟精盾k480n_神舟精盾k480n i5 d3和精盾i5 d1哪个好?