Machine Learning in Clojure with clj-ml

Kiran Karkera
1 min readJul 17, 2022

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.

Photo by Andrea Lightfoot on Unsplash

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.
Weka+ clj-ml in practice

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.

--

--