Class: Ai4r::Clusterers::WardLinkage
- Inherits:
-
SingleLinkage
- Object
- Clusterer
- SingleLinkage
- Ai4r::Clusterers::WardLinkage
- Defined in:
- lib/ai4r/clusterers/ward_linkage.rb
Overview
Implementation of an Agglomerative Hierarchical clusterer with Ward’s method linkage algorithm, aka the minimum variance method (Everitt et al., 2001 ; Jain and Dubes, 1988 ; Ward, 1963 ). Hierarchical clusterer create one cluster per element, and then progressively merge clusters, until the required number of clusters is reached. The objective of this method is to minimize the variance.
D(cx, (ci U cj)) = (ni/(ni+nj+nx))*D(cx, ci) +
(nj/(ni+nj+nx))*D(cx, cj) -
(nx/(ni+nj)^2)*D(ci, cj)
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from SingleLinkage
#clusters, #data_set, #number_of_clusters
Instance Method Summary collapse
-
#build(data_set, number_of_clusters) ⇒ Object
Build a new clusterer, using data examples found in data_set.
-
#eval(data_item) ⇒ Object
This algorithms does not allow classification of new data items once it has been built.
Methods inherited from SingleLinkage
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.
38 39 40 |
# File 'lib/ai4r/clusterers/ward_linkage.rb', line 38 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.
44 45 46 |
# File 'lib/ai4r/clusterers/ward_linkage.rb', line 44 def eval(data_item) Raise "Eval of new data is not supported by this algorithm." end |