베이즈 맛보기

Python으로 배우는 Bayesian 데이터 분석

Michal Oleszak

Machine Learning Engineer

이항분포

  • 이산 분포, 두 값 중 하나만 가짐:
    • 성공 (1)
    • 실패 (0)
  • 매개변수 1개: 성공 확률
  • 과제: 성공/실패 표본으로 성공 확률을 추정
Python으로 배우는 Bayesian 데이터 분석

파이썬에서의 이항분포

100회 시행에서의 성공 횟수:

import numpy as np
np.random.binomial(100, 0.5)
51

 

np.random.binomial(100, 0.5)
44

이항분포에서 표본 추출:

import numpy as np
np.random.binomial(1, 0.5, size=5)
array([1, 0, 0, 1, 1])
Python으로 배우는 Bayesian 데이터 분석

앞면 확률

  • get_heads_prob() - 사용자 정의 함수
  • 입력: 동전 던지기 리스트
  • 출력: 성공 확률 분포(리스트)

 

import numpy as np
tosses = np.random.binomial(1, 0.5, size=1000)
print(tosses)
[1 0 0 0 1 1 0 1 1 ... ]
Python으로 배우는 Bayesian 데이터 분석

앞면 확률

heads_prob = get_heads_prob(tosses)
print(heads_prob)
[0.47815295 0.51679212 0.51684779 ... ]
import matplotlib.pyplot as plt
import seaborn as sns

sns.kdeplot(heads_prob, 
            shade=True, 
            label="heads probabilty")
plt.show()

X축 값 0.51 부근에서 정대칭 종 모양으로 최고점을 갖는 곡선.

Python으로 배우는 Bayesian 데이터 분석

동전을 던져 봅시다!

Python으로 배우는 Bayesian 데이터 분석

Preparing Video For Download...