numpy.random.choice()函数中 p 参数的疑问

代码如下
import numpy as np
tb3 = np.random.randint(100, 200, (8,))
print('原始tb3\n', tb3)
for i in range(5):#抽取5次
    tc3 = np.random.choice(tb3, (3,2), p=tb3/np.sum(tb3)) #sum(tb3) 返回的是tb3中所有元素的和
    print('tb3 choice{0}次后的tc3\n{1}'.format(i+1,tc3))
--------问题如下-----
知道概率 p = tb3/np.sum(tb3) 
为什么相对于这个概率下: 数值越大被抽取的概率越大

运行结果如下(随机运行一次)

原始tb3
 [183 108 108 131 141 188 161 109]
tb3 choice1次后的tc3
[[141 141]
 [161 141]
 [109 131]]
tb3 choice2次后的tc3
[[183 188]
 [188 131]
 [131 183]]
tb3 choice3次后的tc3
[[161 161]
 [131 108]
 [108 131]]
tb3 choice4次后的tc3
[[108 188]
 [183 109]
 [131 161]]
tb3 choice5次后的tc3
[[161 141]
 [141 183]
 [131 109]]
[Finished in 0.4s]

----------参考内容---------

choice(a[, size, replace, p])-->从一维数组a中以概率p抽取抽取元素,形成size形状新的数组,replace表示是否可以重用元素,默认为True

choice源码


Yexiaomo
浏览 6180回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP