Class Ai4r::Clusterers::CentroidLinkage
In: lib/ai4r/clusterers/centroid_linkage.rb
Parent: SingleLinkage

Implementation of an Agglomerative Hierarchical clusterer with centroid linkage algorithm, aka unweighted pair group method centroid (UPGMC) (Everitt et al., 2001 ; Jain and Dubes, 1988 ; Sokal and Michener, 1958 ) Hierarchical clusteres create one cluster per element, and then progressively merge clusters, until the required number of clusters is reached. The distance between clusters is the squared euclidean distance between their centroids.

  D(cx, (ci U cj)) = | mx - mij |^2
  D(cx, (ci U cj)) =  (ni/(ni+nj))*D(cx, ci) +
                      (nj/(ni+nj))*D(cx, cj) -
                      (ni*nj/(ni+nj)^2)*D(ci, cj)

Methods

Public Instance methods

Build a new clusterer, using data examples found in data_set. Items will be clustered in "number_of_clusters" different clusters.

This algorithms does not allow classification of new data items once it has been built. Rebuild the cluster including you data element.

Protected Instance methods

return distance between cluster cx and cluster (ci U cj), using centroid linkage

[Validate]