Skip to main content

Tree-based machine learning for embedded system

Project description

# emtrees Tree-based machine learning classifiers for embedded systems. Train in Python, deploy on microcontroller.

## Key features

Embedded-friendly Classifier

  • Portable C99 code

  • No stdlib required

  • No dynamic allocations

  • Integer/fixed-point math only

  • Single header file, less than 100 lines

Convenient Training

  • API-compatible with [scikit-learn](http://scikit-learn.org)

  • Implemented in Python 3

  • C classifier accessed via pybind11

[MIT licensed](./LICENSE.md)

## Status Proof-of-concept

Binary classification using Random Forests is implemented. Tested running on AVR, ESP8266 and Linux.

## Installing

Install from git

git clone https://github.com/jonnor/emtrees cd emtrees pip install ./

## Usage For now, see the [tests](./tests)

## TODO

0.2

  • Add validation to performance benchmarks

  • Run tests on/against microcontroller

1.0

  • Support serializing/deserializing trees

  • Support multi-target classification

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emtrees-0.2.0.tar.gz (4.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page