使用 Python NumPy 實現伯努利分佈

Vaibhhav Khetarpal 2023年1月30日 2022年7月18日
  1. 伯努利分佈
  2. 二項分佈
  3. 在 Python 中藉助 NumPy 實現伯努利分佈
使用 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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