我正在使用 H2O 的机器学习包(随机森林)。
有时,我会收到此错误:
H2OConnectionError: Unexpected HTTP error: HTTPConnectionPool(host='localhost', port=54321): Max retries exceeded with url: /3/PostFile (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f176f9f39d0>: Failed to establish a new connection: [Errno 111] Connection refused',))
重新启动 H2O 服务器和/或重试我的命令(我不确定是哪一个,因为它深埋在我的代码中,但它是在h2o.init()
构建 H2O 数据帧之后和之前)的某种组合似乎最终解决了该错误。
有没有办法提高最大重试次数?
我的配置。Ubuntu 16.04-2 x86_64 GNU/Linux。我正在使用Python API。
水:
Checking whether there is an H2O instance running at http://localhost:54321..... not found.
Attempting to start a local H2O server...
Java Version: openjdk version "1.8.0_151"; OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12); OpenJDK 64-Bit Server VM (build …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用H2O的“随机森林”将具有38,000个训练集示例的71个类别进行多项分类。我有一个功能,该功能在很多情况下是可预测的字符串,因此我想将其用作分类功能。
麻烦的是,即使规范化了字符串(大写,去除数字,标点符号等)之后,我仍然有7,000个不同的字符串(某些是由于拼写或OCR错误等导致的)。我有删除相对较少的字符串的代码,但我不确定合理的临界值是多少。(我似乎在文档中找不到任何帮助。)
我也不确定nbin_cats超参数会导致什么。我应该使它等于我拥有的不同类别变量的数量吗?[添加:nbin_cats的默认值为1024,我远低于该值,大约为300个不同的分类值,所以我想我不必对此参数做任何事情]
我也在考虑,如果某个分类值与我要预测的太多不同类别相关联,也许我也应该删除它。
我也猜测我需要增加树的深度来更好地处理这个问题。
另外,对于要过滤的字符串,是否有一个特殊的值表示“不知道”?(我将其映射到唯一的字符串,但我想知道是否有更好的值向H2O指示分类值未知。)
提前谢谢了。