使用 Python NumPy 实现伯努利分布
作为统计学中一个非常重要的主题,伯努利分布是数据科学、机器学习和其他相关领域的重要方面,因为它有助于处理数据。本教程将演示伯努利分布以及如何借助 NumPy 库在 Python 中实现它。
当我们谈论伯努利分布时,总是会想到二项分布这个词。这些术语相似,但在某些工作方式上有所不同。
这两个分布派上用场,可以在不同时间使问题变得更容易。如下文所述,理解并有效区分这些术语非常重要。
伯努利分布
简单来说,当一次试验中只有两种可能的结果时,这个给定的数据适合实施伯努利分布。
伯努利分布的直接实现可以在 SciPy 库的帮助下完成。但是,也可以间接利用 NumPy 库来实现此分发。
为了更清楚地解释它,让我们将伯努利分布指定为 D(b)
。
二项分布
二项分布的概念可以定义为处理一组或一组伯努利试验的东西。通常可以定义该组或集合的数量。
简而言之,二项分布处理单个事件的多次试验,而伯努利分布处理单个事件的单个试验。
对于上述将伯努利分布分配为 D(b)
,二项分布将分配为 D(n,b)
。该作业反映了这些术语之间的关系。
在 Python 中借助 NumPy 实现伯努利分布
在谈论伯努利分布时,你一定想知道二项分布的意义是什么。嗯,有很大的意义。
NumPy 库直接使用函数 NumPy.random.binomial()
来实现二项分布。NumPy.random.binomial()
函数的语法如下所示。
random.binomial(n, p, size=None)
定义此函数的参数是为了让用户更清楚地了解。
n
:这是试验次数。它可以作为浮点数或整数输入,但最终会被截断为 int 值。p
:这是成功的概率;它总是大于0
或小于1
。它是一个浮点值。size
:这有助于提供输出的形状。如果设置为None
,它只提供一个值。
在这种情况下,当我们将伯努利试验的集合数设为 1
时,我们可以在二项分布中间接实现伯努利分布。
以下代码使用 NumPy.random.binomial
函数在 Python 中实现伯努利分布。
我们举一个硬币(只有两种可能性,正面和反面)被抛出 4 次的例子。当我们将 n
作为 1
时,它符合伯努利分布而不是二项分布,这就是我们将在代码中进行的方式。
import numpy as dragon
n = 1
p = 0.5
x = dragon.random.binomial(n, p, size=4)
print(x)
上面的代码提供了以下输出:
[1 0 0 1]
在这里,我们展示了抛一枚硬币测试 4 次的结果。需要注意的是,由于它是随机试验,重新运行程序可能会生成一组不同的输出。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn