class Spark::Sampler::Poisson

Poisson Sampler


Public Instance Methods

lazy_sample(iterator) click to toggle source
# File lib/spark/sampler.rb, line 57
def lazy_sample(iterator)
  Enumerator::Lazy.new(iterator) do |yielder, value|
    count = rng.rand
    count.times { yielder << value }
  end
end
rng() click to toggle source
# File lib/spark/sampler.rb, line 64
def rng
  @rng ||= Spark::RandomGenerator::Poisson.new(fraction, seed)
end
sample(iterator) click to toggle source
# File lib/spark/sampler.rb, line 47
def sample(iterator)
  iterator.map! do |item|
    count = rng.rand
    Array.new(count) { item }
  end
  iterator.flatten!
  iterator.compact!
  iterator
end