Goûter au Bayes

Analyse bayésienne des données en Python

Michal Oleszak

Machine Learning Engineer

Distribution binomiale

  • Une distribution discrète qui ne peut prendre 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 bayésienne des données en Python

Distribution 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 bayésienne des données 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 bayésienne des données 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 symétrique en cloche culminant autour de 0,51 sur l'axe des X.

Analyse bayésienne des données en Python

Lançons quelques pièces !

Analyse bayésienne des données en Python

Preparing Video For Download...