Skip to content

Clojure library to train, optimize models and use them to make predictions

License

Notifications You must be signed in to change notification settings

rakutenrewards/clojure-ml

Repository files navigation

curbside-clojure-ml

curbside-clojure-ml is a library used to train and optimize models, as well as to make predictions. It implements the following ML algorithms:

  • lsvm
  • svm
  • c4
  • random-forest
  • m5p
  • xgboost

Usage

From your application code, you will need to require the models interface:

(require '[curbside.ml.models])

The model namespace offers the following interface, based on the provided algorithm keyword (i.e. :xgboost)

  • save
  • load
  • dispose
  • train
  • evaluate
  • optimize-hyperparameters
  • infer

Benchmarking

Use lein libra to run benchmarks. Add benchmarks under bench/.

Releasing to Github

We use https://github.com/relaynetwork/lein-release to release artifacts to Github. To use:

  1. Export GITHUB_ACTOR and GITHUB_TOKEN. You can generate a token from your own account settings with the write:packages permission.
  2. Make sure you are on the master branch, and that its remote branch is set to the primary source repository (https://github.com/Curbside/curbside-clojure-ml).
  3. We use https://semver.org to describe releases, so make sure to update the version accordingly in project.clj
  4. Release a new version with lein deploy release

About

Clojure library to train, optimize models and use them to make predictions

Resources

License

Stars

Watchers

Forks