Clustering algorithms divide data into meaningful or useful groups, called clusters, such that the intra-cluster similarity is maximized and the inter-cluster similarity is minimized.These discovered clusters can be used to explain the characteristics of the underlying data distribution and thus serve as the foundation for various data mining and analysis techniques.The applications of clustering include characterization of different customer groups based upon purchasing patterns, categorization of documents on the World Wide Web, grouping of genes and proteins that have similar functionality, grouping of spatial locations prone to earth quakes from seismological data, etc. What is CLUTOCLUTO is a software package for clustering low and high dimensional datasets and for analyzing the characteristics of the various clusters.CLUTO provides three different classes of clustering algorithms that operate either directly in the object's feature space or in the object's similarity space.These algorithms are based on the partitional, agglomerative, and graphpartitioning paradigms.A key feature in most of CLUTO's clustering algorithms is that they treat the clustering problem as an optimization process which seeks to maximize or minimize a particular clustering criterion function defined either globally or locally over the entire clustering solution space.CLUTO provides a total of seven different criterion functions that can be used to drive both partitional and agglomerative clustering algorithms, that are described and analyzed in [6,5].Most of these criterion functions have been shown to produce high quality clustering solutions in high dimensional datasets, especially those arising in document clustering.In addition to these criterion functions, CLUTO provides some of the more traditional local criteria (e.g., single-link, complete-link, and UPGMA) that can be used in the context of agglomerative clustering.Furthermore, CLUTO provides graph-partitioning-based clustering algorithms that are well-suited for finding clusters that form contiguous regions that span different dimensions of the underlying feature space.An important aspect of partitional-based criterion-driven clustering algorithms is the method used to optimize this criterion function.CLUTO uses a randomized incremental optimization algorithm that is greedy in nature, has low computational requirements, and has been shown to produce high-quality clustering solutions [6].CLUTO's graphpartitioning-based clustering algorithms utilize high-quality and efficient multilevel graph partitioning algorithms derived from the METIS and hMETIS graph and hypergraph partitioning algorithms [4,3].CLUTO also provides tools for analyzing the discovered clusters to understand the relations between the objects assigned to each cluster and the relations between the different clusters, and tools for visualizing the discovered clustering solutions.CLUTO can identify the features that best describe and/or discriminate each cluster.These set of features can be used to gain a better understanding of the set of objects assigned to each cluster and to provide concise summaries about the cluster's contents.Moreover, CLUTO provides visualization capabilities that can be used to see the relationships between the clusters, objects, and features.CLUTO's algorithms have been optimized for operating on very large datasets both in terms of the number of objects as well as the number of dimensions.This is especially true for CLUTO's algorithms for partitional clustering.These algorithms can quickly cluster datasets with several tens of thousands objects and several thousands of dimensions.Moreover, since most high-dimensional datasets are very sparse, CLUTO directly takes into account this sparsity and requires memory that is roughly linear on the input size.CLUTO's distribution consists of both stand-alone programs (vcluster and scluster) for clustering and analyzing these clusters, as well as, a library via which an application program can access directly the various clustering and analysis algorithms implemented in CLUTO. Outline of CLUTO's ManualCLUTO's manual is organized as follows.Section 2 describe the major changes from the previous release.Section 3 describes the stand-alone programs provided by CLUTO, and discusses its various options and analysis capabilities.Section 4 describes the type of clusters that CLUTO's algorithms can find, and discusses their scalability.Section 5 de-
Read more