test/clusterers/average_linkage_test.rb in ai4r-1.5 vs test/clusterers/average_linkage_test.rb in ai4r-1.6
- old
+ new
@@ -1,11 +1,20 @@
+# Author:: Sergio Fierens (implementation)
+# License:: MPL 1.1
+# Project:: ai4r
+# Url:: http://ai4r.rubyforge.org/
+#
+# You can redistribute it and/or modify it under the terms of
+# the Mozilla Public License version 1.1 as published by the
+# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
+
require 'test/unit'
require File.dirname(__FILE__) + '/../../lib/ai4r/clusterers/average_linkage'
class Ai4r::Clusterers::AverageLinkage < Ai4r::Clusterers::SingleLinkage
attr_accessor :data_set, :number_of_clusters, :clusters, :distance_matrix
- public :calc_index_clusters_distance
+ public :linkage_distance
public :distance_between_item_and_cluster
end
class AverageLinkageTest < Test::Unit::TestCase
@@ -26,20 +35,14 @@
[100.0, 2.0, 1.0, 16.0, 2.0, 100.0, 37.0, 100.0],
[68.0, 26.0, 9.0, 0.0, 10.0, 68.0, 5.0, 52.0, 16.0],
[49.0, 49.0, 26.0, 5.0, 25.0, 49.0, 4.0, 29.0, 37.0, 5.0],
[2.0, 72.0, 65.0, 50.0, 52.0, 2.0, 65.0, 10.0, 74.0, 50.0, 37.0]]
- def test_calc_index_clusters_distance
- clusterer = AverageLinkage.new
+ def test_linkage_distance
+ clusterer = Ai4r::Clusterers::AverageLinkage.new
clusterer.distance_matrix = @@expected_distance_matrix
- assert_equal 98.0, clusterer.calc_index_clusters_distance([0], [1])
- assert_equal 43.0, clusterer.calc_index_clusters_distance([0, 1], [3, 4])
+ assert_equal 93.5, clusterer.linkage_distance(0,1,2)
+ assert_equal 37.5, clusterer.linkage_distance(4,2,5)
end
- def test_distance_between_item_and_cluster
- clusterer = AverageLinkage.new
- assert_equal 20.0, clusterer.distance_between_item_and_cluster([1,2],
- DataSet.new(:data_items => [[3,4],[5,6]]))
- end
-
end