本文简要介绍 python 语言中 numpy.random.Generator.dirichlet
的用法。
用法:
random.Generator.dirichlet(alpha, size=None)
从狄利克雷分布中抽取样本。
从狄利克雷分布中绘制尺寸为 k 的
size
样本。 Dirichlet-distributed 随机变量可以看作是 Beta 分布的多元泛化。 Dirichlet 分布是贝叶斯推理中多项分布的共轭先验。- alpha: 浮点数序列,长度 k
分布参数(长度为
k
的样本长度为k
)。- size: int 或整数元组,可选
输出形状。例如,如果给定的形状是
(m, n)
,则绘制m * n * k
样本。默认为无,在这种情况下,将返回长度为k
的向量。
- samples: 数组,
绘制的样本,形状为
(size, k)
。
- ValueError
如果
alpha
中的任何值小于或等于零
参数:
返回:
抛出:
注意:
Dirichlet 分布是对满足条件 和 的向量 的分布。
Dirichlet-distributed随机向量 的概率密度函数 与
其中 是包含正浓度参数的向量。
该方法使用以下属性进行计算:假设 是一个随机向量,其分量遵循标准 gamma 分布,则 为 Dirichlet-distributed
参考:
David McKay,“信息理论、推理和学习算法”,第 23 章,http://www.inference.org.uk/mackay/itila/
维基百科,“Dirichlet distribution”,https://en.wikipedia.org/wiki/Dirichlet_distribution
1:
2:
例子:
以 Wikipedia 中引用的一个示例为例,如果要将字符串(每个初始长度为 1.0)切割成不同长度的 K 段,则可以使用此分布,其中每段平均具有指定的平均长度,但允许在件的相对尺寸。
>>> s = np.random.default_rng().dirichlet((10, 5, 3), 20).transpose()
>>> import matplotlib.pyplot as plt >>> plt.barh(range(20), s[0]) >>> plt.barh(range(20), s[1], left=s[0], color='g') >>> plt.barh(range(20), s[2], left=s[0]+s[1], color='r') >>> plt.title("Lengths of Strings")
相关用法
- Python numpy Generator.multivariate_normal用法及代码示例
- Python numpy Generator.standard_normal用法及代码示例
- Python numpy Generator.bytes用法及代码示例
- Python numpy Generator.shuffle用法及代码示例
- Python numpy Generator.choice用法及代码示例
- Python numpy Generator.random用法及代码示例
- Python numpy Generator.logseries用法及代码示例
- Python numpy Generator.uniform用法及代码示例
- Python numpy Generator.standard_t用法及代码示例
- Python numpy Generator.standard_cauchy用法及代码示例
- Python numpy Generator.normal用法及代码示例
- Python numpy Generator.poisson用法及代码示例
- Python numpy Generator.power用法及代码示例
- Python numpy Generator.geometric用法及代码示例
- Python numpy Generator.laplace用法及代码示例
- Python numpy Generator.vonmises用法及代码示例
- Python numpy Generator.noncentral_f用法及代码示例
- Python numpy Generator.gamma用法及代码示例
- Python numpy Generator.multivariate_hypergeometric用法及代码示例
- Python numpy Generator.weibull用法及代码示例
- Python numpy Generator.gumbel用法及代码示例
- Python numpy Generator.pareto用法及代码示例
- Python numpy Generator.noncentral_chisquare用法及代码示例
- Python numpy Generator.negative_binomial用法及代码示例
- Python numpy Generator.binomial用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.Generator.dirichlet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。