resample#

sklearn.utils.resample(*arrays, replace=True, n_samples=None, random_state=None, stratify=None)#

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

默认策略实现了一个步骤的自举过程。

Parameters:
*arrays形状为 (n_samples,) 或 (n_samples, n_outputs) 的数组序列

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

replacebool, 默认=True

实现有放回的重采样。如果为False,这将实现(切片)随机排列。

n_samplesint, 默认=None

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

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

确定用于洗牌数据的随机数生成。 传递一个int以在多次函数调用中获得可重复的结果。 参见 Glossary

stratify形状为 (n_samples,) 或 (n_samples, n_outputs) 的{array-like, sparse matrix}, 默认=None

如果不是None,则使用此作为类别标签以分层方式分割数据。

Returns:
resampled_arrays形状为 (n_samples,) 或 (n_samples, n_outputs) 的数组序列

重采样副本的序列。原始数组不受影响。

See also

shuffle

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

Examples

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

>>> 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 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([0, 1, 0])

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

使用分层的示例:

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