https://github.com/amadeusitgroup/cpmml
cPMML is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language (PMML)
https://github.com/amadeusitgroup/cpmml
ai data-science machine-learning ml model-deployment model-scoring pmml
Last synced: about 1 year ago
JSON representation
cPMML is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language (PMML)
- Host: GitHub
- URL: https://github.com/amadeusitgroup/cpmml
- Owner: AmadeusITGroup
- License: mit
- Created: 2020-03-12T07:56:02.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-29T10:26:07.000Z (almost 3 years ago)
- Last Synced: 2025-04-04T05:11:22.691Z (about 1 year ago)
- Topics: ai, data-science, machine-learning, ml, model-deployment, model-scoring, pmml
- Language: C++
- Homepage: https://amadeusitgroup.github.io/cPMML/
- Size: 17.5 MB
- Stars: 28
- Watchers: 2
- Forks: 6
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README




# High-Performance PMML Scoring
*cPMML* is C++ library for scoring machine learning models serialized with the Predictive Model Markup Language ([PMML](http://dmg.org/pmml/v4-4/GeneralStructure.html)).
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
```cpp
#include "cPMML.h"
cpmml::Model model("IrisTree.xml");
std::unordered_map 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](https://amadeusitgroup.github.io/cPMML/) for further details.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to submit your pull requests.
## Authors
* **Paolo Iannino** - *Initial work* - [Paolo](https://github.com/piannino)
See also the list of [contributors](https://github.com/AmadeusITGroup/cPMML/contributors) who participated in this project.
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details