INNER CODE UNIT · Ruby
n_samples_in
yoshoku/rumale · rumale-core/lib/rumale/dataset.rb:71
n_samples_in = n_samples - n_samples_out
# make two circles.
linsp_out = Numo::DFloat.linspace(0, 2 * Math::PI, n_samples_out)
linsp_in = Numo::DFloat.linspace(0, 2 * Math::PI, n_samples_in)
circle_out = Numo::DFloat[Numo::NMath.cos(linsp_out), Numo::NMath.sin(linsp_out)].transpose
circle_in = Numo::DFloat[Numo::NMath.cos(linsp_in), Numo::NMath.sin(linsp_in)].transpose
x = Numo::DFloat.vstack([circle_out, factor * circle_in])
y = Numo::Int32.hstack([Numo::Int32.zeros(n_samples_out), Numo::Int32.ones(n_samples_in)])
# shuffle data indices.
if shuffle
rand_ids = Array(0...n_samples).shuffle(random: rng.dup)
x = x[rand_ids, true].dup
y = y[rand_ids].dup
end
# add gaussian noise.
x += ::Rumale::Utils.rand_normal(x.shape, rng.dup, 0.0, noise) unless noise.nil?
[x, y]
end