Class: Ai4r::Clusterers::WeightedAverageLinkage

Inherits:
SingleLinkage show all
Defined in:
lib/ai4r/clusterers/weighted_average_linkage.rb

Overview

Implementation of an Agglomerative Hierarchical clusterer with weighted average linkage algorithm, aka weighted pair group method average or WPGMA (Jain and Dubes, 1988 ; McQuitty, 1966 ) Hierarchical clusterer create one cluster per element, and then progressively merge clusters, until the required number of clusters is reached. Similar to AverageLinkage, but the distances between clusters are weighted based on the number of data items in each of them.

D(cx, (ci U cj)) =  ( ni * D(cx, ci) + nj * D(cx, cj)) / (ni + nj)

Instance Attribute Summary

Attributes inherited from SingleLinkage

#clusters, #data_set, #number_of_clusters

Instance Method Summary collapse

Methods inherited from SingleLinkage

#initialize

Methods included from Data::Parameterizable

#get_parameters, included, #set_parameters

Constructor Details

This class inherits a constructor from Ai4r::Clusterers::SingleLinkage

Instance Method Details

#build(data_set, number_of_clusters) ⇒ Object

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



37
38
39
# File 'lib/ai4r/clusterers/weighted_average_linkage.rb', line 37

def build(data_set, number_of_clusters)
  super
end

#eval(data_item) ⇒ Object

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



43
44
45
# File 'lib/ai4r/clusterers/weighted_average_linkage.rb', line 43

def eval(data_item)
  Raise "Eval of new data is not supported by this algorithm."
end