LCPP: Learning Curve Plus Plus
LCPP: Learning Curve Plus Plus - Published in JOSS (2026)
Science Score: 87.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 9 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
Another C++ header only machine learning library! <Uses armadillo and compatible with mlpack>
Basic Info
- Host: GitHub
- Owner: taylanot
- License: gpl-3.0
- Language: C++
- Default Branch: main
- Size: 2.53 MB
Statistics
- Stars: 14
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
lcpp [LearningCurvePlusPlus]
C++ Header-Only Learning Curve Generation Tool
Generate learning curves for supervised machine learning algorithms with just header files no separate compilation needed!
lcpp is designed to help you easily generate learning curves for supervised ML algorithms.
It provides a clean C++ header-only implementation, making it easy to integrate into your own projects without heavy build setup.
Quick Start
Use the pre-built image:
bash
singularity pull lcpp.sif docker://taylanot/lcpp
Include lcpp in your program by adding the following at the top of your source file: ```cpp
include
```
You can build your project using the provided sample Makefile or your own. The sample Makefile will create a build directory and place your executable there:
bash
singularity run lcpp.sif make your_project
Now, you are ready to run you program...
bash
build/your_project
You can also use the Dockerfile to build your own image with docker or podman. Just run to build the image:
bash
podman build -t lcpp .
After, creating your project you can compile your program:
bash
podman run --rm -v "$(pwd)":/workspace -w /workspace lcpp make your_project
then, run it:
bash
podman run --rm -v "$(pwd)":/workspace -w /workspace lcpp ./build/your_project
Slow Start
On Ubuntu 25 or later you can just use apt install libmlpack-dev and apt install libcurl4-openssl-dev to install all the dependencies. After cloning this repository and running ./install.sh, lcpp is at your disposal.
Note: For previous versions of Ubuntu libmlpack-dev is not on the required version, hence you might need to follow the installation guides of mlpack.
Detailed Documentations
For more information visit https://taylanot.github.io/lcpp/.
Contributions
Any contributions are welcome. Please make sure you test your contributions in the related test files.
- Feature Curves generation is on the roadmap of this project.
- New learning algorithms are always welcome.
- New sampling strategies can be useful.
- Migration to
cmakefrommakesimilar to what is done inmlpack.
Dependencies
** These libraries may have their own dependencies. Make sure they are properly installed before use.**
Project History and Development
This work has been developed since 2023 and was previously used in Turan et al. (2025) under the name mlcxx. The name has since changed from mlcxx to lcpp. While the majority of the code remains the same, improvements in usability have been made, and unused parts of the code have been removed. It has most recently been used in Turan et al. (2026).
Reference
Turan, O. T., Tax, D. M. J., Viering, T. J., & Loog, M. (2025). Learning learning curves. Pattern Analysis and Applications, 28, 15. https://doi.org/10.1007/s10044-024-01394-6
Turan, O. T., Loog, M., & Tax, D. M. J. (2026). Generalization Performance Distributions Along Learning Curves. Pattern Recognition Letters. https://doi.org/10.1016/j.patrec.2026.01.003
Owner
- Name: Ozgur Taylan TURAN
- Login: taylanot
- Kind: user
- Location: Netherlands
- Repositories: 1
- Profile: https://github.com/taylanot
JOSS Publication
LCPP: Learning Curve Plus Plus
Authors
Delft University of Technology, The Netherlands
Tags
hyper-parameter tuning mlpack ensmallen Armadillo learning curve generalization performance OpenMP pattern recognition machine learningGitHub Events
Total
- Delete event: 3
- Watch event: 2
- Push event: 26
- Create event: 1
Last Year
- Delete event: 3
- Watch event: 2
- Push event: 26
- Create event: 1
