SlideShare una empresa de Scribd logo
1 de 63
Método de las K-Medias
Clustering No Jerárquico
1
IT PhD Rocío Chávez
rociochavezml.com
Temas
- Algoritmo K-Means
- Ventajas y Desventajas
- Algunas variantes del K-Means
- Algunas técnicas para determinar la cantidad de clusters
- Cohesión y separación de Clusters
- Acciones previas al análisis con k-Means
- Diferentes formas de inicializar el algoritmo
- Ejemplo numérico con centroides iniciales cercanos
- Ejemplo numérico con centroides iniciales alejados
rociochavezml.com
SEGMENTACIÓN DE CLIENTES
PARA CAMPAÑAS DE
MARKETING
DETECCIÓN DE GENES
QUE SE COMPORTAN DE
LA MISMA MANERA
ANÁLISIS DE RELACIONES
EN LAS REDES SOCIALES
AGRUPACIÓN DE
DOCUMENTOS
RECOMENDACIONES
MUSICALES O DE
CONTENIDOS
Usos del
Aprendizaje
No Supervisado
rociochavezml.com
Clustering
K-Means
4
Método no supervisado que sirve para hacer
agrupaciones de objetos o individuos en base
a la similitud de sus características
Se busca formar clusters compactos y bien definidos
rociochavezml.com
Ventajas
Es fácil de implementar
Es útil cuando queremos segmentar grandes volúmenes de datos (Cuando
se trata de big data se utilizan variantes como el Mini-Batch K-Means)
Computacionalmente es menos costoso que el clustering Jerárquico
Ha sido ampliamente utilizado en bases de datos reales con buenos
resultados
5rociochavezml.com
Desventajas
Necesitamos conocer de antemano la cantidad de clusters a formar
Debido a que crea los grupos en base a las distancias entre los individuos,
solamente maneja variables numéricas.
La calidad de los clusters depende en gran medida de los valores con los que
se inicializa el algoritmo
Puede ser que se obtenga un resultado que sea óptimo localmente pero no
globalmente
El resultado se vé muy afectado por los outliers
6rociochavezml.com
Cómo afectan
los Outliers?
7
Con Outliers
Sin Outliers
rociochavezml.com
Óptimos
Locales vs.
Globales
8
Imagen tomada de Fränti, P., & Sieranoja, S. (2019). How much can k-means be improved by using better initialization
and repeats?. Pattern Recognition, 93, 95-112.
rociochavezml.com
Algunas
Variantes de
K-Means
K-Modas:
- Utiliza modas en lugar de medias
- Maneja Variables Categóricas
K-Medoids:
- Es más robusto al ruido y a los valores atípicos
- En lugar de utilizar centroides, utiliza individuos que se encuentran
más centrados con respecto al cluster (medianas)
Mini-Batch K-Means: Utilizado en Big Data
- Divide las bases de datos en subconjuntos que se van procesando
en cada paso del algoritmo
9rociochavezml.com
Cuando
No es óptimo
K-Means?
10
Para más información visita https://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html
Clusters de diferentes tamaños, formas y densidades
rociochavezml.com
Cohesión y
Separación
de Clusters
11
Cohesión
Separación
Mide la cohesión que hay en los clusters, es decir, distancia que hay entre
un individuo y los demás individuos que se encuentran en un mismo
cluster (Distancia Intra-Cluster)
Mide la distancia que hay entre individuos se encuentran en clusters
diferentes. (Distancia Inter-Cluster)
rociochavezml.com
Criterio de la
Inercia
12
Imagen tomada de: http://www.diegocalvo.es/analisis-cluster-no-jerarquico-k-means-en-r/
rociochavezml.com
Centro de
Gravedad
Total
13
𝑔 =
1
𝑛
𝑖=1
𝑛
𝑥𝑖
En donde:
𝑥𝑖 = Es el vector del i-ésimo individuo
Promedio vectorial de todos los individuos
Centro de Gravedad Total
𝑛 = Cantidad de individuos
𝑔
rociochavezml.com
Inercia
Total
14
En donde:
𝑥𝑖 = Es el vector del i-ésimo individuo
Promedio de las distancias que hay entre los
individuos y el centro de gravedad total
InerciaTotal
𝐼 =
1
𝑛
𝑖=1
𝑛
||𝑥𝑖 − 𝑔||2
𝑔 = Centro de gravedad total
𝑛 = Cantidad de individuos
rociochavezml.com
Centro de
Gravedad
De un Cluster
15
Centro de Gravedad de un Cluster
En donde:
𝑥𝑖 = Es el vector del i-ésimo individuo
𝑘 = Es el número de Clusters
𝑔 𝑘 =
1
|𝐶 𝑘|
𝑖∈𝐶 𝑘
𝑥𝑖
Promedio vectorial de los individuos que
pertenecen a un cluster
|𝐶 𝑘| = Cantidad de individuos contenidos
en el k-ésimo cluster
rociochavezml.com
Inercia
Inter-Clases
16
Inercia Inter-Clases
(Between Partitions)
En donde:
𝑛 = Cantidad de individuos
Promedio de las distancias que hay entre los
centros de gravedad de los clusters
|𝐶 𝑘| = Cantidad de individuos contenidos
en el k-ésimo cluster
𝐵(𝑃) = 𝑘=1
𝑘 |𝐶 𝑘|
𝑛
| 𝑔 𝑘 − 𝑔 |2
𝑔 = Centro de gravedad total
𝑔 𝑘 = Centro de gravedad del k-ésimo Cluster
𝑘 = Es el número de Clusters
rociochavezml.com
Inercia
Intra-Clases
17
Inercia Intra-Clases
(Within Partitions)
En donde:
Promedio de las distancias que hay entre los individuos y
el centro de gravedad del cluster al que pertenecen
𝑊 𝑃 =
1
𝑛
𝑘=1
𝑘
𝑖∈𝐶 𝑘
| 𝑥𝑖 − 𝑔 𝑘 |2
𝑛 = Cantidad de individuos
𝑔 𝑘 = Centro de gravedad del k-ésimo Cluster
𝑘 = Es el número de Clusters
𝑥𝑖 = Es el vector del i-ésimo individuo
𝐶 𝑘 = Es el k-ésimo cluster
rociochavezml.com
Igualdad de
Fisher
18
𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝑇𝑜𝑡𝑎𝑙 = 𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝐼𝑛𝑡𝑒𝑟𝑐𝑙𝑎𝑠𝑒𝑠 + 𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝐼𝑛𝑡𝑟𝑎𝐶𝑙𝑎𝑠𝑒𝑠
𝐼 = 𝐵(𝑃) + 𝑊(𝑃)
Imagen tomada de: http://www.diegocalvo.es/analisis-cluster-no-jerarquico-k-means-en-r/
rociochavezml.com
Acciones
Previas para
K-Means
- Remover Outliers
- Normalizar valores en caso de que estos no sean
comparables
- Determinar la cantidad de Clusters a formar
19rociochavezml.com
Normalización
de Valores
20
Valores Sin Normalizar
Valores Normalizados
rociochavezml.com
21
La cantidad de clusters a crear puede depender
entre otras cosas de:
Cantidad de
Clusters a
crear
La estrategia del negocio
Las limitaciones del sistema que estamos
analizando
Técnicas de validación de clusters
Sin información previa:
rociochavezml.com
22
ANALISIS DE COMPONENTES PRINCIPALES
Visualización
de los datos
Valores Normalizados
rociochavezml.com
23
Codo de Jambú
Coeficiente de Silueta
Indice de Dunn
Técnicas para
Determinar la
cantidad de
Clusters
Aplicar Clustering Jerárquico a una
muestra tomada aleatoriamente
Davies-Bouldin Index
rociochavezml.com
24
Codo de
Jambú
rociochavezml.com
25
Coeficiente de
Silueta
rociochavezml.com
26
Coeficiente de
Silueta
Clusters 2 y 3
rociochavezml.com
27
Coeficiente de
Silueta
Clusters 2 y 3
10
8
16
13
12
9
14
11
17
18
15
5
7
4
3
6
1
2
Silhouette width si
0.0 0.2 0.4 0.6 0.8 1.0
Silhouette plot of (x = k3$cluster, dist = distancias.Ejemplo_est)
Average silhouette width : 0.45
n = 18 3 clusters Cj
j : nj | avei Cj si
1 : 7 | 0.41
2 : 6 | 0.50
3 : 5 | 0.45
13
9
16
11
18
14
15
17
7
12
10
3
8
6
5
1
4
2
Silhouette width si
0.0 0.2 0.4 0.6 0.8 1.0
Silhouette plot of (x = k2$cluster, dist = distancias.Ejemplo_es
Average silhouette width : 0.36
n = 18 2 clusters Cj
j : nj | avei Cj si
1 : 10 | 0.40
2 : 8 | 0.30
Este elemento se
encuentra en el
límite entre los
dos clusters
rociochavezml.com
28
Índice de
Dunn
rociochavezml.com
29
Índice de
Davies-Bouldin
rociochavezml.com
30
Determinando
la cantidad de
Clusters
rociochavezml.com
31
Cuando no existe
ni cohesión
ni separación
grandes
rociochavezml.com
32
Pasos del Algoritmo K-Means
y
Tres Formas Diferentes de Inicializarlo
rociochavezml.com
Clustering
K-Means
Pasos del Método K-Means
Inicialización 1
33
3) Asignar a cada individuo el número de
cluster cuyo centroide esté más cercano
2) Calcular los centroides de los clusters,
es decir, el valor promedio que tienen los
individuos que los conforman, en cada una
de las características.
1) Asignar aleatoriamente un número de
cluster a cada individuo.
Se repiten los pasos 2 y 3 hasta que se
cumpla el criterio de convergencia del
algoritmo
Imagen tomada de: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013.
rociochavezml.com
Clustering
K-Means
Pasos del Método K-Means
Inicialización 2
34
4) Re-asignar a cada individuo el número
de cluster cuyo centroide esté más cercano
2) Calcular las distancias entre cada uno
de los individuos restantes y los k
centroides asignados aleatoriamente para
asignarlos al cluster más cercano.
1) Asignar aleatoriamente k individuos para
que sean los centroides de los clusters a
formar.
Se repiten los pasos 3 y 4 hasta que se cumpla el criterio de convergencia
del algoritmo
3) Calcular los centroides de los clusters,
es decir, el valor promedio que tienen los
individuos que los conforman, en cada una
de las características.
rociochavezml.com
Clustering
K-Means
Pasos del Método K-Means
Inicialización 3
35
4) Re-asignar a cada individuo el número
de cluster cuyo centroide esté más cercano
2) Calcular las distancias entre cada uno
de los individuos restantes y los k
centroides asignados aleatoriamente para
asignarlos al cluster más cercano.
1) Asignar k individuos para que sean los
centroides de los clusters a formar
utilizando el método k-means++
Se repiten los pasos 3 y 4 hasta que se cumpla el criterio de convergencia
del algoritmo
3) Calcular los centroides de los clusters,
es decir, el valor promedio que tienen los
individuos que los conforman, en cada una
de las características.
rociochavezml.com
36
Imágenes tomadas de https://www.analyticsvidhya.com/blog/2019/08/comprehensive-guide-k-means-
clustering/#k-means-clustering-python-code
Datos a Agrupar
Primer Centroide
Segundo Centroide Tercer Centroide
Distancias entre los
puntos y el centroide
Distancias entre cada punto
y su centroide más cercano
Asignando los
centroides con
K-Means++
rociochavezml.com
Criterios de
Convergencia
37
2) El valor de la inercia intra-clases es menor a
un valor de tolerancia dado
1) Los individuos ya no son reasignados a otro
cluster
3) Se lleva a cabo una cantidad determinada
de iteraciones
rociochavezml.com
38
Ejemplos Numéricos
Inicializaciones 2 y 3
del Algoritmo K-Means
rociochavezml.com
39
Determinando
la Cantidad de
Clusters
rociochavezml.com
40
Ejemplo Numérico
Inicialización 2
del Algoritmo K-Means
rociochavezml.com
41
Asignación de
Centroides
Asignar aleatoriamente k individuos para que
sean los centroides de los clusters a formar.
Paso 1 del Algoritmo
rociochavezml.com
42
Distancia Euclidea entre el Individuo 1 y los 3 Centroides
asignados aleatoriamente
Distancia a
los centroides Calcular las distancias entre cada uno de los individuos
restantes y los k centroides asignados aleatoriamente
para asignarlos al cluster más cercano.
Paso 2 del Algoritmo
rociochavezml.com
43
Distancia entre cada Individuo y los 3 Centroides asignados
aleatoriamente
Cálculo de
Distancias Calcular las distancias entre cada uno de los individuos
restantes y los k centroides asignados aleatoriamente
para asignarlos al cluster más cercano.
Paso 2 del Algoritmo (Cont)
rociochavezml.com
44
Asignando a cada Individuo al centroide más cercano
Asignación de
Clusters Calcular las distancias entre cada uno de los individuos
restantes y los k centroides asignados aleatoriamente
para asignarlos al cluster más cercano.
Paso 2 del Algoritmo (Cont)
rociochavezml.com
45
Cálculo de
Centroides
Paso 3 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características.
rociochavezml.com
46
Reasignando a cada Individuo al centroide más cercano
Calculo de
Distancias y
Asignación
Paso 4 del Algoritmo
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
47
Reasignando a cada Individuo al centroide más cercano
Asignación de
Clusters
Paso 4 del Algoritmo (Cont.)
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
48
Calculo de
Distancias y
Asignación
Pasos 3 y 4 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características y
reasignar los clusters
rociochavezml.com
49
Reasignando a cada Individuo al centroide más cercano
Asignación de
Clusters
Paso 4 del Algoritmo (Cont.)
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
50
Ejemplo Numérico
Inicialización 3
del Algoritmo K-Means
rociochavezml.com
51
Utilizando centroides iniciales alejados
Cálculo de
Distancias Asignar k individuos para que sean los centroides
de los clusters a formar utilizando el método k-
means++
Paso 1 del Algoritmo
rociochavezml.com
52
Distancia entre cada Individuo y los 3 Centroides asignados
inicialmente
Calculo de
Distancias y
Asignación
Calcular las distancias entre cada uno de los individuos
restantes y los k centroides asignados aleatoriamente
para asignarlos al cluster más cercano.
Paso 2 del Algoritmo
rociochavezml.com
53
Asignando a cada Individuo al centroide más cercano
Asignación de
Clusters Calcular las distancias entre cada uno de los individuos
restantes y los k centroides asignados aleatoriamente
para asignarlos al cluster más cercano.
Paso 2 del Algoritmo (Cont)
rociochavezml.com
54
Cálculo de
Centroides
Paso 3 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características.
Los centroides son el valor
promedio de las características
de los individuos contenidos en
cada cluster
rociochavezml.com
55
Reasignando a cada Individuo al centroide más cercano
Calculo de
Distancias y
Asignación
Paso 4 del Algoritmo
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
56
Asignación
del Cluster
Reasignando a cada Individuo al centroide más cercano
Paso 4 del Algoritmo (Cont.)
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
57
Cálculo de
Centroides
Paso 3 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características.
rociochavezml.com
58
Calculo de
Distancias y
Asignación
Pasos 3 y 4 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características y
reasignar los clusters
rociochavezml.com
59
Reasignando a cada Individuo al centroide más cercano
Asignación
de Clusters
Paso 4 del Algoritmo (Cont.)
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
60
Cálculo de
Centroides
Paso 3 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características.
rociochavezml.com
61
Calculo de
Distancias y
Asignación
Pasos 3 y 4 del Algoritmo
Calcular los centroides de los clusters, es decir, el
valor promedio que tienen los individuos que los
conforman, en cada una de las características y
reasignar los clusters
rociochavezml.com
62
Reasignando a cada Individuo al centroide más cercano
Asignación
de Clusters
Paso 4 del Algoritmo (Cont.)
Reasignar a cada individuo el número de cluster
cuyo centroide esté más cercano
rociochavezml.com
63
Comparando
los Clusters
Obtenidos
Inicialización de centroides Aleatoria Inicialización con centroides Alejados
rociochavezml.com

