[ https://issues.apache.org/jira/browse/MAHOUT-843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paritosh Ranjan updated MAHOUT-843: ----------------------------------- Attachment: MAHOUT-843-patch This patch implements TopDownClustering. The class to use it is @TopDownClusteringDriver. Top Level Clustering can be done by implementations of @TopLevelClusterConfig and bottom level clustering can be done by all implementations of @BottomLevelClusterConfig which are marker interfaces. The concept is, to use different implementations of @ClusterConfig to specify parameters of different clustering algorithms. These @ClusterConfig implementations are passed as parameters specifying top level clustering configuration and bottom level clustering configuration. The top level clustering output is post processed using @TopLevelClusterOutputPostProcessor which groups the vectors of similar clusters together. All of these clusters are further processed by bottom level clustering. There is a specific implementation of @ClusterExecutor associated with each implementation of @ClusterConfig which uses the cluster config parameters to execute the specific algorithm. The output of top level clustering is kept in <output path>/topLevelCluster and the output of bottom level clustering is kept in <output path>/bottomLevelCluster. The post processed output of top level cluster is kept in <output path>/topLevelCluster/topLevelClusterPostProcessed/clusterId. Both the top and bottom level cluster use the clusterId as the name of the clusters produced. I have added javadocs whereever it felt necessary so it would also help you guide through the code. I have done clustering using Canopy as top and bottom level cluster config and the other configs should work out of box. > Top Down Clustering > ------------------- > > Key: MAHOUT-843 > URL: https://issues.apache.org/jira/browse/MAHOUT-843 > Project: Mahout > Issue Type: New Feature > Components: Clustering > Affects Versions: 0.6 > Reporter: Paritosh Ranjan > Labels: clustering, patch > Fix For: 0.6 > > Attachments: MAHOUT-843-patch, Top-Down-Clustering-patch > > > Top Down Clustering works in multiple steps. The first step is to find > comparative bigger clusters. The second step is to cluster the bigger chunks > into meaningful clusters. This can performance while clustering big amount of > data. And, it also removes the dependency of providing input clusters/numbers > to the clustering algorithm. > The "big" is a relative term, as well as the smaller "meaningful" terms. So, > the control of this "bigger" and "smaller/meaningful" clusters will be > controlled by the user. > Which clustering algorithm to be used in the top level and which to use in > the bottom level can also be selected by the user. Initially, it can be done > for only one/few clustering algorithms, and later, option can be provided to > use all the algorithms ( which suits the case ). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira