Ochutnávka Bayese

Bayesian Data Analysis in Python

Michal Oleszak

Machine Learning Engineer

Binomické rozdělení

  • Diskrétní rozdělení, nabývá pouze dvou hodnot:
    • Úspěch (1)
    • Neúspěch (0)
  • Jeden parametr: pravděpodobnost úspěchu.
  • Úkol: ze seznamu výsledků (úspěchy a neúspěchy) odhadnout pravděpodobnost úspěchu.
Bayesian Data Analysis in Python

Binomické rozdělení v Pythonu

Počet úspěchů ve 100 pokusech:

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

 

np.random.binomial(100, 0.5)
44

Výběr z binomického rozdělení:

import numpy as np
np.random.binomial(1, 0.5, size=5)
array([1, 0, 0, 1, 1])
Bayesian Data Analysis in Python

Pravděpodobnost padnout hlavou

  • get_heads_prob() – vlastní funkce
  • vstup: seznam hodů mincí
  • výstup: seznam, rozdělení pravděpodobnosti úspěchu

 

import numpy as np
tosses = np.random.binomial(1, 0.5, size=1000)
print(tosses)
[1 0 0 0 1 1 0 1 1 ... ]
Bayesian Data Analysis in Python

Pravděpodobnost padnout hlavou

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()

Symetrická křivka ve tvaru zvonu s vrcholem přibližně u hodnoty 0,51 na ose X.

Bayesian Data Analysis in Python

Házejme mincí!

Bayesian Data Analysis in Python

Preparing Video For Download...