Abstract
This thesis discusses some unsupervised clustering algorithms, their implementation, and enhancements. Although various clustering algorithms have been proposed in the literature, it is likely that only a specific class of clustering algorithms is suitable for applications and their corresponding data types in a specific domain. Here we describe the mechanisms and characteristics of both hierarchical (including agglomerative and divisive) and partitional (including Forgy's, K-means, and ISODATA) clustering. We also address several enhancements of partitional clustering algorithms that can provide better initial conditions and avoid the formation of empty clusters. We also provide some test data sets and their clustering results.