似乎有一些选项可以将 PMML 模型从 scikit-learn 中导出,例如 sklearn2pmml,但其他方向的信息很少。我的案例是一个 XGboost 模型,之前在 R 中构建,并使用 r2pmml 保存到 PMML,我想在 Python 中使用它。 Scikit 通常使用 pickle 来保存/加载模型,但是否也可以使用 PMML 将模型导入到 scikit-learn 中?
最佳答案
您不能通过通用表示(例如 PMML)连接不同的专用表示(例如 R 和 Scikit-Learn native 数据结构)。尝试将 R 数据结构直接转换为 Scikit-Learn 数据结构可能会更幸运。
XGBoost 实际上是上述规则的一个异常(exception),因为它的 R 和 Scikit-Learn 实现只是原生 XGBoost 库的薄包装。在经过训练的 R XGBoost 对象中有一个 blob raw
,这是其原生 XGBoost 表示中的模型。将其保存到文件中,然后使用 xgb.Booster.load_model(fname)
方法在 Python 中加载。
如果您知道需要在 Scikit-Learn 中部署 XGBoost 模型,那么为什么要在 R 中训练它?
关于python - 将 PMML 模型导入 Python (Scikit-learn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40048987/