skbio.stats.subsample_counts¶
- skbio.stats.subsample_counts(counts, n, replace=False)[源代码]¶
从计数向量中随机抽取子样本,有无替换。
状态:从0.4.0开始实验。
- 参数:
counts (1-D array_like) -- 从中随机子采样的计数(整数)向量。
n (int) -- 要从中进行子采样的项目数 counts . 必须小于或等于 counts .
replace (bool, optional) -- 如果
True
,替换子样本。如果False
(默认),不替换的子样本。
- 返回:
二次抽样 --元素和等于的计数的子采样向量 n (即,
subsampled.sum() == n
). 形状与 counts .- 返回类型:
ndarray
- 抛出:
TypeError -- 如果 counts 无法安全地转换为整数数据类型。
ValueError -- 如果 n 小于零或大于 counts 什么时候? replace=False .
EfficiencyWarning -- 如果加速代码不存在或尚未编译。
备注
如果在没有更换的情况下进行二次取样 (
replace=False
),副本 counts 如果返回 n 等于中的项目数 counts ,因为所有项目都将从原始向量中选择。如果在替换的情况下进行二次取样 (
replace=True
) n 等于中的项目数 counts ,返回的子采样向量不一定与相同 counts .示例
从计数向量中的子样本4项(无替换):
>>> import numpy as np >>> from skbio.stats import subsample_counts >>> a = np.array([4, 5, 0, 2, 1]) >>> sub = subsample_counts(a, 4) >>> sub.sum() 4 >>> sub.shape (5,)
尝试对相同数量的项目进行子抽样(不进行替换)会导致与我们的输入相同的向量:
>>> subsample_counts([0, 3, 0, 1], 4) array([0, 3, 0, 1])
子样本5项(含替换项):
>>> sub = subsample_counts([1, 0, 1, 2, 2, 3, 0, 1], 5, replace=True) >>> sub.sum() 5 >>> sub.shape (8,)