INNER CODE UNIT · Ruby
make_blobs
yoshoku/rumale · rumale-core/lib/rumale/dataset.rb:134
def make_blobs(n_samples = 1000, n_features = 2,
centers: nil, cluster_std: 1.0, center_box: [-10, 10], shuffle: true, random_seed: nil)
# initialize rng.
rs = random_seed
rs ||= srand
rng = Random.new(rs)
# initialize centers.
if centers.is_a?(Numo::DFloat)
n_centers = centers.shape[0]
n_features = centers.shape[1]
else
n_centers = centers.is_a?(Integer) ? centers : 3
center_min = center_box.first
center_max = center_box.last
centers = ::Rumale::Utils.rand_uniform([n_centers, n_features], rng)
min_vec = centers.min(0)
dif_vec = centers.max(0) - min_vec
dif_vec[dif_vec.eq(0)] = 1.0