Goûtons au bayésien

Analyse de données bayésienne en Python

Michal Oleszak

Machine Learning Engineer

Loi binomiale

  • Une loi discrète, ne prend que deux valeurs :
    • Succès (1)
    • Échec (0)
  • Un paramètre : la probabilité de succès.
  • Tâche : à partir d'une liste de tirages (succès et échecs), estimer la probabilité de succès.
Analyse de données bayésienne en Python

Loi binomiale en Python

Nombre de succès en 100 essais :

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

 

np.random.binomial(100, 0.5)
44

Obtenir des tirages d'une binomiale :

import numpy as np
np.random.binomial(1, 0.5, size=5)
array([1, 0, 0, 1, 1])
Analyse de données bayésienne en Python

Probabilité de « pile »

  • get_heads_prob() - une fonction personnalisée
  • entrée : une liste de lancers de pièce
  • sortie : une liste, la distribution de la probabilité de succès

 

import numpy as np
tosses = np.random.binomial(1, 0.5, size=1000)
print(tosses)
[1 0 0 0 1 1 0 1 1 ... ]
Analyse de données bayésienne en Python

Probabilité de « pile »

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

Une courbe en cloche symétrique, culminant près de 0,51 sur l'axe des X.

Analyse de données bayésienne en Python

Lançons quelques pièces !

Analyse de données bayésienne en Python

Preparing Video For Download...