variable-assignment - 将目标帧分配给 h2o.ai 中的预测
问题描述
我喜欢使用 R 进行机器学习的 h2o.ai。https: //cran.r-project.org/web/packages/h2o/h2o.pdf
我喜欢随机森林,但我在循环中做出几千个预测。它正在用这样的东西向我的记忆中发送垃圾邮件:
我不能把它们都留在记忆中。我正在使我非常好的计算机非常努力地工作。这意味着它没有能力一次将所有球保持在空中。
如果我可以为预测分配一个目标帧名称,那么每个新的都会覆盖旧的。
在对象上执行“h2o.predict”时如何分配目标帧名称?
我尝试过但不起作用的事情:
h2o.predict(object = rf.hex, newdata = test.hex, predictions_frame = "predict.hex")
h2o.predict(object = rf.hex, newdata = test.hex, destination_frame = "predict.hex")
h2o.predict(object = rf.hex, newdata = test.hex, model_id = "predict.hex")
解决方案
我没有办法知道。
但作为替代方案,在您的循环中,您可以调用h2o.rm()
from 的返回值h2o.predict()
。也值得打电话h2o.gc()
。就像是:
for(data in alldata){
# ... prepare newdata
p = h2o.predict(model, newdata)
# ... do something with p here
h2o.rm(p)
h2o.rm(newdata) # If also not needed any more
h2o.gc()
}
旁白:你说“我在一个循环中做出几千个预测”。假设它们都针对同一个模型,请记住您可以将它们批量化,并在单个数据框中给出所有数千个预测newdata
。一次调用h2o.predict()
1000 个条目比进行 1000 个h2o.predict()
调用要高效得多,一次只调用一个newdata
条目。
推荐阅读
- embedded-linux - 根据变量值排除 yocto 元层
- bash - 在 Git Fetch 和缓存中传递凭据
- tensorflow - 如何访问 4 位 QAT 模型的权重
- python - How to mak a transaction method in a BankAccount class?
- spring-boot - org.springframework.orm.jpa.JpaSystemException:无法初始化代理 [Order#orderdate] - 没有会话;
- javascript - useEffect 和文档标题更新
- python - 使用 AWS Lambda 将存储在 S3 Bucket 中的 JSON 文件转换为 CSV
- python - AttributeError:模块“speedtest”没有属性“Speedtest”test_get_server 未定义
- android - Android CI同一个项目build test和prod,Application ID不同,为了像独立应用一样安装在同一个设备上
- angular - 应用搜索过滤器时重定向到同一页面