numpy.random.choice采样(可按数据的概率分布采样)
函数解析
numpy.random.choice(a, # 从a中采样,必须是一维或者是int
size=None, # 采样数据的形状,可以是tuple或int
replace=True, # True表示有放回抽样, False表示无放回
p=None) # 表示a中每个元素被抽样的概率,和a的维度要一样,默认每个元素的概率相等
举例
# 从range(5)的范围中随机取3个数字
>>> np.random.choice(5, 3)
array([3, 0, 4])
# 从x中以概率分布为prob,有放回地采样2个数字
>>> x = np.array([1, 2, 3])
>>> prob = np.array([0.8, 0.1, 0.1])
>>> np.random.choice(a=x, size=2, replace=True, p=prob)
array([2, 1])