Más contenido relacionado

La actualidad más candente

El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)
Cristina Lopez
 
REDES NEURONALES Aprendizaje Competitivo Cooperativo
REDES NEURONALES Aprendizaje Competitivo CooperativoREDES NEURONALES Aprendizaje Competitivo Cooperativo
REDES NEURONALES Aprendizaje Competitivo Cooperativo
ESCOM
 
Formas normales de Skolem para lógica proposicional y de predicados
Formas normales de Skolem para lógica proposicional y de predicadosFormas normales de Skolem para lógica proposicional y de predicados
Formas normales de Skolem para lógica proposicional y de predicados
Facultad de Ciencias y Sistemas
 

La actualidad más candente (20)

Data Clustering with R
Data Clustering with RData Clustering with R
Data Clustering with R
 
K-means Clustering
K-means ClusteringK-means Clustering
K-means Clustering
 
Data Mining: clustering and analysis
Data Mining: clustering and analysisData Mining: clustering and analysis
Data Mining: clustering and analysis
 
Introduction to Clustering algorithm
Introduction to Clustering algorithmIntroduction to Clustering algorithm
Introduction to Clustering algorithm
 
Unsupervised learning
Unsupervised learningUnsupervised learning
Unsupervised learning
 
El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)
 
Metodo escalada
Metodo escaladaMetodo escalada
Metodo escalada
 
