1. A non-transitory computer readable medium storing machine executable instructions to perform a method for clustering data comprising a plurality of feature vectors, the instructions executable by an associated processor to: perform a hierarchical clustering algorithm on the plurality of feature vectors to provide a plurality of clusters and a cluster similarity measure for each cluster representing the quality of the cluster, the quality of the cluster being defined by feature vectors within the cluster having at least one of a small distance metric or a large similarity metric relative to the overall similarity among the plurality of feature vectors of all clusters; accept each cluster of the plurality of clusters having a cluster similarity measure meeting a threshold value; perform a clustering algorithm on each cluster that fails to meet the threshold value to provide a set of subclusters each having an associated cluster similarity measure; and accept each subcluster having a cluster similarity measure meeting the threshold value.