Mpi*_*ris 3 python scala scikit-learn xgboost
I have trained a model using sklearn api and saved the model
from xgboost.sklearn import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
with open(path + '.pkl', 'wb') as file:
cPickle.dump(model, file)
Run Code Online (Sandbox Code Playgroud)
Is there a way to load it with scala API?
如果我使用 python API(不是 sklearn API)训练它并使用以下命令保存它:
model.save_model("trained_model.model")
Run Code Online (Sandbox Code Playgroud)
然后我可以使用 Scala 加载它:
import ml.dmlc.xgboost4j.scala.XGBoost
val model = XGBoost.loadModel("trained_model.model")
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法可以在 Scala 中加载 pkl 格式的模型?
或者,是否可以将 sklearned-api-xgboost-model 转换为 python-api-model?然后可以使用上面的代码加载python-api-model。
任何见解?
对于那些提出这个问题的人,解决方案是:
当您使用 sklearn API 训练模型时,您可以另存为:
model._Booster.save_model("trained_model.model")
Run Code Online (Sandbox Code Playgroud)
save_model 用于python API。
稍后可以按照问题中的描述将该模型加载到 Scala API 中:
val model = XGBoost.loadModel("trained_model.model")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2753 次 |
| 最近记录: |