我是H2O项目的新手,但很有兴趣将它用于我的Web应用程序。我已经制作了一些教程,在R中使用h2o
库构建模型,然后将其导出为POJO
模型。
我的问题是我需要预测的数据采用与火车数据集不同的格式。我想知道是否可以将我的R代码用于数据转换并将其导出为POJO
(或类似),以便我可以实时准备新数据进行预测。
我在H2O文档页面(link)的“生产H2O”部分中找到了一些示例,例如Consumer loan application
和Storm bolt
。但在第一种情况下,他们使用相同的功能集,在第二种情况下,数据准备工作使用.java代码(不确定,我在R之外的编程技能很差)。因此,我无法弄清楚如何在新数据集中使用R中的转换代码。
有什么建议吗?
答案 0 :(得分:2)
您有三种选择: (编辑:添加第三个选项)
h2o.predict_json()
函数,该函数允许您将测试数据作为R中的JSON传递到磁盘上的MOJO / POJO以生成预测。这将允许您使用R代码进行数据调整,然后您将获取munged数据,将其转换为JSON字符串,并使用h2o.predict_json()
生成预测。该函数一次需要一行,因此如果您有一个完整的数据框,则必须编写一个循环。此时的预测将在R内存中,因此您可以选择将它们写入文件/数据库,或者在纯R中使用它们执行其他操作。data.table::fwrite()
之类的快速I / O工具将已发送的数据写入磁盘,然后使用该新文件作为POJO / MOJO的输入并使用Java进行评分。这样您就可以一次获得整个文件,而不是#1,您必须一次获得一行。 答案 1 :(得分:-1)
在H2O进行预测之前处理数据,这是您需要处理的事情。
一种策略是以这样的方式编写您的代码,以便您可以为训练和生产环境执行相同的代码。