NumPy 二项分布

二项分布

二项分布是一种 离散分布

它描述了二元场景的结果,例如,抛硬币时,可能是正面的,也可能是反面的。

使用 random.binomial()方法获得二项分布。

它有三个参数:

  • n - 试验次数。
  • p - 每次试验发生的概率(例如,每次掷硬币0.5)。
  • size - 返回数组的形状。
离散分布:分布在单独的一组事件中定义,例如,抛硬币的结果是离散的,因为它只能是正面或反面,而人的身高是连续的,因为它可以是 170、170.1、170.11 等等。
实例

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

  1. from numpy import random
  2. x = random.binomial(n=10, p=0.5, size=10)
  3. print(x)

可视化二项分布

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. sns.distplot(random.binomial(n=10, p=0.5, size=1000), hist=True, kde=False)
  5. plt.show()
结果


正态分布与二项分布的区别

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

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. sns.distplot(random.normal(loc=50, scale=5, size=1000), hist=False, label='normal')
  5. sns.distplot(random.binomial(n=100, p=0.5, size=1000), hist=False, label='binomial')
  6. plt.show()
结果

分类导航