jpmml/sklearn2pmml

Python library for converting Scikit-Learn pipelines to PMML

解决的问题

Scikit-Learn 估计器缺乏在不同环境之间移动模型所需的元数据,导致可移植性差。该包允许用户将 Scikit-Learn 管道导出为预测模型标记语言(PMML)格式,使模型能够在无需原始 Python 环境的情况下,在各种生产环境中使用。

工作原理

该包是 JPMML-SkLearn 库的 Python 包装器。它可以将拟合的 Scikit-Learn 估计器对象或 pickle 文件直接转换为 PMML 文件。为提高可移植性,它提供了一个 PMMLPipeline 元估计器,扩展了标准 Scikit-Learn 管道,用于收集特征和标签元数据、执行预测后处理,并嵌入验证数据。

适用人群

需要将 Scikit-Learn 模型部署到支持 PMML 的生产系统中的数据科学家和机器学习工程师,或希望确保模型可移植且自文档化的用户。

主要亮点

  • 广泛兼容性:支持多种 Scikit-Learn 变换器、选择器和预测器。
  • 元数据增强:通过 PMMLPipeline 自动捕获输入和目标字段的列名。
  • 可定制性:允许对 PMML XML 片段进行额外编辑,并配置最终估计器步骤。
  • 高级变换器:包含专门面向 PMML 的工具,如 ExpressionTransformer、LookupTransformer 和 BusinessDecisionTransformer。
  • 安全加载:使用自定义 Java 组件读取 pickle 文件,使在使用未经验证的文件时更加安全。

相关

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