Skip to content

cPMML is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language (PMML)

License

Notifications You must be signed in to change notification settings

AmadeusITGroup/cPMML

Repository files navigation

cPMML

Travis (.org) GitHub

High-Performance PMML Scoring

cPMML is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language (PMML). It exposes a minimalist and user-friendly API and it targets high performance in model scoring, keeping a predictable and minimal memory footprint.

Currently, the following PMML elements are supported:

  • PMML General structure (preprocessing, data dictionary, etc.)
  • Tree-based models
  • Regression models
  • Ensembles of the previous

Getting Started

#include "cPMML.h"

cpmml::Model model("IrisTree.xml");
std::unordered_map<std::string, std::string> sample = {
	{"sepal_length","6.6"},
	{"sepal_width","2.9"},
	{"petal_length","4.6"},
	{"petal_width","1.3"}
};

std::cout << model.predict(sample); // "Iris-versicolor"

Set-up

Linux / Mac

git clone https://github.com/AmadeusITGroup/cPMML.git && cd cPMML && ./install.sh
Prerequisites
  • Git
  • CMAKE >= 3.5.1
  • Compiler supporting C++11

Windows

git clone https://github.com/AmadeusITGroup/cPMML.git && cd cPMML && install.bat
Prerequisites
  • Git
  • CMAKE >= 3.5.1
  • MinGW-W64 supporting C++11

Documentation

Please refer to the official documentation for further details.

Contributing

Please read CONTRIBUTING.md for details on how to submit your pull requests.

Authors

  • Paolo Iannino - Initial work - Paolo

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

cPMML is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language (PMML)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published