问题标签 [sparkling-water]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
66 浏览

apache-spark - 生产 Spark Pipeline

使用苏打水/H2o v. 2.3 进行预测。我正在尝试导出包含 H2o 模型的火花管道模型。

评分将需要在基于 Java 的平台上进行。

请建议最好的方法。我一直在探索它,但找不到任何实质性的东西。PMML 看起来像是仅适用于纯 Spark 管道的选项

我的最后一个选择是使用 Spark Streaming ,避免使用它,因为我需要遵循请求响应机制。

问候, 阿伦·拉科蒂亚

0 投票
1 回答
1884 浏览

java - 如何在 Java 应用程序中嵌入 H2o?

我正在尝试在 Java 应用程序中启动嵌入式 H2o 并训练模型。但是我没有得到文档中的确切解释(http://docs.h2o.ai/h2o/latest-stable/h2o-docs/faq/java.html)。任何人都可以通过提供一个例子来帮助我吗?

谢谢,

0 投票
1 回答
330 浏览

apache-spark - 无法在 Databricks 中创建 H2OContext - 使用 pysparkling

我无法使用 pysparkling 在 Spark Databricks 中创建 H2OContext。它给出了以下错误。

代码:from pysparkling import *
代码:import h2o
代码:h2oConf = H2OConf(spark)
代码:h2oConf.set("spark.ui.enabled", True)

Out[2]:Sparkling Water 配置:后端集群模式:内部工作人员:无 cloudName:尚未设置,在启动 H2OContext 之前会自动设置。flatfile:true clientBasePort:54321 nodeBasePort:54321 cloudTimeout:60000 h2oNodeLog:INFO h2oClientLog:INFO nthreads:-1 drddMulFactor:10

代码:h2oContext = H2OContext.getOrCreate(spark, h2oConf)
错误:java.lang.NoSuchFieldError: quasibinomial

以下是集群的所有详细信息:
1. 集群:
运行时版本:Spark 2.1(自动更新,Scala 2.11)类型:标准工作者:4

  1. 上述集群附带的库:h2o_pysparkling_2.1、
    h2o-genmodel.jar
0 投票
0 回答
149 浏览

apache-spark - 无法在 Windows 中启动闪亮的 shell

我正在运行Windows 10和使用Scala 2.11and spark version 2.2.1。Spark_home 也已配置,路径也已添加到它的 bin 中,我可以直接从任何目录的命令提示符启动 spark-shell。

但是当我运行时sparkling-shell.cmd,我收到“命令的语法不正确”的消息。

我错过了设置中的关键步骤吗?

编辑:下面是转后的控制台输出echo on

0 投票
0 回答
98 浏览

python - pysparkling H2OConf 干扰我的应用程序日志

这是我的代码:

除非我注释代码的第一行,否则我无法创建日志文件。如果我这样做,那么一切都会正常进行。我假设它是一个内部的导入H2OConf,它弄乱了处理程序。有人经历过类似的事情吗?

我运行脚本

spark-submit --master yarn script.py

谢谢

0 投票
1 回答
35 浏览

scala - 如何在波光粼粼的水域 h2oflow UI 中绘制数据探索图?

我正在尝试通过使用箱形图、散点图、直方图等图表来可视化数据来探索样本数据集。

不幸的是,即使在 H2o 文档中,我也找不到任何关于如何打印或显示数据图的命令。

有没有推荐的图书馆使用?

0 投票
1 回答
72 浏览

scala - 如何在 Scala 或 R 的 H2O 流 UI 中嵌入自定义图?

经过一番调查,我发现苏打水 H2O 流 UI 的图集非常有限——只有箱形图和分布图,用于 Scala 中的数据可视化。

但是如果我想使用第三方库(需要对此提出建议,我已经检查了 Scala-charts 库),我将如何将生成的图嵌入到 H2O 流 UI 本身中?

0 投票
1 回答
390 浏览

java - 使用导出的 Mojo 和二进制模型训练 H2O 堆叠集成模型

我正在尝试使用 H2O Java API 构建堆叠的集成模型。

为此,我训练了 2 个模型

  1. GBM 模型
  2. DRF 模型

我以 Mojo 和二进制格式导出了这些模型。对于导出模型,我使用了以下代码片段:

对于 Mojo 格式导出:

对于二进制格式导出:

我还导出了交叉验证保留数据,因为稍后需要它来训练堆叠的集成模型。

假设我导出的模型名称及其保留数据名称如下:

模型名称:StackGBMReg1 CVDataName:cv_holdout_prediction_StackGBMReg1

模型名称:StackDRFReg1 CVDataName:cv_holdout_prediction_StackDRFReg1

训练堆叠集成模型

然后我稍后将这些模型及其 CV 数据导入 H2O Server 以训练堆叠的 Ensemble 模型。以下是此操作的代码片段:

要导入保留数据:

导入模型:

尝试导入 Mojo 模型时出现以下错误。

根据我在 h2o 论坛上得到的回复,不支持导入 Mojo 模型。我觉得这真的很奇怪。

为了克服这个问题,我导入了成功的二进制模型。然后训练了对我来说效果很好的堆叠集成模型。

我的问题是:

我主要关心的是摆脱向后兼容性问题。如果有任何方法可以解决它,那将真的有助于我的工作。因为,我使用的是 Java 代码,所以我不介意使用任何不直接公开的内部 h2o api。

请注意,我不是在谈论加载 MOJO 模型以进行评分。我知道我们可以根据以下链接轻松使用 Mojo 模型进行评分:http: //docs.h2o.ai/h2o/latest-stable/h2o-docs/productionizing.html

0 投票
1 回答
158 浏览

r - 为交叉验证指定 nfolds 时出现 h2o 深度学习错误

这个问题现在解决了吗?我遇到同样的错误信息。

用例:我正在使用 h2o 的deeplearning()函数进行二进制分类。下面,我提供了与我的实际用例大小相同的随机生成的数据。系统规格:

我目前正在学习如何使用 h2o,所以我已经玩过这个功能了。在我指定交叉验证的参数之前,一切都运行顺利。

指定nfolds交叉验证的参数时会出现问题。有趣的是,我可以为 nfolds 指定低值,一切都很好。对于我的用例,即使 nfolds > 3 也会产生错误消息(见下文)。我在下面提供了一个示例,在这里我可以指定 nfolds < 7(不是很一致……有时最多 nfolds = 3)。在这些值之上,REST API 会给出上述错误:object not found for argument: key.

我不明白为什么它只适用于 nfold 的低值。有什么建议么?我在这里想念什么?我在 Google Groups 和 stackoverflow 上搜索了最远程相关的线程,但没有成功。如果这与上述建议的 h2o 3.x 的更改 API 有关(尽管那篇文章是 18 个月前的……)我将非常感谢一些关于如何正确指定语法以使用 h2o.deeplearning 进行 CV 的纪录片( )。提前致谢!

0 投票
1 回答
105 浏览

apache-spark - H2O 苏打水 - DNN mini_batch_size 参数

我目前正在Spark 2.3.0运行sparkling-water 2.3.1. 我通过查看链接到此的更改日志找到了底层 H2O 库的文档。所以显然它使用.H2O 3.18

通过查看 DNN,我注意到缺少batch_size参数,但它提供了一个mini_batch_size实际上没有记录的参数。我找到的关于这个参数的唯一文档是here,它指的是H2O 2.4,我假设它仍然适用于我正在使用的版本(我不知道这个假设是否正确)。

小批量

每次迭代要处理的训练数据行数。请注意,与此参数无关,每一行都会立即使用(在线)随机梯度下降来更新模型。小批量大小控制分布式环境中节点之间的同步周期以及评分和模型取消可能发生的频率。例如,如果在 4 个节点上运行的 H2O 上将 mini-batch 设置为 10,000,则每个节点每次迭代将处理 2,500 行,从其本地数据中随机抽样。然后,在节点之间进行模型平均,并且可以进行评分(取决于评分间隔和​​占空因数)。特殊值是 0 表示每次迭代一个 epoch,-1 表示每次迭代处理最大数据量。如果启用“复制训练数据”,

据此,我解释说批量大小实际上固定为 1,因为它总是执行在线梯度下降。

我也开始深入研究 H2O 的源代码,看看它的默认值是多少,而 AFAIU 的默认参数都包含在这个类中。

从第1694 行开始:

所以从评论看来,它实际上并没有执行在线梯度下降,但它似乎实际上表现为批量大小。如果我们假设 的文档H2O 2.4仍然适用,那么值 1 是没有意义的。

此外,从第 2173 行开始,它设置用户给定的参数:

实际上我只是快速锁定了源代码,我可能遗漏了一些东西,但我真的无法理解mini_batch_size参数的工作原理以及它与批量大小的关系。有人可以对此有所了解吗?