K means
K meansK means
K means
 
Clustering - K-Means, DBSCAN
Clustering - K-Means, DBSCANClustering - K-Means, DBSCAN
Clustering - K-Means, DBSCAN
 
K-means clustering algorithm
K-means clustering algorithmK-means clustering algorithm
K-means clustering algorithm
 
K means clustering | K Means ++
K means clustering | K Means ++K means clustering | K Means ++
K means clustering | K Means ++
 
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
 
Unsupervised learning (clustering)
Unsupervised learning (clustering)Unsupervised learning (clustering)
Unsupervised learning (clustering)
 
REDES NEURONALES Aprendizaje Competitivo Cooperativo
REDES NEURONALES Aprendizaje Competitivo CooperativoREDES NEURONALES Aprendizaje Competitivo Cooperativo
REDES NEURONALES Aprendizaje Competitivo Cooperativo
 
K means Clustering Algorithm
K means Clustering AlgorithmK means Clustering Algorithm
K means Clustering Algorithm
 
Clustering, k-means clustering
Clustering, k-means clusteringClustering, k-means clustering
Clustering, k-means clustering
 
Monte Carlo Tree Search for the Super Mario Bros
Monte Carlo Tree Search for the Super Mario BrosMonte Carlo Tree Search for the Super Mario Bros
Monte Carlo Tree Search for the Super Mario Bros
 
