maxframe.tensor.random.geometric#
- maxframe.tensor.random.geometric(p, size=None, chunk_size=None, gpu=None, dtype=None)[源代码]#
从几何分布中抽取样本。
伯努利试验是只有两种结果的实验:成功或失败(例如抛硬币)。几何分布模拟了为了获得成功所需进行的试验次数。因此它支持正整数,
k = 1, 2, ...。几何分布的概率质量函数为
\[f(k) = (1 - p)^{k - 1} p\]其中 p 是单次试验成功的概率。
- 参数:
p (float or array_like of floats) -- 单次试验成功的概率。
size (int or tuple of ints, optional) -- 输出形状。如果给定形状例如
(m, n, k),则抽取m * n * k个样本。如果 size 是None``(默认),当 ``p是标量时返回单个值。否则抽取mt.array(p).size个样本。chunk_size (int or tuple of int or tuple of ints, optional) -- 每个维度上期望的块大小
gpu (bool, optional) -- 如果为 True,则在 GPU 上分配张量,默认为 False
dtype (data-type, optional) -- 返回张量的数据类型。
- 返回:
out -- 从参数化的几何分布中抽取的样本。
- 返回类型:
Tensor or scalar
示例
从几何分布中抽取一万个值,单次成功的概率为 0.35:
>>> import maxframe.tensor as mt
>>> z = mt.random.geometric(p=0.35, size=10000)
一次运行后有多少次试验成功?
>>> ((z == 1).sum() / 10000.).execute() 0.34889999999999999 #random