MAHOUT-1162: Adding BallKMeans and StreamingKMeans clustering algorithms

Additionally, besides the new algorithms there are new utility methods in
ClusteringUtils for casting between Vector types and computing various
clustering quality metrics: Dunn Index, Davies-Bouldin Index and the
Adjusted Rand Index.



git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1480954 13f79535-47bb-0310-9956-ffa450edef68
Mahout-1199: Improve javadoc comments of mahout-integration

git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1481471 13f79535-47bb-0310-9956-ffa450edef68
Mahout-1207: Fix typos in description in parent pom

git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1481556 13f79535-47bb-0310-9956-ffa450edef68
Mahout-1207: DRY out maven-compiler-plugin configuration

git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1481564 13f79535-47bb-0310-9956-ffa450edef68
Mahout-1212: Incorrect classify-20newsgroups.sh file description

git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1481843 13f79535-47bb-0310-9956-ffa450edef68
MAHOUT-1181: Adding StreamingKMeans MapReduce classes

These classes implement the MapReduce version of StreamingKMeans, add a driver
and a new command line tool.



git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1482907 13f79535-47bb-0310-9956-ffa450edef68
MAHOUT-1216: Add locality sensitive hashing and a LocalitySensitiveHash searcher

This issue tackles the LocalitySensitiveHashSearch, that was initially supposed
to be part of MAHOUT-1156.
It adds HashedVector, the class that adds the LSH to vectors, a new searcher
(although a better implementation is possible) and adds support in the existing
tests and new StreamingKMeans infrastructure.



git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1483702 13f79535-47bb-0310-9956-ffa450edef68
MAHOUT-1217: Nearest neighbor searchers sometimes fail to remove points

This fixes FastProjectionSearch's searchFirst() which was not also searching
through pendingAdditions. I think I replicated the bug in the new testRemove()
in SearchSanityTest that now passes.



git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1483776 13f79535-47bb-0310-9956-ffa450edef68
MAHOUT-1219: LSHSearcher not always faster than BruteSearcher

The existing "benchmark" is not conclusive enough as it doesn't take into
account the adaptive nature of the JVM, doesn't run the test multiple times and
should be replaced with something more thorough.
Removing LSHSearcher from the tests for now.



git-svn-id: https://svn.apache.org/repos/asf/mahout/trunk@1483799 13f79535-47bb-0310-9956-ffa450edef68