K-medoids
The k-medoids method is a classical partitioning technique of clustering that splits a data set of n objects into k clusters, where the k number of clusters is assumed to be known a priori (which implies that the programmer must specify k before the execution of a k-medoids algorithm). The "goodness" of the given value of k can be assessed with methods such as the silhouette method.