当前位置: 代码迷 >> 综合 >> np.random.choice()随机采样
  详细解决方案

np.random.choice()随机采样

热度:94   发布时间:2023-12-05 02:22:46.0

1.官方例子

Examples
--------
从 np.arange(5) 中随机采样3次:>>> np.random.choice(5, 3)
array([0, 3, 4]) # random
>>> #这等价于 np.random.randint(0,5,3)从np.arange(5)中,非均匀采样3次,参数p中的每个元素表示np.arange(5) 中的每个元素即(0,4)被采样的概率:>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0]) # random从np.arange(5)中,采取不放回的随机采样3次>>> np.random.choice(5, 3, replace=False)
array([3,1,0]) # random
>>> #这等价于 np.random.permutation(np.arange(5))[:3]从np.arange(5)中,不放回的非均匀采样3次>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0]) # random可以使用任意数组形式,而不像上述整数数组形式那样,如下例:>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], # randomdtype='<U11')

2.该函数介绍

numpy.random.choice(a, size=None, replace=True, p=None)
从给定的1-D array中产生一组随机样本

参数
a :1-D array-like or int
表示采样的数组

size : int or tuple of ints, optional
表示采样的次数,默认None返回为1次采样,该参数也可以是tuple,如 (m, n, k), 此时采样返回 m * n * k的三维数组样本

replace :boolean, optional
是否采取放回采样,False表示不放回采样

p :1-D array-like, optional

与a中数组的每个数据关联的概率。如果未给出,则将假定a中所有数据的均匀分布,从而进行均匀随机采样。

Returns
返回随机采样的结果

注意:
使用此函数无法从二维数组中采样随机行,但是对于Generator.choice,可以通过其axis关键字随机进行采样。

小贴士:
以后遇到不了解的函数,最好还是可以撸一遍文档,比较实用,而且效果好,唯一的障碍可能就是英语,慢慢来,专业名词就那么多。
官方链接:
https://numpy.org/devdocs/reference/random/generated/numpy.random.choice.html

  相关解决方案