Introduction to unsupervised learning: outlier detection
Introduction to unsupervised learning: outlier detectionIntroduction to unsupervised learning: outlier detection
Introduction to unsupervised learning: outlier detection
 
K means clustring @jax
K means clustring @jaxK means clustring @jax
K means clustring @jax
 
Formas normales de Skolem para lógica proposicional y de predicados
Formas normales de Skolem para lógica proposicional y de predicadosFormas normales de Skolem para lógica proposicional y de predicados
Formas normales de Skolem para lógica proposicional y de predicados
 

Similar a Clustering K-Means

Spss Tutorial 1
Spss Tutorial 1Spss Tutorial 1
Spss Tutorial 1
vinod
 
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdfAprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
Gerard Alba
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas Difusos
ESCOM
 
Cluster No Jerarquico
Cluster No JerarquicoCluster No Jerarquico
Cluster No Jerarquico
guest83cad74
 
Clustering
ClusteringClustering
Clustering
luisfe
 
Gestión del Conocimiento clase 06.pptx
Gestión del Conocimiento clase 06.pptxGestión del Conocimiento clase 06.pptx
Gestión del Conocimiento clase 06.pptx
anatrujillo73
 

Similar a Clustering K-Means (20)

Spss Tutorial 1
Spss Tutorial 1Spss Tutorial 1
Spss Tutorial 1
 
