mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suneel Marthi <>
Subject Re: Mahout 0.9 Release Notes - First Draft
Date Tue, 11 Feb 2014 18:06:43 GMT
Here's a draft of the Release Notes for Mahout 0.9, Please review the same.


The Apache Mahout PMC is pleased to announce the release of Mahout 0.9.
Mahout's goal is to build scalable machine learning libraries focused
primarily in the areas of collaborative filtering (recommenders),
clustering and classification (known collectively as the "3Cs"), as well as the
necessary infrastructure to support those implementations including, but
not limited to, math packages for statistics, linear algebra and others
as well as Java primitive collections, local and distributed vector and
matrix classes and a variety of integrative code to work with popular
packages like Apache Hadoop, Apache Lucene, Apache HBase, Apache
Cassandra and much more. The 0.9 release is mainly a clean up release in
preparation for an upcoming 1.0 release targeted for first half of 2014, but there are a few
significant new features, which are highlighted below.

To get started with Apache Mahout 0.9, download the release artifacts and signatures at
or visit the central Maven repository.

As with any release, we wish to thank all of the users and contributors
to Mahout. Please see the CHANGELOG [1] and JIRA Release Notes [2] for
individual credits, as there are too many to list here.


In the release package, the examples directory contains several working examples of the core
functionality available in Mahout. These can be run via scripts in the examples/bin
directory and will prompt you for more information to help you try things out. 
Most examples do not need a Hadoop cluster in order to run.


The highlights of the Apache Mahout 0.9 release include, but are not
limited to the list below. For further information, see the included CHANGELOG[1] file.

-  MAHOUT-1297: Scala DSL Bindings for Mahout Math Linear Algebra.
-  MAHOUT-1288: Recommenders as a Search.  See
-  MAHOUT-1364: Upgrade Mahout to Lucene 4.6.1
-  MAHOUT-1361: Online Algorithm for computing accurate Quantiles using 1-dimensional Clustering
for the details.
-  MAHOUT-1265: MultiLayer Perceptron (MLP) classifier 
   This is an early implementation of MLP to solicit user feedback, needs to be integrated
into Mahout’s processing pipeline to work with Mahout’s vectors.

- Removed Deprecated algorithms as they have been either replaced by better performing algorithms
or lacked user support and maintenance.

- the usual bug fixes. See [2] for more information on the 0.9 release.

A total of 113 separate JIRA issues were addressed in this release.

The following algorithms that were marked deprecated in 0.8 have been removed in 0.9:

- From Clustering:
   Switched LDA implementation from using Dirtichlet to Collapsed Variational Bayes (CVB)


  MinHash - removed due to poor performance,  lack of support and lack of usage

- From Classification (both are sequential implementations)

  Winnow - lack of actual usage and support

  Perceptron - lack of actual usage and support

- Collaborative Filtering
    SlopeOne implementations in and
    Distributed pseudo recommender in
    TreeClusteringRecommender in

- Mahout Math
    Hadoop entropy stuff in org.apache.mahout.math.stats.entropy


Mahout is always looking for contributions focused on the 3Cs. If you are
interested in contributing, please see our contribution page
or contact us via email at

As the project moves towards a 1.0 release, the community will be focused on key algorithms
that are proven to scale in production and have seen wide-spread adoption. 


On Monday, December 23, 2013 7:41 PM, Dmitriy Lyubimov <> wrote:
On Sun, Dec 22, 2013 at 11:21 AM, Sebastian Schelter <> wrote:

> >
> > - Mahout Math
> >     Lanczos in favour of SSVD
> IIRC, we agreed to not remove Lanczos, although it was initially
> deprecated. We should undeprecate it.
Some folks like Lanczos in Mahout (for reasons not really clear to me,
aside from accuracy when computing svd of a random noise, there are
actually 0 reasons to use Lanczos instead). I agree we don't  necessarily
want to cull it out -- but IMO there should be a clear steer posted in
favor of SSVD in the docs/javadocs.
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message