很多R使用者都会遇到这样的情境,自己建好了一个模型,预测时需要实时计算,因此需要上线与后端JAVA对接,有以下解决办法:

  1. JAVA调R语言。
  2. 以数据库或本地文件为媒介,将对应的R写成传参脚本实时计算好入库或者生成本地文件,再读取结果。
  3. 封装成传参的Rest API接口。

对于1有两个问题,稳定性与中文编码。2的话,在数据量小的时候可行,数据量大且不需入库时存储压力大,且要考虑数据前后的对应问题。

本文主要针对3做简单介绍,R中Rest API的包主要有plumber,opencpu。由于plumber使用起来极其方便,把它当做第一选择。

安装

install.packages

官网案例

首先新建一个名为plumber.R的脚本,

# plumber.R

该函数很简单,返回含msg文本输出的list。

为什么要返回list结构?因为plumber会自动把list转化为json结构输出,因此可以很方便地通过list构建你想要的输出结构,plumber会自动转换成对应结构的json。

然后运行

pr 

即可在命令行看到以下输出

此时,在浏览器输入http://127.0.0.1:4267/echo?msg=Rstudio,(get请求可以直接浏览器调用,ip:port之后输入你想要调用的函数名字echo,?后接para1=xxx&para2=xxx·······)会立即返回如下的json结果(注意端口号要一致):

模型调用的例子

首先建立一个简单逻辑回归的模型

#逻辑回归模型调用的例子

plumber.R如下

# plumber.R

脚本调用或在命令行输入

load

host为0.0.0.0表示其他机器可以通过该机器在局域网的ip地址调用,port指定一个端口。

接口启动后在浏览器输入http://127.0.0.1:4267/predict?v1=6&v2=2&v3=6&v4=1,返回如下结果:

如果需要返回没有中括号包裹的json,在plumber.R对应的函数上方加第二行参数

#' Echo the parameter that was sent in
#' @serializer unboxedJSON
#' @param msg The message to echo back.
#' @get /predict

悄悄告诉你,我们的微信公众号也叫《R语言工程化》,欢迎关注!

predict函数 R_R工程化(1) Rest API 之plumber包相关推荐

  1. predict函数 R_R包randomForest的随机森林回归模型以及对重要变量的选择

    R包randomForest的随机森林回归模型以及对重要变量的选择关于随机森林(random forest),前文"随机森林分类以及对重要变量的选择"中已经对其基本原理作了简单概括 ...

  2. predict函数 R_学习|R语言做机器学习的常用函数总结

    预测函数:predict() type="prob"判别该量度的昆虫归类为A.B和C的概率:type="response":判别该量度的昆虫的类别: 预测分类的 ...

  3. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数计算指定连续变量和风险比HR值的关系、可视化连续变量和风险值HR的关系

    R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型.使用rms包的Predict函数计算指定连续变量和风险比HR值的关系.可视化连续变量和风险值HR的关系 目录

  4. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数计算指定连续变量在不同分组变量下和风险比HR值的关系、使用ggplot2可视化变量与风险值HR的关系

    ↵ R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型.使用rms包的Predict函数计算指定连续变量在不同分组变量下和风险比HR值的关系.使用ggplot2可视化连续变量在不同分组变 ...

  5. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、检验模型是否满足等比例风险、是否存在非线性关系、使用rms包的Predict函数计算指定连续变量和风险比HR值的关系并可视化

    R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型.检验模型是否满足等比例风险.是否存在非线性关系.使用rms包的Predict函数计算指定连续变量和风险比HR值的关系并可视化 目录

  6. R语言使用lm函数拟合线性回归模型:使用predict函数和训练好的模型进行预测推理、使用ggplot2可视化预测值和实际值的曲线进行对比分析

    R语言使用lm函数拟合线性回归模型:使用predict函数和训练好的模型进行预测推理.使用ggplot2可视化预测值和实际值的曲线进行对比分析 目录

  7. R语言使用Predict函数计算指定连续变量和风险比HR值的关系、基于限制性立方样条分析方法、限制性立方样条cox回归模型

    R语言使用Predict函数计算指定连续变量和风险比HR值的关系.基于限制性立方样条分析方法.限制性立方样条cox回归模型 目录

  8. R语言使用caret包的knnreg函数拟合KNN回归模型:使用predict函数和训练好的模型进行预测推理、使用plot函数可视化线图对比预测值和实际值曲线

    R语言使用caret包的knnreg函数拟合KNN回归模型:使用predict函数和训练好的模型进行预测推理.使用plot函数可视化线图对比预测值和实际值曲线 目录

  9. R语言使用mgcv包的gam函数拟合广义加性模型回归模型:使用predict函数和训练好的模型进行预测推理、使用ggplot2可视化预测值和实际值的曲线进行对比分析

    R语言使用mgcv包的gam函数拟合广义加性模型回归模型:使用predict函数和训练好的模型进行预测推理.使用ggplot2可视化预测值和实际值的曲线进行对比分析 目录

最新文章

  1. Install Qt5 on Ubuntu 16.04
  2. 异步请求时有时会让js不起作用,那么重新加载js
  3. jmeter设置代理录制请求
  4. Kafka系统的组件、角色以及和zookeeper的关系
  5. 华三实现vlan通过
  6. LeetCode 1290 二进制链表转整数
  7. 小白爬虫第一弹之抓取妹子图【更新版】
  8. elk日志系统中elasticsearch 索引read only 解决
  9. 【编译打包】drbd 8.4.2
  10. tp5在apache下能访问,但放到nginx下报404
  11. 原生App vs 移动Web App : 你如何选择
  12. 英语四级单选测试软件,英语四级报告单选纸质还是电子?选择电子版报告单可能更好...
  13. 使用DDE传输数据至SQL Server
  14. 基于89C51单片机的智能小车——06.测速小车
  15. 用python进行网络爬虫(三)—— 数据抓取
  16. pg_freespacemap
  17. 金蝶osf接口开发_GitHub - terminiter/osf-openstack-training
  18. Elasticsearch之 cerebro 安装配置详细使用
  19. 【多媒体编解码】Openmax IL (一)官方文档概述
  20. 祭奠逝者一支香,丧钟为所有生者而鸣

热门文章

  1. idea中使用git创建分支与标签
  2. FunAdmin开发系统1.6版本发布
  3. 数据库一致性、完整性
  4. 计算机二级vb考试代码,二级计算机vb考试常用代码(看完必过).doc
  5. 团队作业9——测试与发布(Beta版本)
  6. Web自动化selenium技术快速实现爬虫
  7. C#textbox控件区分扫码枪输入和键盘输入
  8. Vivado、modelsim、VHDL错误集锦
  9. JS模块化说明视频-张晓飞-专题视频课程
  10. MAC使用小技巧之用好mac电脑?的10个必知的小技巧!