sklearn.utils.resample

sklearn.utils.resample(*arrays, **options)

源码

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

默认策略实现引导过程的一个步骤

参数 说明
*arrays sequence of indexable data-structures
可索引的数据结构可以是数组,列表,数据框或具有一致的第一维的稀疏稀疏矩阵。
返回值 说明
resampled_arrays sequence of indexable data-structures
集合的重新采样序列。 原始阵列不受影响。
其他参数 说明
replace boolean, True by default
实现替换的重采样。 如果为False,则将实现(切片)随机排列。
n_samples int, None by default
要生成的样本数。 如果为“无”,则会自动设置为数组的第一维。 如果replace为False,则它不应大于数组的长度。
random_state int, RandomState instance or None, optional (default=None)
确定用于对数据进行混排的随机数生成。 在多个函数调用中传递可重复的结果。 请参阅词汇表
stratify array-like or None (default=None)
如果不为None,则以分层的方式分割数据,并将其用作类标签。

另见:

sklearn.utils.shuffle

示例:

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

>>> X = np.array([[1.0.], [2.1.], [0.0.]])
>>> y = np.array([012])

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

>>> from sklearn.utils import resample
>>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0)
>>> X
array([[1.0.],
       [2.1.],
       [1.0.]])

>>> X_sparse
<3x2 sparse matrix of type '<... 'numpy.float64'>'
    with 4 stored elements in Compressed Sparse Row format>

>>> X_sparse.toarray()
array([[1.0.],
       [2.1.],
       [1.0.]])

>>> y
array([010])

>>> resample(y, n_samples=2, random_state=0)
array([01])

使用分层的例子:

>>> y = [001111111]
>>> resample(y, n_samples=5, replace=False, stratify=y,
...          random_state=0)
[11101]