使用 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