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:
- Python Serialization: The user fits a Scikit-Learn pipeline and serializes it to a file using the
pickle(orjoblib) format. - 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