如何解决如何在pyspark中加载xgboost模型?
我在 pyspark 中使用 xgboost4j-0.90
。我有一个使用交叉验证生成的模型,我想知道在保存后加载它的正确方法是什么。
这是我保存它的方法:
import sys
from sparkxgb import XGBoostClassificationModel
path = 'models_prod'
os.mkdir(path)
cvModel.bestModel.save(os.path.join(sys.argv[1],'model_prod_{}.model'.format(datetime.now().strftime('%Y-%m-%d'))))
但是当我尝试加载它时...
from datetime import datetime
XGBoostClassificationModel.load(os.path.join(sys.argv[1],'model_prod_{}.model'.format(datetime.now().strftime('%Y-%m-%d'))))
我收到此错误:
TypeErrorTraceback (most recent call last)
<ipython-input-76-9c37de36b710> in <module>()
----> 1 sparkxgb.XGBoostClassificationModel.load(os.path.join(sys.argv[1],'model_prod_{}.model'.format(datetime.now().strftime('%Y-%m-%d'))))
/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6626826/lib/spark/python/pyspark/ml/util.py in load(cls,path)
360 def load(cls,path):
361 """Reads an ML instance from the input path,a shortcut of `read().load(path)`."""
--> 362 return cls.read().load(path)
363
364
/tmp/spark-ddebc1de-ff0b-4a61-9015-9eed1d020da0/userFiles-e8428975-a085-42ff-ae70-b92e722822ac/sparkxgb.zip/sparkxgb/util.py in read(cls)
26 def read(cls):
27 """Returns an XGBoostReader instance for this class."""
---> 28 return XGBoostReader(cls)
29
30
/tmp/spark-ddebc1de-ff0b-4a61-9015-9eed1d020da0/userFiles-e8428975-a085-42ff-ae70-b92e722822ac/sparkxgb.zip/sparkxgb/util.py in __init__(self,clazz)
36 def __init__(self,clazz):
37 self._clazz = clazz
---> 38 self._jread = self._load_java_obj(clazz).read()
39
40 @classmethod
TypeError: 'JavaPackage' object is not callable
谁能告诉我如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。