db_clustering 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd346d3f3511320811d7fb97312e590947728903
4
- data.tar.gz: 1f9a47c7dfbdffb8ecba30c0c8b4e7ec30f1a895
3
+ metadata.gz: f9174e0f67fcea91843ba237b2cbb1e214558c8f
4
+ data.tar.gz: 01b85e27ed68fc16581c23324a155064d3b6139f
5
5
  SHA512:
6
- metadata.gz: bb79a9eba3cecb5a72b1156df2d189f03bc91ae73d620bd3a2b289a9d596fc2e56325e1f1b81c3dfdabb062c6186a36df637dc6f3dd30dde715d775d48b37873
7
- data.tar.gz: a5f2065ad7a8c8d1d28cb29d90c33955d6fd6c69397cfd4f456ad3ac20580e0d011cb4958dd56030aa5aaa1f1149b5a9f9f36d8c97e4131234329ffa32c3073c
6
+ metadata.gz: 5fec9b5ba8dcbb1f4f0ad6668ffcb752bbdd5b691b4263608d0854a7b4036f5a223396539d4fbb7a36c4c085067a47fb860c9701ff580e5d2e81b7f964bf276d
7
+ data.tar.gz: 0fae1b29b2f0feece92f5cc9286eb3376d89cbb9bec71ef94e66a897dce7c554449c2dde60152a6d2334e34d0708559eb0777c8b4d85930c68c7330dc421886d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.1.10
@@ -21,25 +21,29 @@ module DbClustering
21
21
 
22
22
  if neighbors.count < min_neighbors
23
23
  point.is_noise = true
24
- else
25
- if point.cluster.nil?
26
- cluster = DbClustering::Models::Cluster.new
27
- @clusters << cluster
28
- else
29
- cluster = point.cluster
30
- end
31
-
32
- neighbors.each do |neighbor|
33
- if neighbor.cluster.nil?
34
- cluster.add(neighbor)
35
- end
36
- end
24
+ elsif point.cluster.nil?
25
+ cluster = DbClustering::Models::Cluster.new
26
+ @clusters << cluster
27
+ cluster.add(point)
28
+
29
+ expand_cluster(point, neighbors, max_distance)
37
30
  end
38
31
 
39
32
  yield(point, current_index, points_count) if block_given?
40
33
  end
41
34
  end
42
35
 
36
+ def expand_cluster(point, neighbors, max_distance)
37
+ neighbors.each do |neighbor|
38
+ if neighbor.cluster.nil?
39
+ point.cluster.add(neighbor)
40
+
41
+ neighbors = @datasource.neighbors(point: point, distance_metric: @distance_metric, max_distance: max_distance)
42
+ expand_cluster(neighbor, neighbors, max_distance)
43
+ end
44
+ end
45
+ end
46
+
43
47
  end
44
48
  end
45
49
  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.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cihat Gündüz