jpmml/jpmml-sklearn

Java library and command-line application for converting Scikit-Learn pipelines to PMML

解决的问题

JPMML-SkLearn 解决了将 Scikit-Learn 机器学习管道部署到需要预测模型标记语言(PMML)标准的生产环境中的问题。它允许用户将训练好的 Python 模型导出为可移植的、基于 XML 的格式,该格式可以在其他 JPMML 库中执行,而无需在生产环境中运行 Python 运行时。

工作原理

该工具通过两步流程运行:

  1. Python 序列化:用户拟合 Scikit-Learn 管道并使用 pickle(或 joblib)格式将其序列化到文件中。
  2. Java 转换:基于 Java 的命令行应用程序或库读取 pickle 文件,并将 Scikit-Learn 管道结构、转换器和估计器转换为 PMML 文件。

适用人群

专为使用 Scikit-Learn 的数据科学家设计,他们需要与生产系统共享模型,特别是基于 Java 或严格遵循 PMML 标准以实现模型互操作性的系统。

主要亮点

  • 广泛支持:支持大量 Python 包、转换器和估计器。
  • 特征分析:执行特征名称、数据类型和描述性统计的详细编码。
  • 管道扩展:包含剪枝、模型验证和预测后处理等功能。
  • 可扩展性:提供 Java API 以创建自定义转换器,并通过资源文件支持自定义转换器的自动发现。
  • 互操作性:直接与 H2O、LightGBM、StatsModels 和 XGBoost 的其他 JPMML 转换库集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目