Python NumPy를 사용하여 베르누이 분포 구현
통계학에서 정말 중요한 주제인 베르누이 분포는 데이터를 다루는 데 도움이 되기 때문에 데이터 과학, 기계 학습 및 기타 관련 분야의 필수적인 측면입니다. 이 튜토리얼은 베르누이 배포판과 NumPy 라이브러리의 도움으로 파이썬에서 구현하는 방법을 보여줍니다.
베르누이 분포에 대해 이야기할 때 항상 이항 분포라는 용어가 떠오릅니다. 이 용어는 유사하지만 일부 작동 방식이 다릅니다.
이 두 배포판은 서로 다른 시간에 문제를 더 쉽게 만드는 데 유용합니다. 아래 기사에 설명된 대로 이러한 용어를 이해하고 효과적으로 구별하는 것이 중요합니다.
베르누이 분포
간단히 말해서 단일 시행에서 두 가지 가능한 결과만 있는 경우 이 주어진 데이터는 베르누이 분포를 구현하는 데 적합합니다.
베르누이 배포의 직접 구현은 SciPy 라이브러리의 도움으로 수행할 수 있습니다. 그러나 NumPy 라이브러리는 이 배포판을 구현하기 위해 간접적으로 사용될 수도 있습니다.
좀 더 명확하게 설명하기 위해 베르누이 분포를 D(b)
로 지정합니다.
이항 분포
이항 분포의 개념은 베르누이 시행(Bernoulli Trials)의 그룹 또는 집합을 다루는 것으로 정의할 수 있습니다. 이 그룹 또는 집합의 번호는 일반적으로 정의할 수 있습니다.
간단히 말해서 이항 분포는 개별 이벤트의 단일 시행을 처리하는 베르누이 분포와 비교하여 개별 이벤트의 여러 시행을 처리합니다.
위에서 베르누이 분포를 D(b)
로 지정하는 것과 관련하여 이항 분포는 D(n,b)
로 지정됩니다. 이 할당은 이러한 용어 간의 관계를 반영합니다.
Python에서 NumPy의 도움으로 베르누이 분포 구현
베르누이 분포에 대해 이야기할 때 이항 분포의 의미가 무엇인지 궁금할 것입니다. 큰 의미가 있습니다.
NumPy 라이브러리는 NumPy.random.binomial()
함수를 직접 사용하여 이항 분포를 구현합니다. NumPy.random.binomial()
함수의 구문은 아래에서 볼 수 있습니다.
random.binomial(n, p, size=None)
이 함수의 매개변수는 사용자의 명확한 이해를 위해 정의됩니다.
n
: 시행 횟수입니다. float 또는 integer로 입력할 수 있지만 결국 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