dnks_clustering_indexes 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/index_calculator.rb +12 -3
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2184949a035f273d5fc42f6bc36896a2845982a9d2d3734a8d649455c1d29304
4
- data.tar.gz: 2c9926ecedaf81280c9f9cf2c6eca1ec083a791ea1012820655a3938fd620aab
3
+ metadata.gz: 63790bdb10502709ad45c02483a96e6c4b2d42a3cc8a7525cceaf2a27a9581b4
4
+ data.tar.gz: 57707b033afc285b4c3c4b2ab2aa8131b39c9c84853d5c63b80a94e2d4508925
5
5
  SHA512:
6
- metadata.gz: 8be08145c482785e3dca7a53a58156dc18736ca65834474f35326c8c5d871aaeee0e048f063584efeeb0e5c53b0223a1d612dac6a281cbb3492a4c69e85bd89a
7
- data.tar.gz: c9e8f30d24c5f867a5bb8e04f0aa97f3428299257b503076e79d3d453339f30eba2792445ffe5779dcd3eba425018ce5fd4d4207b6bd2a6b0ab42037a26a71fe
6
+ metadata.gz: 1503b4cb16e176e9963ae478c57e69b81a9e41065fcb1588a30b759078cb268fd8a9163dcfa8f75b535ec24b91ade5050f872410b2eafc85c4e22353a710192c
7
+ data.tar.gz: 72b049d3a066a983ae90796357d1a3abd7175e3d17e39831f8f45309f2e6414eb8e57871f247bf35971aac9bd35918694fac6adbee9b93c82bdc4cafc6673928
@@ -4,7 +4,7 @@ require "kmeans-clusterer"
4
4
  require_relative "constants"
5
5
  require_relative "clustered_data_set"
6
6
  class IndexCalculator
7
- attr_reader :data, :labels, :max_k, :k_matrix, :clustered_data_sets
7
+ attr_reader :data, :labels, :max_k, :k_matrix, :clustered_data_sets, :available_indexes
8
8
 
9
9
  def initialize(data, labels, max_k = 2)
10
10
  @data = data
@@ -14,6 +14,7 @@ class IndexCalculator
14
14
  @k_matrix_header = {}
15
15
  @clustered_data_sets = [0, 0]
16
16
  @optimal_k_indexes = {}
17
+ set_available_indexes
17
18
  end
18
19
 
19
20
  def clear_clustered_datasets
@@ -65,7 +66,7 @@ class IndexCalculator
65
66
  end
66
67
 
67
68
  def calculate_all_indexes
68
- Constants::Indexes.constants.each { |ce| calculate_index_k(Constants::Indexes.const_get(ce)) }
69
+ @available_indexes.each { |index_name| calculate_index_k(index_name) }
69
70
  end
70
71
 
71
72
  def optimal_k_indexes(index_name)
@@ -74,7 +75,7 @@ class IndexCalculator
74
75
  end
75
76
 
76
77
  def find_all_optimal_k_indexes
77
- Constants::Indexes.constants.each { |ce| optimal_k_indexes(Constants::Indexes.const_get(ce)) }
78
+ @available_indexes.each { |index_name| optimal_k_indexes(index_name) }
78
79
  end
79
80
 
80
81
  def optimal_k_index
@@ -141,6 +142,10 @@ class IndexCalculator
141
142
  puts_index_table index_name
142
143
  end
143
144
 
145
+ def show_all_indexes_table
146
+ @available_indexes.each { |str| show_index_table(str) }
147
+ end
148
+
144
149
  def puts_index_table(index_name)
145
150
  (2...@k_matrix[@k_matrix_header[index_name]].length).each { |k|
146
151
  puts "k = #{k}\t score = #{@k_matrix[@k_matrix_header[index_name]][k]}"
@@ -152,4 +157,8 @@ class IndexCalculator
152
157
  def read_from_file_to_data(filename)
153
158
  File.foreach(filename) { |line| @data.push(line.chomp.split.map(&:to_f)) }
154
159
  end
160
+
161
+ def set_available_indexes
162
+ @available_indexes = Constants::Indexes.constants.map { |ce| Constants::Indexes.const_get(ce) }
163
+ end
155
164
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnks_clustering_indexes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danil Kosenko