Subscribe to DSC Newsletter

Clojure Machine Learning & Statistics Libraries

Clojure is a dialect of the Lisp programming language with an emphasis on functional programming. It runs on the Java Virtual Machine, Common Language Runtime, and JavaScript engines. Like other Lisps, Clojure treats code as data and has a macro system. Due to the language characteristics, community support & developer momentum (see chart above), Clojure has a bright future as a next generation programing language.

We have given below a list of resources to help you understand Clojure with respect to machine learning.

Resources to help you learn Machine Learning in Clojure:

  1. Presentation on benefits of using Clojure in Machine Learning

  2. Book on Clojure & Machine Learning


Machine Learning Libraries of Clojure:

  1. CJ-ML : A machine learning library for Clojure built on top of Weka. Supported algorithms include: k-Nearest neighbor, Decision trees,Multilayer perceptrons, Logistic Regression & k Means clusterers

  2. Infer - : Infer is a library for machine learning and statistical inference, designed to be used in real production systems.

  3. Nurokit: General purpose Toolkit for machine learning in Clojure including Neural networks & Visualisation tools (Last update was 2013)

  4. clj-bigml - BigML offers a REST-style service for building, sharing, and evaluating machine learning models.

  5. Clojure Enclog: Clojure wrapper for the encog (v3) machine-learning framework. Encog has been around for almost 5 years, and so can be considered fairly mature and optimised. With this library, which is a thin wrapper around encog, you can construct and train many types of neural nets in less than 10 lines of pure Clojure code.

  6. FungGP & Clojush: Genetic programming libraries for Clojure Genetic programming (GP) is the process of evolving computer programs using a process inspired by biological evolution. In GP, a computer program automatically writes new computer programs (in this case, by generating trees of new Clojure code), and judges them according to their ability to solve a problem or produce correct output.

  7. Synaptic is a Neural Networks library written in Clojure. Synaptic allows to create multilayer feedforward networks and train them using various algorithms.


Clojure Math & Statistical Libraries:

  1. Clojure Numerics is similar to NumPy for those familiar with Python.

  2. Neanderthal Fast native-speed matrix and linear algebra in Clojure.

  3. Incanter - Incanter is a Clojure-based, R-like platform for statistical computing and graphics.

  4. core.matrix - Multi-dimensional array programming API for Clojure

  5. Clatrix - Clatrix works as an implementation of core.matrix so it is fully compatible with other libraries and tools that use the core.matrix API.


A complete & updated list of clojure machine learning resources is available on Gilboz.

Views: 3502


You need to be a member of Data Science Central to add comments!

Join Data Science Central

Comment by Alex Ott on September 10, 2015 at 2:58am

Infer is better to take from my fork: - original works only with Clojure 1.2...


  • Add Videos
  • View All

© 2020   Data Science Central ®   Powered by

Badges  |  Report an Issue  |  Privacy Policy  |  Terms of Service