机器学习java

您搜索了某种导出机器学习模型的方法,以便可以将它们用于评估数据,并且可以将它们导出为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

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

  1. 机器学习java_Java机器学习,第2部分

    机器学习java 欢迎使用本教程的第二部分,该教程使用LightningScorer为PMML文件评分. 让我们找出其他参数是如何工作的. 初始步骤与教程的第一部分相似. 首先获取本地副本 git c ...

  2. 【机器学习】机器学习的经典算法

    [机器学习]机器学习的经典算法 https://www.cnblogs.com/DicksonJYL/p/9517025.html 本文为整篇文章第二部分,整篇文章主要目录如下: 1:一个故事说明什么 ...

  3. 【机器学习】机器学习概述

    简单的一句话:让机器从数据中学习,进而得到一个更加符合现实规律的模型,通过对模型的使用使得机器比以往表现的更好,这就是机器学习. 机器学习是实现人工智能的一种途径,它和数据挖掘有一定的相似性,也是一门 ...

  4. 机器学习(1.机器学习概述、数据集的组成以及机器学习的特征工程)

    什么是机器学习?    机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测 为什么需要机器学习 解放生产力.解决专业问题.提供社会便利 机器学习应用场景 自然语言处理.无人驾驶. ...

  5. pytorch机器学习_机器学习— PyTorch

    pytorch机器学习 PyTorch : It is an open source machine learning library based on the Torch library (whic ...

  6. 秒懂机器学习---当机器学习遇上决策树....

    秒懂机器学习---当机器学习遇上决策树.... 一.总结 一句话总结: 多多看图,图的直观效果很好,很多时候文字实在表达不清 1.决策树(Decision Tree)中的各个节点表示什么意思? 每一个 ...

  7. 【机器学习】机器学习从零到掌握之二 -- 教你实现K近邻算法

    本文是<机器学习从零到掌握>系列之第2篇 [机器学习]机器学习从零到掌握之一 -- 教你理解K近邻算法 伪代码如下: 对未知类别属性的数据集中的每个点一次执行以下操作: (1)计算已知类别 ...

  8. [当人工智能遇上安全] 3.安全领域中的机器学习及机器学习恶意请求识别案例分享

    您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...

  9. 李宏毅机器学习01机器学习介绍

    机器学习介绍 机器学习与人工智慧 人工智慧(AI).Artificial Intelligence是我们想要达成的目标,而机器学习是想要达成目标的手段,希望机器通过学习方式,他跟人一样聪明. 深度学习 ...

最新文章

  1. Lowbit Sum 规律
  2. 【树】Kth Smallest Element in a BST(递归)
  3. 6 MyBatis基于Mapper接口CURD
  4. update,options
  5. python字符串转字典并获取多层嵌套字典元素
  6. Android一些知识总结
  7. 工作155:首页样式调整第二次
  8. 牛客 2021年度训练联盟热身训练赛第二场 I题Pegasus Circle Shortcut
  9. Elasticsearch 不属于 Elastic
  10. IO流-打印流 PrintStream
  11. Mac Android studio: Gradle Build Running 、 run build 运行卡顿 、 加载慢问题问题(亲测可用)
  12. python 多线程伪_Python每日3题什么是死锁?
  13. 基于(ssm,websocket,mysql)开发的web聊天系统
  14. C# 图片反色处理 图片夜间模式
  15. 【Windows远程连接】登录显示密码过期
  16. python输入自己的出生年月日命运_出生年月日五行查询表 免费五行缺失查询表...
  17. 使用FileZilla配置FTP服务器
  18. 国内外安全行业的发展与投资机会
  19. 淘宝app详情接口,淘宝详情页接口,商品信息查询,商品详细信息接口,h5详情,宝贝详情页接口,商品属性接口,
  20. Python数据可视化(处理天气数据)

热门文章

  1. 模板:广义二项式反演/广义容斥(组合数学)
  2. CF1322C:Instant Noodles
  3. CF848E-Days of Floral Colours【dp,分治NTT】
  4. nssl1216-码灵鼠【数学】
  5. SpringBoot2.1.9 分布式锁ShedLock
  6. Google 出的 Guava 是个什么鬼
  7. 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列
  8. 推荐系统常用的推荐算法
  9. Java 反射机制深入研究
  10. 漫画:什么是机器学习