diff options
author | Paul Duncan <pabs@pablotron.org> | 2019-02-03 04:54:10 -0500 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2019-02-03 04:54:10 -0500 |
commit | 1e3dc2401263a436a32377e207352ffbe6984e8f (patch) | |
tree | fc34de6b8d7a456d861d7534360073ad10d8c620 /gen-data.rb | |
parent | a3792d8769d2dc8ee0abae758c6fae3a35b5dfbc (diff) | |
download | kmeans-1e3dc2401263a436a32377e207352ffbe6984e8f.tar.bz2 kmeans-1e3dc2401263a436a32377e207352ffbe6984e8f.zip |
add outstanding changes
Diffstat (limited to 'gen-data.rb')
-rwxr-xr-x | gen-data.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gen-data.rb b/gen-data.rb new file mode 100755 index 0000000..e010ed1 --- /dev/null +++ b/gen-data.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +# get number of rows +NUM_ROWS = (ARGV.shift || 100).to_i + +# data shape (num_floats, num_ints) +SHAPE = [2, 0] + +# cluster centers +Q = [[-1, -1], [-1, +1], [+1, -1], [+1, +1]].map { |c| + c.map { |v| 0.5 + 0.25 * v } +} + +def noise(y, x, scale) + Q[y % Q.size][x] + scale * rand * Math.cos(Math::PI * rand) +end + +# print output +puts [SHAPE.join(' ')] + NUM_ROWS.times.map { |y| + SHAPE.first.times.map { |x| + '%1.5f' % [noise(y, x, 0.1)] + }.join(' ') +} |