H2OFrame将dict转换为全零

时间:2016-03-25 01:44:39

标签: python django pandas scikit-learn h2o

我从django模型管理屏幕和pre_save调用h2o获取输入值以对其他值进行预测并保存它们。

目前我通过使用以下方式将我的输入转换为pandas(尝试使用sklearn预处理):

modelH2OFrame = h2o.H2OFrame(python_obj = model_data_frame.to_dict('list'))

它解析并加载。当我一步一步地做它时,它甚至会创建一个带有值的框架。

BUT。当我在Django pre_save中运行它时,H2OFrame完全变回空。

为什么会发生这种情况的想法?有时我会遇到连接到h2o群集或超时的错误 - 这可能是一个相关的问题?我在pre_save调用中加载H2O模型并进行预测,将它们分配给模型字段,然后关闭h2o集群(在一个函数中)。

1 个答案:

答案 0 :(得分:2)

似乎Pandas DataFrame到H2OFrame转换在Django之外工作正常,但在Django内部失败。问题可能在于Django的pre_save不允许写入/读取H2O在摄取python对象时创建的临时.csv文件。可能的解决方法是使用model_data_frame.to_csv(<path>, index=False)将Pandas DataFrame显式写入.csv文件,然后使用h2o.import_file(<path>)将文件导入H2O。