我想对大型数据集进行随机森林预测并将结果保存为数据框。我读了https://examples.dask.org/machine-learning/parallel-prediction.html,上面写着“工作人员可以将预测值写入共享文件系统,而无需在单台机器上收集数据”,但我不知道该怎么做。我通过连接到分布式集群并执行以下操作来尝试此操作:
x = da.from_array(i,100000)
t = model.predict(x)
t= client.persist(t)
df=dd.from_array(t)
df.to_parquet("xy.parquet")
然而,这不会触发集群上的任何计算(通过仪表板观察),并且在to_parquet
计算时将我的 1TB RAM 机器运行到内存错误中,即使对于 numpy 大小为 7GB的测试x
也是如此。t
我提交给集群的任何其他内容都在那里计算。那么如何保存预测结果呢?
编辑:这似乎是 input 的大小问题x
。它有形状(24507731,8)
。如果我只是输入具有(24507,8)
计算完成形状的随机数据。这是非常令人惊讶的,因为ParallelPostfit
它应该首先使对大数据的预测成为可能。