【发布时间】:2018-06-01 11:23:55
【问题描述】:
我目前正在尝试将 h2o gb 模型序列化为 pickle 对象并重用它。由于一些限制,我不能使用http://docs.h2o.ai/h2o/latest-stable/h2o-docs/productionizing.html 给出的默认方法或 POJO 和 MOJO。模型被腌制,但是在 unpickling(pickle.loads) 时,出现以下错误 -
__new__() missing 1 required positional argument: 'keyvals'
以下代码供参考-
import h2o as h2o
import pickle as pickle
from h2o.estimators.gbm import H2OGradientBoostingEstimator
h2o.init()
csv_url = "https://h2o-public-test-data.s3.amazonaws.com/smalldata/wisc/wisc-diag-breast-cancer-shuffled.csv"
data = h2o.import_file(csv_url)
y = 'diagnosis'
x = data.columns
del x[0:1]
train, test = data.split_frame(ratios=[0.75], seed=1)
model = H2OGradientBoostingEstimator(distribution='bernoulli',
ntrees=100,
max_depth=4,
learn_rate=0.1)
model.train(x=x, y=y, training_frame=train, validation_frame=test)
loaded_model = pickle.loads(saved_model)
perf = loaded_model.model_performance(test)
perf.auc()
我试图了解 pickle 模块并进行一些更改,但没有成功。任何解决方法/帮助将不胜感激。谢谢。
【问题讨论】:
-
我也在寻找一种方法来挑选 h2o 模型。你找到怎么做了吗?我们需要一些跨不同 ml 包的保存/加载标准
标签: python serialization machine-learning h2o