Analyse par regroupement : choisir le bon algorithme de clustering

S'exercer aux questions d'entrevue en Machine Learning avec Python

Lisa Stuart

Data Scientist

Algorithmes de clustering

  • Caractéristiques >> Observations
  • Entraîner le modèle est plus ardu
  • Repose sur des calculs de distance
  • Technique non supervisée la plus courante
S'exercer aux questions d'entrevue en Machine Learning avec Python

Applications pratiques du clustering

  • Segmentation de la clientèle
  • Classification de documents
  • Détection de fraude (assurance/transaction)
  • Segmentation d'images
  • Détection d'anomalies
  • Et plus encore…
S'exercer aux questions d'entrevue en Machine Learning avec Python

Mesures de distance : distance de Manhattan (taxi)

Diagramme Manhattan

1 https://en.wikipedia.org/wiki/Taxicab_geometry
S'exercer aux questions d'entrevue en Machine Learning avec Python

Mesures de distance : distance euclidienne

Diagramme euclidien

1 http://rosalind.info/glossary/euclidean-distance/
S'exercer aux questions d'entrevue en Machine Learning avec Python

K-means

Étapes de 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'exercer aux questions d'entrevue en Machine Learning avec Python

Clustering hiérarchique agglomératif

Dendrogramme de regroupement hiérarchique

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
S'exercer aux questions d'entrevue en Machine Learning avec Python

Liens en clustering agglomératif

  • Lien de Ward
  • Lien maximum/complet
  • Lien moyen
  • Lien simple
S'exercer aux questions d'entrevue en Machine Learning avec Python

Choisir un algorithme de clustering

Distances entre grappes

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

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

1 https://slideplayer.com/slide/8363774/
S'exercer aux questions d'entrevue en Machine Learning avec Python

Fonctions de clustering

Function/method returns
sklearn.cluster.Kmeans Algorithme de clustering K-means
sklearn.cluster.AgglomerativeClustering Algorithme de clustering agglomératif
kmeans.inertia_ Somme des carrés des distances au centre le plus proche
scipy.cluster.hierarchy as sch Clustering hiérarchique pour dendrogrammes
sch.dendrogram() Fonction de dendrogramme
S'exercer aux questions d'entrevue en Machine Learning avec Python

Passons à la pratique !

S'exercer aux questions d'entrevue en Machine Learning avec Python

Preparing Video For Download...