在kaggle内核中发生的h2o无法解决错误

时间:2018-02-13 07:54:27

标签: r machine-learning random-forest h2o kaggle

我正在尝试在H2o中运行算法,因为数据集非常大并且是回归问题

我正在竞争一个名为 Mercari Price建议挑战的内核竞赛,因此它需要仅在Kaggle内核中运行和检查代码。

我使用的是带有8 GB RAM的R语言

最初我能够运行glm模型并保存输出csv 使用以下代码

library(glm2)
glm.model2 <- h2o.glm( y = y.dep, x = x.indep, training_frame = train1.h2o, validation_frame = valid1.h2o
,family = "gaussian")

Glm在12秒内快速运行而不会产生错误,但是一旦我尝试运行

gbm或基本深度学习模型,它会产生错误

library(gbm)
h2o.gbm(y=y.dep, x=x.indep, training_frame = train1.h2o,validation_frame = valid1.h2o, ntrees = 2000, max_depth = 4, learn_rate = 0.01)

library(randomForest)
rforest.model <- h2o.randomForest(y=y.dep, x=x.indep, training_frame = train1.h2o,validation_frame = valid1.h2o, ntrees = 1000, mtries = 3, max_depth = 4, seed = 1122)


 dlearning.model <- h2o.deeplearning(y = y.dep,
                                      x = x.indep,
                                       training_frame = train1.h2o,
                                       validation_frame = valid1.h2o,
                                       epoch = 60,
                                       hidden = c(100,100),
                                       activation = "Rectifier",
                                       seed = 1122
  )

我一次又一次得到以下错误。 请建议可以采取哪些措施来解决这个问题,因为glm运行得很好,但其他所有运行都没有运行

Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = urlSuffix, : Unexpected CURL error: Failed to connect to localhost port 54321: Connection refused
Traceback:

即使在两种型号达到10%到11%之后也失败了,我想知道是否有任何黑客或任何措施,所以我至少可以运行这些算法,以便我可以提交我的结果。由于这一切,我无法建立一个整体模型。

任何可以使用的度量,因为我只在kaggle内核中运行它们

2 个答案:

答案 0 :(得分:0)

  

Failed to connect to localhost port 54321: Connection refused

这是由Kaggle如何在其内核中运行H2O(可能是Docker镜像)引起的问题。 H2O R客户端无法连接到localhost:54321上运行的本地H2O服务器。

您可以尝试的是在不同的端口上启动H2O群集。因此,不要像h2o.init()那样运行h2o.init(port=44444)。如果他们允许许多人在同一台机器/端口上启动H2O群集,则可能会导致一些问题。如果您已经在会话中连接到H2O群集,那么首先运行h2o.shutdown(prompt = FALSE),然后在另一个端口重新启动H2O。

我还建议您联系Kaggle管理员,看看他们是否可以帮助调试问题。我们之前使用Kaggle内核看到了类似的问题。

答案 1 :(得分:0)

由于kernels don't have an internet connection,您无法连接到服务器。 :)

更新:我已经做了更多的挖掘和互联网访问不应该是这里的问题。我会提交一个错误。