Clustering.ppt
Clustering.pptClustering.ppt
Clustering.ppt
 
T1-AprendizajeAutomatico.pdf
T1-AprendizajeAutomatico.pdfT1-AprendizajeAutomatico.pdf
T1-AprendizajeAutomatico.pdf
 
Aprendizaje no supervisado
Aprendizaje no supervisadoAprendizaje no supervisado
Aprendizaje no supervisado
 
Clustering Reconocimiento De Voz
Clustering Reconocimiento De VozClustering Reconocimiento De Voz
Clustering Reconocimiento De Voz
 
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdfAprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
Aprendizaje automático I - Tema 6 Aprendizaje Automático K-Means.pdf
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas Difusos
 
Cluster No Jerarquico
Cluster No JerarquicoCluster No Jerarquico
Cluster No Jerarquico
 
Cluster No Jerarquico
Cluster No JerarquicoCluster No Jerarquico
Cluster No Jerarquico
 
analisis de conglomerados prctica en spss
analisis de conglomerados prctica en spssanalisis de conglomerados prctica en spss
analisis de conglomerados prctica en spss
 
Clustering
ClusteringClustering
Clustering
 
Clustering
ClusteringClustering
Clustering
 
Técnicas de análisis: Clustering
Técnicas de análisis: ClusteringTécnicas de análisis: Clustering
Técnicas de análisis: Clustering
 
Métricas orientadas a la clase
Métricas orientadas a la claseMétricas orientadas a la clase
Métricas orientadas a la clase
 
Clustering Jerárquico
Clustering JerárquicoClustering Jerárquico
Clustering Jerárquico
 
Introducción a ciencia de datos para ingenieros en software
Introducción a ciencia de datos para ingenieros en softwareIntroducción a ciencia de datos para ingenieros en software
Introducción a ciencia de datos para ingenieros en software
 
Gestión del Conocimiento clase 06.pptx
Gestión del Conocimiento clase 06.pptxGestión del Conocimiento clase 06.pptx
Gestión del Conocimiento clase 06.pptx
 
Clasificador_minima_distancia_aplicada.ppt
Clasificador_minima_distancia_aplicada.pptClasificador_minima_distancia_aplicada.ppt
Clasificador_minima_distancia_aplicada.ppt
 
Clasificador_de_minima_distancia en imagenes.ppt
Clasificador_de_minima_distancia en  imagenes.pptClasificador_de_minima_distancia en  imagenes.ppt
Clasificador_de_minima_distancia en imagenes.ppt
 
Clasificadores Bayesianos: De datos a Conceptos
Clasificadores Bayesianos: De datos a ConceptosClasificadores Bayesianos: De datos a Conceptos
Clasificadores Bayesianos: De datos a Conceptos
 

Último

Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
OBSERVATORIOREGIONAL
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
IrapuatoCmovamos
 

Último (20)

Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
max-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxmax-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptx
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdfSEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
 
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
Unidad 6 estadística 2011  TABLA DE FRECUENCIAUnidad 6 estadística 2011  TABLA DE FRECUENCIA
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificación
 

