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,则以分层的方式分割数据,并将其用作类标签。 |
另见:
示例:
可以在同一运行中混合使用稀疏数组和密集数组:
>>> 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]