LCPP: Learning Curve Plus Plus

LCPP: Learning Curve Plus Plus - Published in JOSS (2026)

https://github.com/taylanot/lcpp

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
Last synced: about 1 month ago · JSON representation

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
Created about 3 years ago · Last pushed 3 months ago
Metadata Files
Readme License

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 cmake from make similar to what is done in mlpack.

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

JOSS Publication

LCPP: Learning Curve Plus Plus
Published
April 22, 2026
Volume 11, Issue 120, Page 9737
Authors
Ozgur Taylan Turan ORCID
Delft University of Technology, The Netherlands
David M.j. Tax
Delft University of Technology, The Netherlands
Editor
Johan Larsson ORCID
Tags
hyper-parameter tuning mlpack ensmallen Armadillo learning curve generalization performance OpenMP pattern recognition machine learning

GitHub 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