gen_even_slices#

sklearn.utils.gen_even_slices(n, n_packs, *, n_samples=None)[源代码]#

生成器,用于创建 n_packs 个均匀分布的切片,直到 n

如果 n_packs 不能整除 n,则除了前 n % n_packs 个切片外,其余切片可能包含较少元素。

参数:
nint

序列的大小。

n_packsint

要生成的切片数量。

n_samplesint, default=None

样本数量。当切片用于稀疏矩阵索引时,传递 n_samples;超出末尾的切片会引发异常,而 NumPy 数组则不会。

返回:
slice 代表从 0 到 n 的一组索引。

另请参阅

gen_batches

生成器,用于创建包含从 0 到 n 的 batch_size 元素的切片。

示例

>>> 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)]