将 PMML 模型导入 Python (Scikit-learn)

Importing PMML models into Python (Scikit-learn)

似乎有一些选项可用于从 scikit-learn 中导出 PMML 模型,例如 sklearn2pmml,但其他方向的信息很少。我的案例是一个之前在 R 中构建的 XGboost 模型,并使用 r2pmml 保存到 PMML,我想在 Python 中使用它。 Scikit 通常对 save/load 模型使用 pickle,但是否也可以使用 PMML 将模型导入 scikit-learn?

您不能通过通用表示(例如 PMML)连接不同的专用表示(例如 R 和 Scikit-Learn 本机数据结构)。尝试将 R 数据结构直接转换为 Scikit-Learn 数据结构可能会更幸运。

XGBoost 实际上是上述规则的一个例外,因为它的 R 和 Scikit-Learn 实现只是原生 XGBoost 库的简单包装。在经过训练的 R XGBoost 对象中有一个 blob raw,这是其原生 XGBoost 表示中的模型。将其保存到文件中,然后使用 xgb.Booster.load_model(fname) 方法加载到 Python 中。

如果你知道你需要在 Scikit-Learn 中部署 XGBoost 模型,那你为什么要在 R 中训练它?