本文简要介绍 python 语言中 numpy.random.dirichlet
的用法。
用法:
random.dirichlet(alpha, size=None)
从狄利克雷分布中抽取样本。
从狄利克雷分布中绘制尺寸为 k 的
size
样本。 Dirichlet-distributed 随机变量可以看作是 Beta 分布的多元泛化。 Dirichlet 分布是贝叶斯推理中多项分布的共轭先验。注意
新代码应改为使用
default_rng()
实例的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.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 random.mtrand.RandomState.wald用法及代码示例
- Python numpy random.mtrand.RandomState.multivariate_normal用法及代码示例
- Python numpy random.standard_exponential用法及代码示例
- Python numpy random.mtrand.RandomState.gumbel用法及代码示例
- Python numpy random.mtrand.RandomState.multinomial用法及代码示例
- Python numpy random.rand用法及代码示例
- Python numpy random.mtrand.RandomState.logistic用法及代码示例
- Python numpy random.mtrand.RandomState.shuffle用法及代码示例
- Python numpy random.triangular用法及代码示例
- Python numpy random.noncentral_f用法及代码示例
- Python numpy random.mtrand.RandomState.poisson用法及代码示例
- Python numpy random.lognormal用法及代码示例
- Python numpy random.mtrand.RandomState.seed用法及代码示例
- Python numpy random.mtrand.RandomState.triangular用法及代码示例
- Python numpy random.gumbel用法及代码示例
- Python numpy random.mtrand.RandomState.weibull用法及代码示例
- Python numpy random.shuffle用法及代码示例
- Python numpy random.geometric用法及代码示例
- Python numpy random.multinomial用法及代码示例
- Python numpy random.logseries用法及代码示例
- Python numpy random.mtrand.RandomState.rand用法及代码示例
- Python numpy random.mtrand.RandomState.power用法及代码示例
- Python numpy random.mtrand.RandomState.randint用法及代码示例
- Python numpy random.chisquare用法及代码示例
- Python numpy random.mtrand.RandomState.choice用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.dirichlet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。