Module: KMeansClusterer::Scaler

Defined in:
lib/kmeans-clusterer.rb

Class Method Summary collapse

Class Method Details

.mean(data) ⇒ Object



7
8
9
# File 'lib/kmeans-clusterer.rb', line 7

def self.mean data
  data.mean(1)
end

.scale(data, mean = nil, std = nil, typecode = nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/kmeans-clusterer.rb', line 17

def self.scale data, mean = nil, std = nil, typecode = nil
  data = NArray.ref(data)
  mean ||= self.mean(data)
  std ||= self.std(data)
  data = (data - mean) / std
  [NMatrix.ref(data), mean, std]
end

.std(data) ⇒ Object



11
12
13
14
15
# File 'lib/kmeans-clusterer.rb', line 11

def self.std data
  std = data.rmsdev(1)
  std[std.eq(0)] = 1.0 # so we don't divide by 0
  std
end