db_clustering 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +15 -11
- data/Gemfile.lock +149 -0
- data/LICENSE.txt +1 -1
- data/README.md +90 -0
- data/Rakefile +6 -6
- data/VERSION +1 -0
- data/lib/algorithms/density_based/dbscan.rb +48 -0
- data/lib/datasource_adapters/active_record.rb +32 -0
- data/lib/datasource_adapters/in_memory.rb +29 -0
- data/lib/db_clustering.rb +34 -0
- data/lib/distance_metrics/average_difference.rb +28 -0
- data/lib/distance_metrics/cosine_similarity.rb +43 -0
- data/lib/distance_metrics/euclidean_distance.rb +32 -0
- data/lib/distance_metrics/pearson_correlation.rb +44 -0
- data/lib/generators/datasource/active_record.rb +0 -0
- data/lib/models/cluster.rb +18 -0
- data/lib/models/point.rb +41 -0
- data/lib/models/vector.rb +30 -0
- data/spec/algorithms/density_based/dbscan_spec.rb +57 -0
- data/spec/datasource_adapters/active_record_spec.rb +0 -0
- data/spec/datasource_adapters/in_memory_spec.rb +82 -0
- data/spec/distance_metrics/average_difference_spec.rb +44 -0
- data/spec/distance_metrics/cosine_similarity_spec.rb +172 -0
- data/spec/distance_metrics/euclidean_distance_spec.rb +137 -0
- data/spec/distance_metrics/pearson_correlation_spec.rb +174 -0
- data/spec/generators/datasource/active_record_spec.rb +0 -0
- data/spec/models/cluster_spec.rb +0 -0
- data/spec/models/point_spec.rb +0 -0
- data/spec/models/vector_spec.rb +0 -0
- data/spec/spec_helper.rb +7 -2
- data/spec/support/dataset_helper.rb +19 -0
- data/spec/support/test_model.rb +9 -0
- metadata +31 -1
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'simplecov'
|
2
|
+
require 'support/dataset_helper'
|
2
3
|
|
3
4
|
module SimpleCov::Configuration
|
4
5
|
def clean_filters
|
@@ -18,12 +19,16 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
18
19
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
19
20
|
|
20
21
|
require 'rspec'
|
21
|
-
require '
|
22
|
+
require 'db_clustering'
|
23
|
+
require 'byebug'
|
22
24
|
|
23
25
|
# Requires supporting files with custom matchers and macros, etc,
|
24
26
|
# in ./support/ and its subdirectories.
|
25
27
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
26
28
|
|
27
29
|
RSpec.configure do |config|
|
28
|
-
|
30
|
+
config.expect_with :rspec do |c|
|
31
|
+
# only allow new expect syntax for specs
|
32
|
+
c.syntax = :expect
|
33
|
+
end
|
29
34
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'support/test_model'
|
2
|
+
|
3
|
+
class DatasetHelper
|
4
|
+
def self.normal_distribution(vector_size: 3, clusters: 8, datapoints: 80)
|
5
|
+
dataset = []
|
6
|
+
sr = SimpleRandom.new
|
7
|
+
|
8
|
+
(1..datapoints).each do |i|
|
9
|
+
mean = -90 + (i % clusters) * (180.0 / clusters)
|
10
|
+
standard_deviation = 5
|
11
|
+
|
12
|
+
vector = []
|
13
|
+
vector_size.times{ |k| vector << sr.normal(mean, standard_deviation) }
|
14
|
+
dataset << TestModel.new(vector)
|
15
|
+
end
|
16
|
+
|
17
|
+
dataset
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: db_clustering
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cihat Gündüz
|
@@ -225,13 +225,43 @@ executables: []
|
|
225
225
|
extensions: []
|
226
226
|
extra_rdoc_files:
|
227
227
|
- LICENSE.txt
|
228
|
+
- README.md
|
228
229
|
files:
|
229
230
|
- ".document"
|
230
231
|
- ".rspec"
|
232
|
+
- ".travis.yml"
|
231
233
|
- Gemfile
|
234
|
+
- Gemfile.lock
|
232
235
|
- LICENSE.txt
|
236
|
+
- README.md
|
233
237
|
- Rakefile
|
238
|
+
- VERSION
|
239
|
+
- lib/algorithms/density_based/dbscan.rb
|
240
|
+
- lib/datasource_adapters/active_record.rb
|
241
|
+
- lib/datasource_adapters/in_memory.rb
|
242
|
+
- lib/db_clustering.rb
|
243
|
+
- lib/distance_metrics/average_difference.rb
|
244
|
+
- lib/distance_metrics/cosine_similarity.rb
|
245
|
+
- lib/distance_metrics/euclidean_distance.rb
|
246
|
+
- lib/distance_metrics/pearson_correlation.rb
|
247
|
+
- lib/generators/datasource/active_record.rb
|
248
|
+
- lib/models/cluster.rb
|
249
|
+
- lib/models/point.rb
|
250
|
+
- lib/models/vector.rb
|
251
|
+
- spec/algorithms/density_based/dbscan_spec.rb
|
252
|
+
- spec/datasource_adapters/active_record_spec.rb
|
253
|
+
- spec/datasource_adapters/in_memory_spec.rb
|
254
|
+
- spec/distance_metrics/average_difference_spec.rb
|
255
|
+
- spec/distance_metrics/cosine_similarity_spec.rb
|
256
|
+
- spec/distance_metrics/euclidean_distance_spec.rb
|
257
|
+
- spec/distance_metrics/pearson_correlation_spec.rb
|
258
|
+
- spec/generators/datasource/active_record_spec.rb
|
259
|
+
- spec/models/cluster_spec.rb
|
260
|
+
- spec/models/point_spec.rb
|
261
|
+
- spec/models/vector_spec.rb
|
234
262
|
- spec/spec_helper.rb
|
263
|
+
- spec/support/dataset_helper.rb
|
264
|
+
- spec/support/test_model.rb
|
235
265
|
homepage: http://github.com/Dschee/db_clustering
|
236
266
|
licenses:
|
237
267
|
- MIT
|