kmeans-clusterer 0.11.3 → 0.11.4
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.
- 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
|