正在将 python 中训练的 xgboost 模型加载到 scala
Loading xgboost model trained in python to scala
我已经使用 sklearn api 训练了一个模型并保存了模型
from xgboost.sklearn import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
with open(path + '.pkl', 'wb') as file:
cPickle.dump(model, file)
有没有办法用 scala 加载它API?
如果我使用 python API(不是 sklearn API)训练它并使用:
保存它
model.save_model("trained_model.model")
然后我可以使用 scala 加载它:
import ml.dmlc.xgboost4j.scala.XGBoost
val model = XGBoost.loadModel("trained_model.model")
在 scala 中加载 pkl 格式的模型是否有类似的方法?
或者是否可以将 sklearned-api-xgboost-model 转换为 python-api-model?在 python-api-model 之后可以使用上面的代码加载。
有什么见解吗?
对于遇到这个问题的人,解决方案是:
当您使用 sklearn API 训练模型时,您可以另存为:
model._Booster.save_model("trained_model.model")
save_model
用于pythonAPI.
稍后可以将此模型加载到 scala API 中,如问题中所述:
val model = XGBoost.loadModel("trained_model.model")
我已经使用 sklearn api 训练了一个模型并保存了模型
from xgboost.sklearn import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
with open(path + '.pkl', 'wb') as file:
cPickle.dump(model, file)
有没有办法用 scala 加载它API?
如果我使用 python API(不是 sklearn API)训练它并使用:
保存它model.save_model("trained_model.model")
然后我可以使用 scala 加载它:
import ml.dmlc.xgboost4j.scala.XGBoost
val model = XGBoost.loadModel("trained_model.model")
在 scala 中加载 pkl 格式的模型是否有类似的方法?
或者是否可以将 sklearned-api-xgboost-model 转换为 python-api-model?在 python-api-model 之后可以使用上面的代码加载。
有什么见解吗?
对于遇到这个问题的人,解决方案是:
当您使用 sklearn API 训练模型时,您可以另存为:
model._Booster.save_model("trained_model.model")
save_model
用于pythonAPI.
稍后可以将此模型加载到 scala API 中,如问题中所述:
val model = XGBoost.loadModel("trained_model.model")