Simulation d’événements discrets en Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Histogramme
Package Matplotlib
import matplotlib.pyplot as plt
Usage : Créer un histogramme du jeu data avec 50 bacs
plt.hist(data, bins=50)


Apprentissage automatique

Dans les modèles à événements discrets
Notre focus
Observations et centroïdes

Méthode SciPy
scipy.cluster.vq.kmeans()
Implémentation
import scipy
scipy.cluster.vq.kmeans(
obs, k_or_guess, iter=20, thresh=1e-05,
check_finite=True, *, seed=None)
obs est un tableau numpyAvant k-means : blanchiment des données
obsobs par son écart-type
Dans SciPy
scipy.cluster.vq.whiten(
obs, check_finite=True)
obs est un tableau numpyProcess 1
Importer le package
import scipy.cluster.vq as scvq
Blanchir les résultats
white_data = scvq.whiten(model_results)
Trouver 2 clusters (points bleus)
cluster_centroids, distortion =
scvq.kmeans(white_data, 2)
Techniques
Méthode simple
nobs = nombre d’observationsnum_clusters =
int((model_results.shape[0]/2)**0.5)
22
from sklearn.metrics import silhouette_score
Calculer les scores de silhouette pour k clusters
for k in range(2, 6):
model = KMeans(n_clusters=k)
model.fit(model_results)
pred = model.predict(model_results)
score = silhouette_score(model_results, pred)
Sortie console
Score de silhouette pour k = 2 : 0.591
Score de silhouette pour k = 3 : 0.472
Score de silhouette pour k = 4 : 0.381
Score de silhouette pour k = 5 : 0.364
Score de silhouette pour k = 6 : 0.373
Interprétation
score = 1score = -1score proche de 0Simulation d’événements discrets en Python