https://github.com/breuderink/epsilon
Epsilon is a library with functions for machine learning and statistics written in plain C. It is intended to run on microcontrollers.
https://github.com/breuderink/epsilon
algorithms c edge-ai embedded fwht machine-learning microcontrollers minimal statistics tiny-ml welford xorshift
Last synced: 3 months ago
JSON representation
Epsilon is a library with functions for machine learning and statistics written in plain C. It is intended to run on microcontrollers.
- Host: GitHub
- URL: https://github.com/breuderink/epsilon
- Owner: breuderink
- License: bsd-3-clause
- Created: 2021-03-30T06:39:30.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-11-13T08:49:35.000Z (5 months ago)
- Last Synced: 2025-11-13T10:23:58.645Z (5 months ago)
- Topics: algorithms, c, edge-ai, embedded, fwht, machine-learning, microcontrollers, minimal, statistics, tiny-ml, welford, xorshift
- Language: C
- Homepage:
- Size: 1.82 MB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Epsilon
Epsilon is a minimal C library for machine learning and statistics. No dynamic
memory allocation, online algorithms, easy to use and extend.
Planned:
- CSV reading
- Feature hashing
- Passive-aggressive regression/classification
- More metrics
## Getting started
Build with Meson:
```bash
meson setup builddir
meson test -C builddir
```
See `examples/` for usage.
## Algorithms
- [Xorshift](docs/marsaglia2003xrn.pdf): PRNG
- [FNV hash](https://tools.ietf.org/html/draft-eastlake-fnv-17): Feature hashing
- Welford's method: Online mean/variance
- Fast Walsh-Hadamard Transform: O(n log n) transform
- Passive-aggressive learning (planned)
- Online learning utilities (planned)
- More metrics (planned)
## License
BSD 3-Clause License. See `LICENSE`.
[](https://github.com/breuderink/epsilon/actions/workflows/ci_meson.yml)