本文简要介绍 python 语言中 numpy.random.multinomial
的用法。
用法:
random.multinomial(n, pvals, size=None)
从多项分布中抽取样本。
多项分布是二项分布的多元推广。使用其中之一进行实验
p
可能的结果。此类实验的一个示例是掷骰子,其结果可以是 1 到 6。从分布中抽取的每个样本代表n这样的实验。它的值,X_i = [X_0, X_1, ..., X_p]
, 代表结果出现的次数i
.注意
新代码应改为使用
default_rng()
实例的multinomial
方法;请参阅快速入门。- n: int
实验次数。
- pvals: 浮点数序列,长度 p
每个
p
不同结果的概率。这些总和必须为 1(但是,始终假定最后一个元素解释剩余概率,只要sum(pvals[:-1]) <= 1)
。- size: int 或整数元组,可选
输出形状。例如,如果给定的形状是
(m, n, k)
,则绘制m * n * k
样本。默认为无,在这种情况下返回单个值。
- out: ndarray
绘制的样本,形状尺寸,如果提供的话。如果不是,形状是
(N,)
.换句话说,每个条目
out[i,j,...,:]
是从分布中提取的 N 维值。
参数:
返回:
例子:
掷骰子 20 次:
>>> np.random.multinomial(20, [1/6.]*6, size=1) array([[4, 1, 7, 5, 2, 1]]) # random
它在 1 上降落 4 次,在 2 上降落一次,依此类推。
现在,掷骰子 20 次,再掷 20 次:
>>> np.random.multinomial(20, [1/6.]*6, size=2) array([[3, 4, 3, 3, 4, 3], # random [2, 4, 3, 4, 0, 7]])
第一次运行时,我们投掷了 3 次 1、4 次 2 等。第二次,我们投掷了 2 次 1、4 次 2 等。
装满骰子的骰子更有可能落在 6 号上:
>>> np.random.multinomial(100, [1/7.]*5 + [2/7.]) array([11, 16, 14, 17, 16, 26]) # random
概率输入应该归一化。作为一个实现细节,最后一个条目的值被忽略并假定占据任何剩余的概率质量,但这不应该被依赖。一个有偏差的硬币,其一侧的重量是另一侧的两倍,应该像这样采样:
>>> np.random.multinomial(100, [1.0 / 3, 2.0 / 3]) # RIGHT array([38, 62]) # random
不喜欢:
>>> np.random.multinomial(100, [1.0, 2.0]) # WRONG Traceback (most recent call last): ValueError: pvals < 0, pvals > 1 or pvals contains NaNs
相关用法
- Python numpy random.multivariate_normal用法及代码示例
- Python numpy random.mtrand.RandomState.wald用法及代码示例
- Python numpy random.mtrand.RandomState.multivariate_normal用法及代码示例
- Python numpy random.mtrand.RandomState.gumbel用法及代码示例
- Python numpy random.mtrand.RandomState.multinomial用法及代码示例
- Python numpy random.mtrand.RandomState.logistic用法及代码示例
- Python numpy random.mtrand.RandomState.shuffle用法及代码示例
- Python numpy random.mtrand.RandomState.poisson用法及代码示例
- Python numpy random.mtrand.RandomState.seed用法及代码示例
- Python numpy random.mtrand.RandomState.triangular用法及代码示例
- Python numpy random.mtrand.RandomState.weibull用法及代码示例
- Python numpy random.mtrand.RandomState.rand用法及代码示例
- Python numpy random.mtrand.RandomState.power用法及代码示例
- Python numpy random.mtrand.RandomState.randint用法及代码示例
- Python numpy random.mtrand.RandomState.choice用法及代码示例
- Python numpy random.mtrand.RandomState.laplace用法及代码示例
- Python numpy random.mtrand.RandomState.standard_gamma用法及代码示例
- Python numpy random.mtrand.RandomState.permutation用法及代码示例
- Python numpy random.mtrand.RandomState.bytes用法及代码示例
- Python numpy random.mtrand.RandomState.noncentral_f用法及代码示例
- Python numpy random.mtrand.RandomState.rayleigh用法及代码示例
- Python numpy random.mtrand.RandomState.standard_t用法及代码示例
- Python numpy random.mtrand.RandomState.geometric用法及代码示例
- Python numpy random.mtrand.RandomState.dirichlet用法及代码示例
- Python numpy random.mtrand.RandomState.uniform用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.multinomial。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。