

The project provides a focus on clustering and classification algorithms and a popular application driving implementation is its use in collaborative filtering for recommender systems. Mahout (Hadoop)Īpache Mahout provides implementations of machine learning algorithms for use on the Apache Hadoop platform (distributed map-reduce).

This section lists Java projects intended for use with Big Data, such as on clusters of machines. It includes classification, regression, ensemble, clustering and feature selection methods. Nevertheless the list of algorithms is impressive. The author comments that he developed the library partly as a self-education exercise and partly to get things done. The Java Statistical Analysis Tool (JSAT) provides pure Java implementations of standard machine learning algorithms for modest sized problems. Note that at the time of writing, the last release was in 2012. It includes methods for data manipulation, clustering, feature selection and classification. It provides a standard interface for each algorithm, no UIs and references to the relevant scientific literature for further reading. The Java Machine Learning Library (Java-ML) provides a collection of machine learning algorithms implemented in Java. They are machine learning libraries in the narrow sense. Practically every project listed on this page is/has a library with a Java API, those projects listed in this section only provide a Java API. It is perhaps the most popular Java machine learning library and a great place to start or practice machine learning. It is written in Java and provides a graphical user interface, command line interface and Java API. Waikato Environment for Knowledge Analysis (Weka) is a machine learning platform developed by the University of Waikato, New Zealand. They are called environments because they provided graphical user interfaces for performing machine learning tasks, but also provided Java APIs for developing your own applications. This section describes Java-based environments or workbenches that can be used for machine learning. In this post you will discover the major platforms and open source machine learning libraries you can use in Java.

You can write the algorithms yourself from scratch, but you can make a lot more progress if you leverage an existing open source library. Writing programs that make use of machine learning is the best way to learn machine learning. Are you a Java programmer and looking to get started or practice machine learning?
