Analisi di clustering: scegliere l’algoritmo giusto

Esercitarsi con le domande di colloquio di Machine Learning in Python

Lisa Stuart

Data Scientist

Algoritmi di clustering

  • Feature >> Osservazioni
  • Addestramento del modello più difficile
  • Si basano su calcoli di distanza
  • Tecnica non supervisionata più usata
Esercitarsi con le domande di colloquio di Machine Learning in Python

Applicazioni pratiche del clustering

  • Segmentazione clienti
  • Classificazione documenti
  • Rilevamento frodi (assicurazioni/transazioni)
  • Segmentazione immagini
  • Rilevamento anomalie
  • E molto altro...
Esercitarsi con le domande di colloquio di Machine Learning in Python

Metriche di distanza: distanza Manhattan (taxi)

Grafico Manhattan

1 https://en.wikipedia.org/wiki/Taxicab_geometry
Esercitarsi con le domande di colloquio di Machine Learning in Python

Metriche di distanza: distanza euclidea

Grafico euclideo

1 http://rosalind.info/glossary/euclidean-distance/
Esercitarsi con le domande di colloquio di Machine Learning in Python

K-means

Passi del K-means

  1. Centroidi iniziali
  2. Assegna ogni osservazione al centroide più vicino
  3. Crea nuovi centroidi
  4. Ripeti i passi 2 e 3
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
Esercitarsi con le domande di colloquio di Machine Learning in Python

Clustering gerarchico agglomerativo

Dendrogramma di clustering gerarchico

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
Esercitarsi con le domande di colloquio di Machine Learning in Python

Linkage nel clustering agglomerativo

  • Collegamento Ward
  • Collegamento massimo/complete
  • Collegamento medio
  • Collegamento singolo
Esercitarsi con le domande di colloquio di Machine Learning in Python

Scelta dell’algoritmo di clustering

Distanze tra cluster

  • Valutazione della stabilità dei cluster
  • K-means e HC usano distanza euclidea
  • Distanze inter- e intra-cluster

"Una misura di dissimilarità adeguata è molto più importante per il successo del clustering rispetto alla scelta dell’algoritmo." - da Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzioni per il clustering

Funzione/metodo restituisce
sklearn.cluster.Kmeans Algoritmo K-Means
sklearn.cluster.AgglomerativeClustering Algoritmo agglomerativo
kmeans.inertia_ SS distanze delle osservazioni al centroide più vicino
scipy.cluster.hierarchy come sch Clustering gerarchico per dendrogrammi
sch.dendrogram() Funzione per dendrogramma
Esercitarsi con le domande di colloquio di Machine Learning in Python

Passiamo alla pratica!

Esercitarsi con le domande di colloquio di Machine Learning in Python

Preparing Video For Download...