Análise de clustering: escolhendo o algoritmo certo

Praticando perguntas de entrevista de Machine Learning em Python

Lisa Stuart

Data Scientist

Algoritmos de clustering

  • Features >> Observations
  • Treinamento do modelo mais desafiador
  • Baseado em cálculos de distância
  • Técnica não supervisionada mais usada
Praticando perguntas de entrevista de Machine Learning em Python

Aplicações práticas de clustering

  • Segmentação de clientes
  • Classificação de documentos
  • Detecção de fraude (seguros/transações)
  • Segmentação de imagens
  • Detecção de anomalias
  • E muito mais...
Praticando perguntas de entrevista de Machine Learning em Python

Métricas de distância: distância Manhattan (taxi)

Gráfico Manhattan

1 https://en.wikipedia.org/wiki/Taxicab_geometry
Praticando perguntas de entrevista de Machine Learning em Python

Métricas de distância: distância Euclidiana

Gráfico Euclidiana

1 http://rosalind.info/glossary/euclidean-distance/
Praticando perguntas de entrevista de Machine Learning em Python

K-means

Etapas do K-means

  1. Centroides iniciais
  2. Atribuir cada observação ao centróide mais próximo
  3. Criar novos centroides
  4. Repetir etapas 2 e 3
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
Praticando perguntas de entrevista de Machine Learning em Python

Clustering hierárquico aglomerativo

Dendrograma de clustering hierárquico

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
Praticando perguntas de entrevista de Machine Learning em Python

Vinculação no clustering aglomerativo

  • Ligação de Ward
  • Ligação máxima/complete
  • Ligação média
  • Ligação simples
Praticando perguntas de entrevista de Machine Learning em Python

Selecionando um algoritmo de clustering

Distâncias entre clusters

  • Avaliar estabilidade de clusters
  • K-means e HC usam distância Euclidiana
  • Distâncias inter e intra-cluster

"Uma medida de dissimilaridade adequada é muito mais importante para ter sucesso em clustering do que a escolha do algoritmo." - de Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
Praticando perguntas de entrevista de Machine Learning em Python

Funções de clustering

Function/method retorna
sklearn.cluster.Kmeans Algoritmo de clustering K-Means
sklearn.cluster.AgglomerativeClustering Algoritmo de clustering aglomerativo
kmeans.inertia_ Soma dos quadrados das distâncias ao centro de cluster mais próximo
scipy.cluster.hierarchy como sch Clustering hierárquico para dendrogramas
sch.dendrogram() Função de dendrograma
Praticando perguntas de entrevista de Machine Learning em Python

Vamos praticar!

Praticando perguntas de entrevista de Machine Learning em Python

Preparing Video For Download...