洗牌#

sklearn.utils.shuffle(*arrays, random_state=None, n_samples=None)[source]#

以一致的方式洗牌数组或稀疏矩阵。

这是一个方便的别名,用于 resample(*arrays, replace=False) 来对集合进行随机排列。

参数:
*arrays可索引数据结构序列

可索引数据结构可以是数组、列表、数据框或具有相同第一维的 scipy 稀疏矩阵。

random_stateint,RandomState 实例或 None,默认为 None

确定用于数据混洗的随机数生成。传递一个整数可在多次函数调用中获得可重复的结果。参见 词汇表

n_samplesint,默认为None

要生成的样本数。如果留为 None,则会自动设置为数组的第一维。它不应大于数组的长度。

返回:
shuffled_arrays可索引数据结构序列

集合的混洗副本序列。原始数组不受影响。

另请参见

重采样 (resample)

以一致的方式重采样数组或稀疏矩阵。

示例

可以在同一运行中混合稀疏和密集数组

>>> import numpy as np
>>> X = np.array([[1., 0.], [2., 1.], [0., 0.]])
>>> y = np.array([0, 1, 2])

>>> from scipy.sparse import coo_matrix
>>> X_sparse = coo_matrix(X)

>>> from sklearn.utils import shuffle
>>> X, X_sparse, y = shuffle(X, X_sparse, y, random_state=0)
>>> X
array([[0., 0.],
       [2., 1.],
       [1., 0.]])

>>> X_sparse
<Compressed Sparse Row sparse matrix of dtype 'float64'
    with 3 stored elements and shape (3, 2)>

>>> X_sparse.toarray()
array([[0., 0.],
       [2., 1.],
       [1., 0.]])

>>> y
array([2, 1, 0])

>>> shuffle(y, n_samples=2, random_state=0)
array([0, 1])