Apache Mahout

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Apache Mahout
Developer(s)Apache Software Foundation
Initial release7 April 2009 (2009-04-07)[1]
Stable release
0.14.0 / 6 March 2019 (2019-03-06)[2]
Repository Edit this at Wikidata
Written inJava, Scala
Operating systemCross-platform
TypeMachine learning
LicenseApache License 2.0

Apache Mahout is a project of the Apache Software Foundation to produce free implementations of distributed or otherwise scalable machine learning algorithms focused primarily in the areas of collaborative filtering, clustering and classification. Many of the implementations use the Apache Hadoop platform.[3][4] Mahout also provides Java libraries for common maths operations (focused on linear algebra and statistics) and primitive Java collections. Mahout is a work in progress; the number of implemented algorithms has grown quickly,[5] but various algorithms are still missing.

While Mahout's core algorithms for clustering, classification and batch based collaborative filtering are implemented on top of Apache Hadoop using the map/reduce paradigm, it does not restrict contributions to Hadoop-based implementations. Contributions that run on a single node or on a non-Hadoop cluster are also welcomed. For example, the 'Taste' collaborative-filtering recommender component of Mahout was originally a separate project and can run stand-alone without Hadoop.

Starting with the release 0.10.0, the project shifted its focus to building a backend-independent programming environment, code named "Samsara".[6][7][8] The environment consists of an algebraic backend-independent optimizer and an algebraic Scala DSL unifying in-memory and distributed algebraic operators. At the time of this writing supported algebraic platforms are Apache Spark and H2O, and Apache Flink. Support for MapReduce algorithms is being gradually phased out.[9]


  1. ^ "Apache Mahout: First release 0.1 released".
  2. ^ "Apache Mahout: Scalable machine learning and data mining". Retrieved 6 March 2019.
  3. ^ "Introducing Apache Mahout". ibm.com. 2011. Retrieved 13 September 2011.
  4. ^ "InfoQ: Apache Mahout: Highly Scalable Machine Learning Algorithms". infoq.com. 2011. Retrieved 13 September 2011.
  5. ^ "Algorithms - Apache Mahout - Apache Software Foundation". cwiki.apache.org. 2011. Retrieved 13 September 2011.
  6. ^ "Mahout-Samsara's In-Core Linear Algebra DSL Reference".
  7. ^ "Mahout-Samsara's Distributed Linear Algebra DSL Reference".
  8. ^ "Mahout 0.10.x: first Mahout release as a programming environment". www.weatheringthroughtechdays.com. Retrieved 2016-02-29.
  9. ^ "MAHOUT-1510 ("Good-bye MapReduce")".

External links[edit]