Machine Learning in Clojure with clj-ml
Weka is an excellent open-source Machine Learning package that includes both a GUI and Java libraries. Clj-ml is a Clojure wrapper around Weka’s Java libs that enables developers to write ML algorithms such as classification and regression in Clojure. It also includes utilities to read and write datasets in a form natively supported by Weka.
Here’s the slides for a short talk I gave on using Weka and clj-ml for data science projects.
The slides describe
- When to use Weka + clj-ml (as opposed to the other tools in the ecosystem)
- What is the ideal role + data that these tools work best on
- Suggested usage scenarios for clj-ml
Then a quick dive into
- Classification/regression algorithms with clj-ml
- Options on using external packages, auto-ml, experiment APIs.
Unfortunately clj-ml is not actively maintained. The network page of the original author gives you a whole lot of options on the fork that you can pick from. A shameless plug for my fork that has updated relatively frequently, and currently supports Weka version 3.9.5.