Clustering K-Means

  • 1. Método de las K-Medias Clustering No Jerárquico 1 IT PhD Rocío Chávez rociochavezml.com
  • 2. Temas - Algoritmo K-Means - Ventajas y Desventajas - Algunas variantes del K-Means - Algunas técnicas para determinar la cantidad de clusters - Cohesión y separación de Clusters - Acciones previas al análisis con k-Means - Diferentes formas de inicializar el algoritmo - Ejemplo numérico con centroides iniciales cercanos - Ejemplo numérico con centroides iniciales alejados rociochavezml.com
  • 3. SEGMENTACIÓN DE CLIENTES PARA CAMPAÑAS DE MARKETING DETECCIÓN DE GENES QUE SE COMPORTAN DE LA MISMA MANERA ANÁLISIS DE RELACIONES EN LAS REDES SOCIALES AGRUPACIÓN DE DOCUMENTOS RECOMENDACIONES MUSICALES O DE CONTENIDOS Usos del Aprendizaje No Supervisado rociochavezml.com
  • 4. Clustering K-Means 4 Método no supervisado que sirve para hacer agrupaciones de objetos o individuos en base a la similitud de sus características Se busca formar clusters compactos y bien definidos rociochavezml.com
  • 5. Ventajas Es fácil de implementar Es útil cuando queremos segmentar grandes volúmenes de datos (Cuando se trata de big data se utilizan variantes como el Mini-Batch K-Means) Computacionalmente es menos costoso que el clustering Jerárquico Ha sido ampliamente utilizado en bases de datos reales con buenos resultados 5rociochavezml.com
  • 6. Desventajas Necesitamos conocer de antemano la cantidad de clusters a formar Debido a que crea los grupos en base a las distancias entre los individuos, solamente maneja variables numéricas. La calidad de los clusters depende en gran medida de los valores con los que se inicializa el algoritmo Puede ser que se obtenga un resultado que sea óptimo localmente pero no globalmente El resultado se vé muy afectado por los outliers 6rociochavezml.com
  • 7. Cómo afectan los Outliers? 7 Con Outliers Sin Outliers rociochavezml.com
  • 8. Óptimos Locales vs. Globales 8 Imagen tomada de Fränti, P., & Sieranoja, S. (2019). How much can k-means be improved by using better initialization and repeats?. Pattern Recognition, 93, 95-112. rociochavezml.com
  • 9. Algunas Variantes de K-Means K-Modas: - Utiliza modas en lugar de medias - Maneja Variables Categóricas K-Medoids: - Es más robusto al ruido y a los valores atípicos - En lugar de utilizar centroides, utiliza individuos que se encuentran más centrados con respecto al cluster (medianas) Mini-Batch K-Means: Utilizado en Big Data - Divide las bases de datos en subconjuntos que se van procesando en cada paso del algoritmo 9rociochavezml.com
  • 10. Cuando No es óptimo K-Means? 10 Para más información visita https://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html Clusters de diferentes tamaños, formas y densidades rociochavezml.com
  • 11. Cohesión y Separación de Clusters 11 Cohesión Separación Mide la cohesión que hay en los clusters, es decir, distancia que hay entre un individuo y los demás individuos que se encuentran en un mismo cluster (Distancia Intra-Cluster) Mide la distancia que hay entre individuos se encuentran en clusters diferentes. (Distancia Inter-Cluster) rociochavezml.com
  • 12. Criterio de la Inercia 12 Imagen tomada de: http://www.diegocalvo.es/analisis-cluster-no-jerarquico-k-means-en-r/ rociochavezml.com
  • 13. Centro de Gravedad Total 13 𝑔 = 1 𝑛 𝑖=1 𝑛 𝑥𝑖 En donde: 𝑥𝑖 = Es el vector del i-ésimo individuo Promedio vectorial de todos los individuos Centro de Gravedad Total 𝑛 = Cantidad de individuos 𝑔 rociochavezml.com
  • 14. Inercia Total 14 En donde: 𝑥𝑖 = Es el vector del i-ésimo individuo Promedio de las distancias que hay entre los individuos y el centro de gravedad total InerciaTotal 𝐼 = 1 𝑛 𝑖=1 𝑛 ||𝑥𝑖 − 𝑔||2 𝑔 = Centro de gravedad total 𝑛 = Cantidad de individuos rociochavezml.com
  • 15. Centro de Gravedad De un Cluster 15 Centro de Gravedad de un Cluster En donde: 𝑥𝑖 = Es el vector del i-ésimo individuo 𝑘 = Es el número de Clusters 𝑔 𝑘 = 1 |𝐶 𝑘| 𝑖∈𝐶 𝑘 𝑥𝑖 Promedio vectorial de los individuos que pertenecen a un cluster |𝐶 𝑘| = Cantidad de individuos contenidos en el k-ésimo cluster rociochavezml.com
  • 16. Inercia Inter-Clases 16 Inercia Inter-Clases (Between Partitions) En donde: 𝑛 = Cantidad de individuos Promedio de las distancias que hay entre los centros de gravedad de los clusters |𝐶 𝑘| = Cantidad de individuos contenidos en el k-ésimo cluster 𝐵(𝑃) = 𝑘=1 𝑘 |𝐶 𝑘| 𝑛 | 𝑔 𝑘 − 𝑔 |2 𝑔 = Centro de gravedad total 𝑔 𝑘 = Centro de gravedad del k-ésimo Cluster 𝑘 = Es el número de Clusters rociochavezml.com
  • 17. Inercia Intra-Clases 17 Inercia Intra-Clases (Within Partitions) En donde: Promedio de las distancias que hay entre los individuos y el centro de gravedad del cluster al que pertenecen 𝑊 𝑃 = 1 𝑛 𝑘=1 𝑘 𝑖∈𝐶 𝑘 | 𝑥𝑖 − 𝑔 𝑘 |2 𝑛 = Cantidad de individuos 𝑔 𝑘 = Centro de gravedad del k-ésimo Cluster 𝑘 = Es el número de Clusters 𝑥𝑖 = Es el vector del i-ésimo individuo 𝐶 𝑘 = Es el k-ésimo cluster rociochavezml.com
  • 18. Igualdad de Fisher 18 𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝑇𝑜𝑡𝑎𝑙 = 𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝐼𝑛𝑡𝑒𝑟𝑐𝑙𝑎𝑠𝑒𝑠 + 𝐼𝑛𝑒𝑟𝑐𝑖𝑎 𝐼𝑛𝑡𝑟𝑎𝐶𝑙𝑎𝑠𝑒𝑠 𝐼 = 𝐵(𝑃) + 𝑊(𝑃) Imagen tomada de: http://www.diegocalvo.es/analisis-cluster-no-jerarquico-k-means-en-r/ rociochavezml.com
  • 19. Acciones Previas para K-Means - Remover Outliers - Normalizar valores en caso de que estos no sean comparables - Determinar la cantidad de Clusters a formar 19rociochavezml.com
  • 20. Normalización de Valores 20 Valores Sin Normalizar Valores Normalizados rociochavezml.com
  • 21. 21 La cantidad de clusters a crear puede depender entre otras cosas de: Cantidad de Clusters a crear La estrategia del negocio Las limitaciones del sistema que estamos analizando Técnicas de validación de clusters Sin información previa: rociochavezml.com
  • 22. 22 ANALISIS DE COMPONENTES PRINCIPALES Visualización de los datos Valores Normalizados rociochavezml.com
  • 23. 23 Codo de Jambú Coeficiente de Silueta Indice de Dunn Técnicas para Determinar la cantidad de Clusters Aplicar Clustering Jerárquico a una muestra tomada aleatoriamente Davies-Bouldin Index rociochavezml.com
  • 26. 26 Coeficiente de Silueta Clusters 2 y 3 rociochavezml.com
  • 27. 27 Coeficiente de Silueta Clusters 2 y 3 10 8 16 13 12 9 14 11 17 18 15 5 7 4 3 6 1 2 Silhouette width si 0.0 0.2 0.4 0.6 0.8 1.0 Silhouette plot of (x = k3$cluster, dist = distancias.Ejemplo_est) Average silhouette width : 0.45 n = 18 3 clusters Cj j : nj | avei Cj si 1 : 7 | 0.41 2 : 6 | 0.50 3 : 5 | 0.45 13 9 16 11 18 14 15 17 7 12 10 3 8 6 5 1 4 2 Silhouette width si 0.0 0.2 0.4 0.6 0.8 1.0 Silhouette plot of (x = k2$cluster, dist = distancias.Ejemplo_es Average silhouette width : 0.36 n = 18 2 clusters Cj j : nj | avei Cj si 1 : 10 | 0.40 2 : 8 | 0.30 Este elemento se encuentra en el límite entre los dos clusters rociochavezml.com
  • 31. 31 Cuando no existe ni cohesión ni separación grandes rociochavezml.com
  • 32. 32 Pasos del Algoritmo K-Means y Tres Formas Diferentes de Inicializarlo rociochavezml.com
  • 33. Clustering K-Means Pasos del Método K-Means Inicialización 1 33 3) Asignar a cada individuo el número de cluster cuyo centroide esté más cercano 2) Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. 1) Asignar aleatoriamente un número de cluster a cada individuo. Se repiten los pasos 2 y 3 hasta que se cumpla el criterio de convergencia del algoritmo Imagen tomada de: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013. rociochavezml.com
  • 34. Clustering K-Means Pasos del Método K-Means Inicialización 2 34 4) Re-asignar a cada individuo el número de cluster cuyo centroide esté más cercano 2) Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. 1) Asignar aleatoriamente k individuos para que sean los centroides de los clusters a formar. Se repiten los pasos 3 y 4 hasta que se cumpla el criterio de convergencia del algoritmo 3) Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. rociochavezml.com
  • 35. Clustering K-Means Pasos del Método K-Means Inicialización 3 35 4) Re-asignar a cada individuo el número de cluster cuyo centroide esté más cercano 2) Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. 1) Asignar k individuos para que sean los centroides de los clusters a formar utilizando el método k-means++ Se repiten los pasos 3 y 4 hasta que se cumpla el criterio de convergencia del algoritmo 3) Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. rociochavezml.com
  • 36. 36 Imágenes tomadas de https://www.analyticsvidhya.com/blog/2019/08/comprehensive-guide-k-means- clustering/#k-means-clustering-python-code Datos a Agrupar Primer Centroide Segundo Centroide Tercer Centroide Distancias entre los puntos y el centroide Distancias entre cada punto y su centroide más cercano Asignando los centroides con K-Means++ rociochavezml.com
  • 37. Criterios de Convergencia 37 2) El valor de la inercia intra-clases es menor a un valor de tolerancia dado 1) Los individuos ya no son reasignados a otro cluster 3) Se lleva a cabo una cantidad determinada de iteraciones rociochavezml.com
  • 38. 38 Ejemplos Numéricos Inicializaciones 2 y 3 del Algoritmo K-Means rociochavezml.com
  • 40. 40 Ejemplo Numérico Inicialización 2 del Algoritmo K-Means rociochavezml.com
  • 41. 41 Asignación de Centroides Asignar aleatoriamente k individuos para que sean los centroides de los clusters a formar. Paso 1 del Algoritmo rociochavezml.com
  • 42. 42 Distancia Euclidea entre el Individuo 1 y los 3 Centroides asignados aleatoriamente Distancia a los centroides Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. Paso 2 del Algoritmo rociochavezml.com
  • 43. 43 Distancia entre cada Individuo y los 3 Centroides asignados aleatoriamente Cálculo de Distancias Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. Paso 2 del Algoritmo (Cont) rociochavezml.com
  • 44. 44 Asignando a cada Individuo al centroide más cercano Asignación de Clusters Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. Paso 2 del Algoritmo (Cont) rociochavezml.com
  • 45. 45 Cálculo de Centroides Paso 3 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. rociochavezml.com
  • 46. 46 Reasignando a cada Individuo al centroide más cercano Calculo de Distancias y Asignación Paso 4 del Algoritmo Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 47. 47 Reasignando a cada Individuo al centroide más cercano Asignación de Clusters Paso 4 del Algoritmo (Cont.) Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 48. 48 Calculo de Distancias y Asignación Pasos 3 y 4 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características y reasignar los clusters rociochavezml.com
  • 49. 49 Reasignando a cada Individuo al centroide más cercano Asignación de Clusters Paso 4 del Algoritmo (Cont.) Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 50. 50 Ejemplo Numérico Inicialización 3 del Algoritmo K-Means rociochavezml.com
  • 51. 51 Utilizando centroides iniciales alejados Cálculo de Distancias Asignar k individuos para que sean los centroides de los clusters a formar utilizando el método k- means++ Paso 1 del Algoritmo rociochavezml.com
  • 52. 52 Distancia entre cada Individuo y los 3 Centroides asignados inicialmente Calculo de Distancias y Asignación Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. Paso 2 del Algoritmo rociochavezml.com
  • 53. 53 Asignando a cada Individuo al centroide más cercano Asignación de Clusters Calcular las distancias entre cada uno de los individuos restantes y los k centroides asignados aleatoriamente para asignarlos al cluster más cercano. Paso 2 del Algoritmo (Cont) rociochavezml.com
  • 54. 54 Cálculo de Centroides Paso 3 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. Los centroides son el valor promedio de las características de los individuos contenidos en cada cluster rociochavezml.com
  • 55. 55 Reasignando a cada Individuo al centroide más cercano Calculo de Distancias y Asignación Paso 4 del Algoritmo Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 56. 56 Asignación del Cluster Reasignando a cada Individuo al centroide más cercano Paso 4 del Algoritmo (Cont.) Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 57. 57 Cálculo de Centroides Paso 3 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. rociochavezml.com
  • 58. 58 Calculo de Distancias y Asignación Pasos 3 y 4 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características y reasignar los clusters rociochavezml.com
  • 59. 59 Reasignando a cada Individuo al centroide más cercano Asignación de Clusters Paso 4 del Algoritmo (Cont.) Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 60. 60 Cálculo de Centroides Paso 3 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características. rociochavezml.com
  • 61. 61 Calculo de Distancias y Asignación Pasos 3 y 4 del Algoritmo Calcular los centroides de los clusters, es decir, el valor promedio que tienen los individuos que los conforman, en cada una de las características y reasignar los clusters rociochavezml.com
  • 62. 62 Reasignando a cada Individuo al centroide más cercano Asignación de Clusters Paso 4 del Algoritmo (Cont.) Reasignar a cada individuo el número de cluster cuyo centroide esté más cercano rociochavezml.com
  • 63. 63 Comparando los Clusters Obtenidos Inicialización de centroides Aleatoria Inicialización con centroides Alejados rociochavezml.com