kmeans-clusterer 0.11.3 → 0.11.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kmeans-clusterer.rb +11 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f196c59682129e44c96683048f0038bbff969e8
|
4
|
+
data.tar.gz: 59c7aead159e0c8ccbf216b10289022876f4d315
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62c9ed6a7109e4034eb0907bd8fc1e862a79d902914a2658ff8959889352edc634b24be63f7fd4372ac144aaa200515f7a12a99de54f0c6dc4fa57008d7e8a91
|
7
|
+
data.tar.gz: 95fc7bdd5f57aadf8b64656f5bf6f9affb09a5f7d30f44a5bc3ddfb590ae8229348aca04c11c64ee381066b0ce76d2f415b3df2eb095848f9aa46fead6e7ddd6
|
data/lib/kmeans-clusterer.rb
CHANGED
@@ -13,6 +13,10 @@ class KMeansClusterer
|
|
13
13
|
NMatrix.cast(x, typecode)
|
14
14
|
end
|
15
15
|
end
|
16
|
+
|
17
|
+
def self.ensure_narray x, typecode = nil
|
18
|
+
x.is_a?(NArray) ? x : NArray.cast(x, typecode)
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
22
|
module Scaler
|
@@ -121,12 +125,12 @@ class KMeansClusterer
|
|
121
125
|
opts = DEFAULT_OPTS.merge(opts)
|
122
126
|
|
123
127
|
opts[:k] = k
|
124
|
-
|
128
|
+
typecode = TYPECODE[opts[:float_precision]]
|
125
129
|
|
126
|
-
data = Utils.ensure_matrix data,
|
130
|
+
data = Utils.ensure_matrix data, typecode
|
127
131
|
|
128
132
|
if opts[:scale_data]
|
129
|
-
data, mean, std = Scaler.scale(data, nil, nil,
|
133
|
+
data, mean, std = Scaler.scale(data, nil, nil, typecode)
|
130
134
|
opts[:mean] = mean
|
131
135
|
opts[:std] = std
|
132
136
|
end
|
@@ -162,11 +166,11 @@ class KMeansClusterer
|
|
162
166
|
@row_norms = opts[:row_norms]
|
163
167
|
|
164
168
|
@data = opts[:data]
|
165
|
-
@points_count = @data.shape[1]
|
166
|
-
@mean = opts[:mean]
|
167
|
-
@std = opts[:std]
|
169
|
+
@points_count = @data ? @data.shape[1] : 0
|
170
|
+
@mean = Utils.ensure_narray(opts[:mean]) if opts[:mean]
|
171
|
+
@std = Utils.ensure_narray(opts[:std]) if opts[:std]
|
168
172
|
@scale_data = opts[:scale_data]
|
169
|
-
@typecode = opts[:
|
173
|
+
@typecode = TYPECODE[opts[:float_precision] || :double]
|
170
174
|
@max_iter = opts[:max_iter]
|
171
175
|
|
172
176
|
init_centroids
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kmeans-clusterer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geoff Buesing
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: narray
|