Class: Ai4r::Clusterers::WardLinkageHierarchical

Inherits:
WardLinkage show all
Includes:
ClusterTree
Defined in:
lib/ai4r/clusterers/ward_linkage_hierarchical.rb

Overview

Hierarchical version to store classes as merges occur.

Instance Attribute Summary

Attributes included from ClusterTree

#cluster_tree

Attributes inherited from SingleLinkage

#clusters, #data_set, #number_of_clusters

Instance Method Summary collapse

Methods inherited from WardLinkage

#eval

Methods inherited from SingleLinkage

#draw_map, #eval, #silhouette

Methods inherited from Clusterer

#eval

Methods included from Data::Parameterizable

#get_parameters, included, #set_parameters

Constructor Details

#initialize(depth = nil) ⇒ Object

Parameters:

  • depth (Object) (defaults to: nil)


19
20
21
22
23
24
# File 'lib/ai4r/clusterers/ward_linkage_hierarchical.rb', line 19

def initialize(depth = nil)
  @cluster_tree = []
  @depth = depth
  @merges_so_far = 0
  super(depth)
end

Instance Method Details

#build(data_set, number_of_clusters = 1, **options) ⇒ Object

Parameters:

  • data_set (Object)
  • number_of_clusters (Object) (defaults to: 1)
  • *options (Object)

Returns:

  • (Object)


30
31
32
33
34
35
36
37
# File 'lib/ai4r/clusterers/ward_linkage_hierarchical.rb', line 30

def build(data_set, number_of_clusters = 1, **options)
  data_len = data_set.data_items.length
  @total_merges = data_len - number_of_clusters
  super
  @cluster_tree << clusters
  @cluster_tree.reverse!
  self
end

#supports_eval?Object

Returns:

  • (Object)


40
41
42
# File 'lib/ai4r/clusterers/ward_linkage_hierarchical.rb', line 40

def supports_eval?
  false
end