sklearn.utils.gen_even_slices(n, n_packs, *, n_samples=None)[source]

Generator to create n_packs evenly spaced slices going up to n.

If n_packs does not divide n, except for the first n % n_packs slices, remaining slices may contain fewer elements.


Size of the sequence.


Number of slices to generate.

n_samplesint, default=None

Number of samples. Pass n_samples when the slices are to be used for sparse matrix indexing; slicing off-the-end raises an exception, while it works for NumPy arrays.

slice representing a set of indices from 0 to n.

See also


Generator to create slices containing batch_size elements from 0 to n.


>>> from sklearn.utils import gen_even_slices
>>> list(gen_even_slices(10, 1))
[slice(0, 10, None)]
>>> list(gen_even_slices(10, 10))
[slice(0, 1, None), slice(1, 2, None), ..., slice(9, 10, None)]
>>> list(gen_even_slices(10, 5))
[slice(0, 2, None), slice(2, 4, None), ..., slice(8, 10, None)]
>>> list(gen_even_slices(10, 3))
[slice(0, 4, None), slice(4, 7, None), slice(7, 10, None)]

Examples using sklearn.utils.gen_even_slices

Poisson regression and non-normal loss

Poisson regression and non-normal loss