在Python训练到Scala的XGBoost模型



我已经使用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模型转换为Python-Api模型?在可以使用上述代码加载Python-Api模型之后。

有任何见解?

对于那些提出这个问题的人来说,解决方案是:

使用Sklearn API训练模型时,您可以保存为:

model._Booster.save_model("trained_model.model")

save_model用于python api。

后来,该模型可以按照问题所述加载到Scala API中:

val model = XGBoost.loadModel("trained_model.model")

相关内容

  • 没有找到相关文章

最新更新