jpmml/jpmml-sklearn

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

What it solves

JPMML-SkLearn solves the problem of deploying Scikit-Learn machine learning pipelines into production environments that require the Predictive Model Markup Language (PMML) standard. It allows users to export their trained Python models into a portable, XML-based format that can be executed by other JPMML libraries without needing a Python runtime in the production environment.

How it works

The tool operates through a two-step process:

  1. Python Serialization: The user fits a Scikit-Learn pipeline and serializes it to a file using the pickle (or joblib) format.
  2. Java Conversion: A Java-based command-line application or library reads the pickle file and converts the Scikit-Learn pipeline structure, transformers, and estimators into a PMML file.

Who it’s for

It is designed for data scientists using Scikit-Learn who need to share their models with production systems, particularly those built on Java or those that strictly adhere to the PMML standard for model interoperability.

Highlights

  • Broad Support: Supports a vast number of Python packages, transformers, and estimators.
  • Feature Analysis: Performs detailed encoding of feature names, data types, and descriptive statistics.
  • Pipeline Extensions: Includes capabilities for pruning, model verification, and prediction post-processing.
  • Extensibility: Provides Java APIs for creating custom converters and supports automatic discovery of custom converters via resource files.
  • Interoperability: Interfaces directly with other JPMML conversion libraries for H2O, LightGBM, StatsModels, and XGBoost.

Related

  • Project
  • Project
  • Project
  • Project
  • Project