Analyse de clustering : choisir le bon algorithme de clustering

S’entraîner aux questions d’entretien en Machine Learning avec Python

Lisa Stuart

Data Scientist

Algorithmes de clustering

  • Caractéristiques >> Observations
  • Entraînement du modèle plus difficile
  • Repose sur des calculs de distance
  • Technique non supervisée la plus courante
S’entraîner aux questions d’entretien en Machine Learning avec Python

Applications pratiques du clustering

  • Segmentation client
  • Classification de documents
  • Détection de fraudes (assurance/transactions)
  • Segmentation d'images
  • Détection d'anomalies
  • Et bien plus…
S’entraîner aux questions d’entretien en Machine Learning avec Python

Mesures de distance : distance de Manhattan (taxi)

Nuage de Manhattan

1 https://en.wikipedia.org/wiki/Taxicab_geometry
S’entraîner aux questions d’entretien en Machine Learning avec Python

Mesures de distance : distance euclidienne

Tracé euclidien

1 http://rosalind.info/glossary/euclidean-distance/
S’entraîner aux questions d’entretien en Machine Learning avec Python

K-means

Étapes du k-means

  1. Centroïdes initiaux
  2. Attribuer chaque observation au centroïde le plus proche
  3. Créer de nouveaux centroïdes
  4. Répéter les étapes 2 et 3
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
S’entraîner aux questions d’entretien en Machine Learning avec Python

Clustering hiérarchique agglomératif

Dendrogramme de clustering hiérarchique

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
S’entraîner aux questions d’entretien en Machine Learning avec Python

Liens en clustering agglomératif

  • Lien de Ward
  • Lien maximum/complet
  • Lien moyen
  • Lien simple
S’entraîner aux questions d’entretien en Machine Learning avec Python

Choisir un algorithme de clustering

Distances entre clusters

  • Évaluer la stabilité des clusters
  • K-means et HC utilisent la distance euclidienne
  • Distances inter- et intra-clusters

« Une mesure de dissimilarité adaptée est bien plus déterminante pour réussir un clustering que le choix de l'algorithme de clustering. » - tiré de Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
S’entraîner aux questions d’entretien en Machine Learning avec Python

Fonctions de clustering

Fonction/méthode renvoie
sklearn.cluster.Kmeans Algorithme de clustering K-means
sklearn.cluster.AgglomerativeClustering Algorithme de clustering agglomératif
kmeans.inertia_ Somme des distances au centre de cluster le plus proche
scipy.cluster.hierarchy as sch Clustering hiérarchique pour dendrogrammes
sch.dendrogram() Fonction de dendrogramme
S’entraîner aux questions d’entretien en Machine Learning avec Python

Passons à la pratique !

S’entraîner aux questions d’entretien en Machine Learning avec Python

Preparing Video For Download...