NumPy 二项分布

二项分布(Binomial Distribution)

二项式分布是一种离散分布。

它描述了二进制场景的结果,例如抛硬币,要么是正面,要么是反面。

它有三个参数:

  • n - 试验次数。
  • p - 每次试验发生的概率(例如,掷硬币每次为0.5)。
  • size - 返回数组的形状。

离散分布:分布是在单独的事件集上定义的,例如抛硬币的结果是离散的,因为它只能是正面或反面,而人的身高是连续的,因为它可以是 170、170.1、170.11 等。

实例

给定 10 次抛硬币试验,生成 10 个数据点:

from numpy import random

x = random.binomial(n=10, p=0.5, size=10)

print(x)

亲自试一试

二项式分布的可视化

实例

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.displot(random.binomial(n=10, p=0.5, size=1000))

plt.show()

亲自试一试

结果

正态分布和二项分布之间的差异

主要区别在于,正态分布是连续的,而二项分布是离散的,但如果有足够的数据点,它将与具有特定位置和尺度的正态分布非常相似。

实例

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

data = {
  "normal": random.normal(loc=50, scale=5, size=1000),
  "binomial": random.binomial(n=100, p=0.5, size=1000)
}

sns.displot(data, kind="kde")

plt.show()

亲自试一试

结果