require 'support/test_model'

class DatasetHelper
  def self.normal_distribution(vector_size: 3, clusters: 8, datapoints: 80)
    dataset = []
    sr = SimpleRandom.new

    (1..datapoints).each do |i|
      mean = -90 + (i % clusters) * (180.0 / clusters)
      standard_deviation = 5

      vector = []
      vector_size.times{ |k| vector << sr.normal(mean, standard_deviation) }
      dataset << TestModel.new(vector)
    end

    dataset
  end
end