SlideShare una empresa de Scribd logo
1 de 92
Intelligent Databases and Information Systems research group
Department of Computer Science and Artificial Intelligence
E.T.S Ingeniería Informática – Universidad de Granada (Spain)
Fundamentos de Minería de Datos
Clustering
Fernando Berzal
fberzal@decsai.ugr.es
http://elvex.ugr.es/idbis/dm/
1
Clustering
“Sinónimos” según el contexto…
 Clustering (IA)
 Aprendizaje no supervisado (IA)
 Clasificación (Estadística)
 Ordenación (Psicología)
 Segmentación (Marketing)
Introducción
Similitud
Métodos
K-Means
Jerárquicos
Densidad
Otros
Subspace
clustering
Validación
Bibliografía
2
Clustering
 Objetivo
Agrupar objetos similares entre sí que sean distintos a
los objetos de otros agrupamientos [clusters].
 Aprendizaje no supervisado
No existen clases predefinidas
 Los resultados obtenidos dependerán de:
 El algoritmo de agrupamiento seleccionado.
 El conjunto de datos disponible
 La medida de similitud utilizada para comparar
objetos.
Introducción
Similitud
Métodos
K-Means
Jerárquicos
Densidad
Otros
Subspace
clustering
Validación
Bibliografía
3
Clustering
Encontrar agrupamientos de tal forma que los objetos
de un grupo sean similares entre sí y diferentes de los
objetos de otros grupos:
Maximizar
distancia
inter-cluster
Minimizar
distancia
intra-cluster
4
Clustering
Aplicaciones
 Reconocimiento de formas.
 Mapas temáticos (GIS)
 Marketing: Segmentación de clientes
 Clasificación de documentos
 Análisis de web logs (patrones de acceso similares)
 …
Aplicaciones típicas en Data Mining:
 Exploración de datos (segmentación & outliers)
 Preprocesamiento (p.ej. reducción de datos)
5
Clustering
¿Cuál es la forma natural de agrupar los personajes?
Hombres
vs.
Mujeres
6
Clustering
¿Cuál es la forma natural de agrupar los personajes?
Simpsons
vs.
Empleados
de la escuela
de Springfield
7
Clustering
¿Cuál es la forma natural de agrupar los personajes?
¡¡¡ El clustering es subjetivo !!!
8
Medidas de similitud
0.23
3
342.7
Peter Pedro
9
Usualmente, se expresan en términos de distancias:
d(i,j) > d(i,k)
nos indica que el objeto i es más parecido a k que a j
La definición de la métrica de similitud/distancia
será distinta en función del tipo de dato y
de la interpretación semántica que nosotros hagamos.
En otras palabras, la similitud entre objetos es
subjetiva.
Medidas de similitud
10
Medidas de similitud
¿Cuántos
agrupamientos?
¿Cuatro?
¿Dos?
¿Seis?
11
Medidas de similitud
f
f
if
if s
m
x
z


Atributos continuos
Usualmente, se “estandarizan” a priori:
 Desviación absoluta media:
 z-score (medida estandarizada):
.
)
...
2
1
1
nf
f
f
f
x
x
(x
n
m 



|)
|
...
|
|
|
(|
1
2
1 f
nf
f
f
f
f
f
m
x
m
x
m
x
n
s 






12
Métricas de distancia
Distancia de Minkowski
 Distancia de Manhattan (r=1) / city block / taxicab
 Distancia euclídea (r=2):
 Distancia de Chebyshev (r) / dominio / chessboard
Medidas de similitud
13
Métricas de distancia
Distancia de Minkowski
 Distancia de Manhattan = 12
 Distancia Euclídea  8.5
 Distancia de Chebyshev = 6
Medidas de similitud
14
Métricas de distancia
Distancia de Minkowski d(i,j)  0
 Propiedad reflexiva d(i,i) = 0
 Propiedad simétrica d(i,j) = d(j,i)
 Desigualdad triangular d(i,j)  d(i,k)+d(k,j)
Medidas de similitud
15
Métricas de distancia
Distancia de Chebyshev
 También conocida
como distancia de
tablero de ajedrez
(chessboard distance):
Número de
movimientos
que el rey ha de hacer
para llegar de una
casilla a otra en un
tablero de ajedrez.
Medidas de similitud
16
Métricas de distancia
Distancia de Mahalanobis
 Considera las
correlaciones
entre variables.
 No depende de la
escala de medida.
Medidas de similitud
18
Métricas de distancia
Distancia de edición = Distancia de Levenshtein
Número de operaciones necesario
para transformar una cadena en otra.
d(“data mining”, “data minino”) = 1
d(“efecto”, “defecto”) = 1
d(“poda”, “boda”) = 1
d(“night”,”natch”) = d(“natch”,”noche”) = 3
Aplicaciones: Correctores ortográficos, reconocimiento
de voz, detección de plagios, análisis de ADN…
Para datos binarios: Distancia de Hamming
Medidas de similitud
19
Métricas de distancia
Vecinos compartidos
 “Mutual Neighbor Distance”
donde NN(xi,xj) es el número de vecino
de xj con respecto a xi
Medidas de similitud
i j i j
4
20
Medidas de correlación
Producto escalar
 “Cosine similarity”
 Coeficiente de Tanimoto
Medidas de similitud
22
Modelos basados en Teoría de Conjuntos
Modelo de Tversky
 Modelo de Restle
 Intersección
Medidas de similitud
23
Modelos basados en Teoría de Conjuntos
Modelo proporcional
 Modelo de Gregson = Coeficiente de Jaccard
 Distancia de Tanimoto
Medidas de similitud
25
Métodos de agrupamiento
Requisitos del algoritmo “perfecto”
 Escalabilidad
 Manejo de distintos tipos de datos
 Identificación de clusters con formas arbitrarias
 Número mínimo de parámetros
 Tolerancia frente a ruido y outliers
 Independencia con respecto al orden de presentación
de los patrones de entrenamiento
 Posibilidad de trabajar en espacios con muchas
dimensiones diferentes
 Capacidad de incorporar restricciones especificadas por
el usuario (“domain knowledge”)
 Interpretabilidad / Usabilidad
26
Métodos de agrupamiento
Tipos de algoritmos de clustering
 Agrupamiento por particiones
k-Means, CLARANS
 Clustering jerárquico
BIRCH, ROCK, CHAMELEON
 Métodos basados en densidad
DBSCAN
 …
27
Datos agrupados
Métodos de agrupamiento
Clustering por particiones
Datos originales
28
Métodos de agrupamiento
Clustering jerárquico
p4
p1
p3
p2
p4
p1
p3
p2
p4
p1 p2 p3
p4
p1 p2 p3
Tradicional
No tradicional
DENDOGRAMA
29
Métodos de agrupamiento
Métodos basados en densidad
 Un cluster en una región densa de puntos, separada por
regiones poco densas de otras regiones densas.
 Útiles cuando los clusters tienen formas irregulares, están
entrelazados o hay ruido/outliers en los datos.
30
k-Means
Algoritmo de agrupamiento por particiones
(MacQueen, 1967)
 Número de clusters conocido (k)
 Cada cluster tiene asociado un centroide
(centro geométrico del cluster).
 Los puntos se asignan al cluster cuyo centroide esté más
cerca (utilizando cualquier métrica de distancia).
 Iterativamente, se van actualizando los centroides en
función de las asignaciones de puntos a clusters, hasta
que los centroides dejen de cambiar.
 Complejidad O(n*k*I*d)
donde n es el número de datos, k el número de clusters,
I el número de iteraciones y d el número de atributos
31
k-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
32
k-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
33
k-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
34
k-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
35
k-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Óptimo local
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Solución óptima
Puntos originales
36
k-Means
Ejercicio
Agrupar los 8 puntos de la
figura en 3 clusters usando
el algoritmo de las K medias.
Centroides iniciales:
A1, A7 y A8
Métricas de distancia:
 Distancia euclídea
 Distancia de Manhattan
 Distancia de Chebyshev
37
k-Means
Ejercicio resuelto
Distancia euclídea
38
k-Means
Ejercicio resuelto
Distancia euclídea
Primera iteración Segunda iteración
39
k-Means
Ejercicio resuelto
Distancia euclídea
Tercera iteración Configuración final
40
k-Means
DEMO: K-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html
41
k-Means
Ventaja
 Eficiencia O(n·k·I·d)
vs. PAM O(I·k(n-k)2)
CLARA O(ks2+k(n-k))
Desventajas
 Termina en un óptimo local:
El resultado depende de la selección inicial de centroides.
 Necesidad de conocer el número de agrupamientos k
 Incapacidad para detectar ruido / identificar outliers.
 No resulta adecuado para detectar clusters no convexos
 Si tenemos datos de tipo categórico,
¿cómo calculamos la media?
42
k-Means
Clusters de
distinto tamaño
Clusters de
distinta densidad
Clusters
no convexos
43
k-Means
Variantes
 GRASP [Greedy Randomized Adaptive Search Procedure]
para evitar óptimos locales.
 k-Modes (Huang’1998) utiliza modas en vez de medias
(para poder trabajar con atributos de tipo categórico).
 k-Medoids utiliza medianas en vez de medias para
limitar la influencia de los outliers
vg. PAM (Partitioning Around Medoids, 1987)
CLARA (Clustering LARge Applications, 1990)
CLARANS (CLARA + Randomized Search, 1994)
44
k-Means
DEMO: Fuzzy C-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletFCM.html
45
Clustering jerárquico
DENDROGRAMA: La similitud entre dos objetos viene
dada por la “altura” del nodo común más cercano.
46
Clustering jerárquico
El DENDROGRAMA nos puede ayudar a determinar el
número adecuado de agrupamientos (aunque
normalmente no será tan fácil).
47
Clustering jerárquico
El DENDROGRAMA
también nos puede servir para detectar outliers.
Outlier
48
Clustering jerárquico
En lugar de establecer de antemano el número de
clusters, tenemos que definir un criterio de parada
0 1 2 3 4
b
d
c
e
a
a b
d e
c d e
a b c d e
4 3 2 1 0
aglomerativo
(AGNES)
AGglomerative NESting
divisivo
(DIANA)
Divisive ANAlysis
49
Clustering jerárquico
¿Cómo medir la distancia entre clusters?
 MIN
single-link
 MAX
complete
linkage
(diameter)
50
Clustering jerárquico
¿Cómo medir la distancia entre clusters?
 Promedio
 Centroides
p.ej. BIRCH
 
51
Clustering jerárquico
Ejercicio
Utilizar un algoritmo aglomerativo de clustering jerárquico para agrupar
los datos descritos por la siguiente matriz de distancias:
Variantes:
 Single-link (mínima distancia entre agrupamientos)
 Complete-link (máxima distancia entre agrupamientos)
52
Clustering jerárquico
Ejercicio resuelto
Single-link
Complete-link
53
Clustering jerárquico
DEMO: Algoritmo aglomerativo
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html
54
Clustering jerárquico
Datos sintéticos (4 clusters): Single-link
55
Clustering jerárquico
Datos sintéticos (4 clusters): Complete-link
56
Clustering jerárquico
Datos sintéticos (aleatorios): Single-link
57
Clustering jerárquico
Datos sintéticos (aleatorios): Complete-link
58
Clustering jerárquico
Principal inconveniente del clustering jerárquico:
Baja escalabilidad ≥ O(n2)
Algoritmos “escalables”:
 BIRCH: Balanced Iterative Reducing and Clustering using
Hierarchies (Zhang, Ramakrishnan & Livny, SIGMOD’1996)
 ROCK: RObust Clustering using linKs
(Guha, Rastogi & Shim, ICDE’1999)
 CURE: Clustering Using REpresentatives
(Guha, Rastogi & Shim, SIGMOD’1998)
 CHAMELEON: Hierarchical Clustering Using Dynamic
Modeling (Karypis, Han & Kumar, 1999)
59
Clustering jerárquico
CURE
60
Clustering jerárquico
Agrupamientos
con distintas
densidades
CURE
61
Clustering jerárquico
CHAMELEON
Partición del grafo
Combinar
particiones
Clusters finales
62
Clustering jerárquico
CHAMELEON
63
Density-based Clustering
Criterio de agrupamiento local:
Densidad de puntos
Región densas de puntos separadas
de otras regiones densas por regiones poco densas
Características
 Identifica clusters de formas arbitrarias.
 Robusto ante la presencia de ruido
 Escalable: Un único recorrido del conjunto de datos
64
Density-based Clustering
Algoritmos
 DBSCAN: Density Based Spatial Clustering of
Applications with Noise (Ester et al., KDD’1996)
 OPTICS: Ordering Points To Identify the Clustering
Structure (Ankerst et al. SIGMOD’1999)
 DENCLUE: DENsity-based CLUstEring
(Hinneburg & Keim, KDD’1998)
 CLIQUE: Clustering in QUEst
(Agrawal et al., SIGMOD’1998)
 SNN (Shared Nearest Neighbor) density-based clustering
(Ertöz, Steinbach & Kumar, SDM’2003)
65
Density-based Clustering
Ejercicio
Agrupar los 8 puntos
de la figura utilizando
el algoritmo DBSCAN.
Número mínimo de puntos
en el “vecindario”:
MinPts = 2
Radio del “vecindario”:
Epsilon 
66
Density-based Clustering
Ejercicio resuelto
Distancia euclídea
67
Density-based Clustering
Ejercicio resuelto Epsilon =
A1, A2 y A7 no tienen vecinos en su vecindario,
por lo que se consideran “outliers” (no están en zonas densas):
68
Density-based Clustering
Ejercicio resuelto Epsilon =
Al aumentar el valor del parámetro Epsilon,
el vecindario de los puntos aumenta y todos quedan agrupados:
69
Density-based Clustering
DEMO: DBSCAN et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
70
Density-based Clustering
DBSCAN … cuando funciona bien
Clusters
71
Density-based Clustering
DBSCAN sensible al valor inicial de sus parámetros
72
Density-based Clustering
SNN density-based clustering… O(n2)
i j i j
4
73
Grids multiresolución
Otros métodos
74
Grids multiresolución
 STING, a STatistical INformation Grid approach
(Wang, Yang & Muntz, VLDB’1997)
 WaveCluster, basado en wavelets
(Sheikholeslami, Chatterjee & Zhang, VLDB’1998)
 CLIQUE: CLustering In QUEst
(Agrawal et al., SIGMOD’1998)
Otros métodos
75
Clustering basado en modelos
Ajustar los datos a un modelo matemático
Se supone que los datos provienen de la superposición
de varias distribuciones de probabilidad.
Algoritmos
 Estadística:
EM [Expectation Maximization], AutoClass
 Clustering conceptual (Machine Learning):
COBWEB, CLASSIT
 Redes neuronales:
SOM [Self-Organizing Maps]
Otros métodos
76
Clustering con restricciones
p.ej. Clustering con obstáculos
Posibles aplicaciones:
Distribución de cajeros automáticos/supermercados…
Otros métodos
77
Subspace clustering
La dimensionalidad de los datos
¿Por qué es un problema?
 Los datos en una dimensión están relativamente cerca
 Al añadir una nueva dimensión, los datos se alejan.
 Cuando tenemos muchas dimensiones, las medidas de
distancia no son útiles (“equidistancia”).
78
Subspace clustering
La dimensionalidad de los datos
Soluciones
 Transformación de características (PCA, SVD)
útil sólo si existe correlación/redundancia
 Selección de características (wrapper/filter)
útil si se pueden encontrar clusters en subespacios
 “Subspace clustering”
Buscar clusters en todos los subespacios posibles.
vg. CLIQUE (Agrawal et al., SIGMOD’1998)
79
Subspace clustering
80
Subspace clustering
81
Subspace clustering
DEMO: CLIQUE et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
82
Validación
¿Cómo se puede evaluar
la calidad de los clusters obtenidos?
Depende de lo que estemos buscando…
Hay situaciones en las que nos interesa:
 Evitar descubrir clusters donde sólo hay ruido.
 Comparar dos conjuntos de clusters alternativos.
 Comparar dos técnicas de agrupamiento
83
Validación
 Criterios externos
(aportando información adicional)
p.ej. entropía/pureza (como en clasificación)
 Criterios internos
(a partir de los propios datos),
p.ej. SSE (“Sum of Squared Error”)
 para comparar clusters
 para estimar el número de clusters
Otras medidas:
cohesión, separación, coeficientes de silueta…
84
Validación
¿Cuál es el número adecuado de agrupamientos?
p.ej. SSE (“Sum of Squared Error”)
k = 1 k = 2 k = 3
J = 873.0 J = 173.1 J = 133.6
85
Validación
¿Cuál es el número adecuado de agrupamientos?
p.ej. SSE (“Sum of Squared Error”)
El codo en k=2 sugiere que éste es el valor
adecuado para el número de agrupamientos.
0.00E+00
1.00E+02
2.00E+02
3.00E+02
4.00E+02
5.00E+02
6.00E+02
7.00E+02
8.00E+02
9.00E+02
1.00E+03
1 2 3 4 5 6
k
J
86
Validación
2 5 10 15 20 25 30
0
1
2
3
4
5
6
7
8
9
10
K
SSE
5 10 15
-6
-4
-2
0
2
4
6
87
Validación
1
2
3
5
6
4
7
88
Validación
Matriz de similitud
Ordenamos los datos en la matriz de similitud con
respecto a los clusters en los que quedan los datos e
inspeccionamos visualmente…
0 0.2 0.4 0.6 0.8 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Points
Points 20 40 60 80 100
10
20
30
40
50
60
70
80
90
100
Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
89
Validación
0 0.2 0.4 0.6 0.8 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Points
Points
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100
Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Matriz de similitud
Clusters en datos aleatorios
(DBSCAN y k-Means)
Points
Points
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100
Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
90
Validación
Matriz de similitud
DBSCAN
1
2
3
5
6
4
7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
500 1000 1500 2000 2500 3000
500
1000
1500
2000
2500
3000
91
Bibliografía
 R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan. Automatic subspace
clustering of high dimensional data for data mining applications.
SIGMOD'98
 M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander. Optics: Ordering
points to identify the clustering structure, SIGMOD’99.
 L. Ertöz, M. Steinbach, and V. Kumar. Finding clusters of different sizes,
shapes, and densities in noisy, high-dimensional data, SDM’2003
 M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for
discovering clusters in large spatial databases. KDD'96.
 D. Fisher. Knowledge acquisition via incremental conceptual
clustering. Machine Learning, 2:139-172, 1987.
 D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An
approach based on dynamic systems. VLDB’98
 S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering algorithm
for large databases. SIGMOD'98.
 S. Guha, R. Rastogi, and K. Shim. ROCK: A robust clustering algorithm for
categorical attributes. In ICDE'99, Sydney, Australia, March 1999.
92
Bibliografía
 A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in Large
Multimedia Databases with Noise. KDD’98.
 G. Karypis, E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical
Clustering Algorithm Using Dynamic Modeling. COMPUTER, 32(8): 68-
75, 1999.
 L. Parsons, E. Haque and H. Liu, Subspace Clustering for High
Dimensional Data: A Review , SIGKDD Explorations, 6(1), June 2004
 G. Sheikholeslami, S. Chatterjee, and A. Zhang. WaveCluster: A multi-
resolution clustering approach for very large spatial databases.
VLDB’98.
 A. K. H. Tung, J. Hou, and J. Han. Spatial Clustering in the Presence of
Obstacles , ICDE'01
 H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern similarity
in large data sets, SIGMOD’ 02.
 W. Wang, Yang, R. Muntz, STING: A Statistical Information grid
Approach to Spatial Data Mining, VLDB’97.
 T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data
clustering method for very large databases. SIGMOD'96.
93
Créditos
 Jiawei Han (University of Illinois at Urbana-
Champaign): “Data Mining: Concepts and Techniques”,
capítulo 7, 2006
 Pang-Ning Tan (Michigan State University), Michael
Steinbach & Vipin Kumar (University of Minnesota):
“Introduction to Data Mining”, capítulos 8 y 9, 2006
94
Apéndice: Notación O
El impacto de la eficiencia de un algoritmo…
n 10 100 1000 10000 100000
O(n) 10ms 0.1s 1s 10s 100s
O(n·log2 n) 33ms 0.7s 10s 2 min 28 min
O(n2) 100ms 10s 17 min 28 horas 115 días
O(n3) 1s 17min 12 días 31 años 32 milenios

Más contenido relacionado

La actualidad más candente

알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개Young-Min kang
 
K-means clustering algorithm
K-means clustering algorithmK-means clustering algorithm
K-means clustering algorithmVinit Dantkale
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
Transformer xl
Transformer xlTransformer xl
Transformer xlSan Kim
 
Feature Engineering for NLP
Feature Engineering for NLPFeature Engineering for NLP
Feature Engineering for NLPBill Liu
 
Kernels and Support Vector Machines
Kernels and Support Vector  MachinesKernels and Support Vector  Machines
Kernels and Support Vector MachinesEdgar Marca
 
Machine Learning - Ensemble Methods
Machine Learning - Ensemble MethodsMachine Learning - Ensemble Methods
Machine Learning - Ensemble MethodsAndrew Ferlitsch
 
Cure, Clustering Algorithm
Cure, Clustering AlgorithmCure, Clustering Algorithm
Cure, Clustering AlgorithmLino Possamai
 
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hakky St
 
CNN Machine learning DeepLearning
CNN Machine learning DeepLearningCNN Machine learning DeepLearning
CNN Machine learning DeepLearningAbhishek Sharma
 
Parallel Programming for Multi- Core and Cluster Systems - Performance Analysis
Parallel Programming for Multi- Core and Cluster Systems - Performance AnalysisParallel Programming for Multi- Core and Cluster Systems - Performance Analysis
Parallel Programming for Multi- Core and Cluster Systems - Performance AnalysisShah Zaib
 
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...Simplilearn
 
Introduction to Grad-CAM (complete version)
Introduction to Grad-CAM (complete version)Introduction to Grad-CAM (complete version)
Introduction to Grad-CAM (complete version)Hsing-chuan Hsieh
 
Classification
ClassificationClassification
ClassificationCloudxLab
 
Supervised learning
Supervised learningSupervised learning
Supervised learningankit_ppt
 

La actualidad más candente (20)

알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개
 
K-means clustering algorithm
K-means clustering algorithmK-means clustering algorithm
K-means clustering algorithm
 
Ejercicio K-Means
Ejercicio K-MeansEjercicio K-Means
Ejercicio K-Means
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
Transformer xl
Transformer xlTransformer xl
Transformer xl
 
Feature Engineering for NLP
Feature Engineering for NLPFeature Engineering for NLP
Feature Engineering for NLP
 
Blenderbot
BlenderbotBlenderbot
Blenderbot
 
Kernels and Support Vector Machines
Kernels and Support Vector  MachinesKernels and Support Vector  Machines
Kernels and Support Vector Machines
 
Machine Learning - Ensemble Methods
Machine Learning - Ensemble MethodsMachine Learning - Ensemble Methods
Machine Learning - Ensemble Methods
 
Cure, Clustering Algorithm
Cure, Clustering AlgorithmCure, Clustering Algorithm
Cure, Clustering Algorithm
 
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
 
CNN Machine learning DeepLearning
CNN Machine learning DeepLearningCNN Machine learning DeepLearning
CNN Machine learning DeepLearning
 
Parallel Programming for Multi- Core and Cluster Systems - Performance Analysis
Parallel Programming for Multi- Core and Cluster Systems - Performance AnalysisParallel Programming for Multi- Core and Cluster Systems - Performance Analysis
Parallel Programming for Multi- Core and Cluster Systems - Performance Analysis
 
Word2Vec
Word2VecWord2Vec
Word2Vec
 
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...
K Means Clustering Algorithm | K Means Clustering Example | Machine Learning ...
 
KNN
KNNKNN
KNN
 
Introduction to Grad-CAM (complete version)
Introduction to Grad-CAM (complete version)Introduction to Grad-CAM (complete version)
Introduction to Grad-CAM (complete version)
 
Classification
ClassificationClassification
Classification
 
Supervised learning
Supervised learningSupervised learning
Supervised learning
 

Similar a Clustering.ppt

Clustering
ClusteringClustering
Clusteringluisfe
 
Clustering
ClusteringClustering
Clusteringluisfe
 
ANÁLISIS DE CLUSTERS (CLUSTERING)
ANÁLISIS DE CLUSTERS (CLUSTERING)ANÁLISIS DE CLUSTERS (CLUSTERING)
ANÁLISIS DE CLUSTERS (CLUSTERING)Raquel Solano
 
Aprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y AplicacionesAprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y AplicacionesEdgar Marca
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosESCOM
 
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdf
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdfCálculo Integral - Wilton Oltmanns - 1ra Edición.pdf
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdfssuserf46a26
 
Spss Tutorial 1
Spss Tutorial 1Spss Tutorial 1
Spss Tutorial 1vinod
 
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.pptjosephcruz74484
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzadaMaestros Online
 
analisis de conglomerados prctica en spss
analisis de conglomerados prctica en spssanalisis de conglomerados prctica en spss
analisis de conglomerados prctica en spssjosephcruz74484
 
Agrupamiento Kmeans
Agrupamiento KmeansAgrupamiento Kmeans
Agrupamiento KmeansOmar Sanchez
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretassergio
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretasguest553c2e
 

Similar a Clustering.ppt (20)

Clustering
ClusteringClustering
Clustering
 
Clustering
ClusteringClustering
Clustering
 
Sistemas Difusos
Sistemas DifusosSistemas Difusos
Sistemas Difusos
 
ANÁLISIS DE CLUSTERS (CLUSTERING)
ANÁLISIS DE CLUSTERS (CLUSTERING)ANÁLISIS DE CLUSTERS (CLUSTERING)
ANÁLISIS DE CLUSTERS (CLUSTERING)
 
Aprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y AplicacionesAprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y Aplicaciones
 
T1-AprendizajeAutomatico.pdf
T1-AprendizajeAutomatico.pdfT1-AprendizajeAutomatico.pdf
T1-AprendizajeAutomatico.pdf
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas Difusos
 
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdf
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdfCálculo Integral - Wilton Oltmanns - 1ra Edición.pdf
Cálculo Integral - Wilton Oltmanns - 1ra Edición.pdf
 
Spss Tutorial 1
Spss Tutorial 1Spss Tutorial 1
Spss Tutorial 1
 
INTERPOLACIÓN.pdf
INTERPOLACIÓN.pdfINTERPOLACIÓN.pdf
INTERPOLACIÓN.pdf
 
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
 
numerosAleatorios.pptx
numerosAleatorios.pptxnumerosAleatorios.pptx
numerosAleatorios.pptx
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
analisis de conglomerados prctica en spss
analisis de conglomerados prctica en spssanalisis de conglomerados prctica en spss
analisis de conglomerados prctica en spss
 
Raices deecuaciones
Raices deecuacionesRaices deecuaciones
Raices deecuaciones
 
Agrupamiento Kmeans
Agrupamiento KmeansAgrupamiento Kmeans
Agrupamiento Kmeans
 
Biogeografía histórica y Análisis de Vicarianza: Una perspectiva computacional
Biogeografía histórica y Análisis de Vicarianza: Una perspectiva computacionalBiogeografía histórica y Análisis de Vicarianza: Una perspectiva computacional
Biogeografía histórica y Análisis de Vicarianza: Una perspectiva computacional
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 

Último

Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASenriquezerly87
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347vd110501
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptxEfrain Yungan
 

Último (20)

Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
 

Clustering.ppt

  • 1. Intelligent Databases and Information Systems research group Department of Computer Science and Artificial Intelligence E.T.S Ingeniería Informática – Universidad de Granada (Spain) Fundamentos de Minería de Datos Clustering Fernando Berzal fberzal@decsai.ugr.es http://elvex.ugr.es/idbis/dm/
  • 2. 1 Clustering “Sinónimos” según el contexto…  Clustering (IA)  Aprendizaje no supervisado (IA)  Clasificación (Estadística)  Ordenación (Psicología)  Segmentación (Marketing) Introducción Similitud Métodos K-Means Jerárquicos Densidad Otros Subspace clustering Validación Bibliografía
  • 3. 2 Clustering  Objetivo Agrupar objetos similares entre sí que sean distintos a los objetos de otros agrupamientos [clusters].  Aprendizaje no supervisado No existen clases predefinidas  Los resultados obtenidos dependerán de:  El algoritmo de agrupamiento seleccionado.  El conjunto de datos disponible  La medida de similitud utilizada para comparar objetos. Introducción Similitud Métodos K-Means Jerárquicos Densidad Otros Subspace clustering Validación Bibliografía
  • 4. 3 Clustering Encontrar agrupamientos de tal forma que los objetos de un grupo sean similares entre sí y diferentes de los objetos de otros grupos: Maximizar distancia inter-cluster Minimizar distancia intra-cluster
  • 5. 4 Clustering Aplicaciones  Reconocimiento de formas.  Mapas temáticos (GIS)  Marketing: Segmentación de clientes  Clasificación de documentos  Análisis de web logs (patrones de acceso similares)  … Aplicaciones típicas en Data Mining:  Exploración de datos (segmentación & outliers)  Preprocesamiento (p.ej. reducción de datos)
  • 6. 5 Clustering ¿Cuál es la forma natural de agrupar los personajes? Hombres vs. Mujeres
  • 7. 6 Clustering ¿Cuál es la forma natural de agrupar los personajes? Simpsons vs. Empleados de la escuela de Springfield
  • 8. 7 Clustering ¿Cuál es la forma natural de agrupar los personajes? ¡¡¡ El clustering es subjetivo !!!
  • 10. 9 Usualmente, se expresan en términos de distancias: d(i,j) > d(i,k) nos indica que el objeto i es más parecido a k que a j La definición de la métrica de similitud/distancia será distinta en función del tipo de dato y de la interpretación semántica que nosotros hagamos. En otras palabras, la similitud entre objetos es subjetiva. Medidas de similitud
  • 12. 11 Medidas de similitud f f if if s m x z   Atributos continuos Usualmente, se “estandarizan” a priori:  Desviación absoluta media:  z-score (medida estandarizada): . ) ... 2 1 1 nf f f f x x (x n m     |) | ... | | | (| 1 2 1 f nf f f f f f m x m x m x n s       
  • 13. 12 Métricas de distancia Distancia de Minkowski  Distancia de Manhattan (r=1) / city block / taxicab  Distancia euclídea (r=2):  Distancia de Chebyshev (r) / dominio / chessboard Medidas de similitud
  • 14. 13 Métricas de distancia Distancia de Minkowski  Distancia de Manhattan = 12  Distancia Euclídea  8.5  Distancia de Chebyshev = 6 Medidas de similitud
  • 15. 14 Métricas de distancia Distancia de Minkowski d(i,j)  0  Propiedad reflexiva d(i,i) = 0  Propiedad simétrica d(i,j) = d(j,i)  Desigualdad triangular d(i,j)  d(i,k)+d(k,j) Medidas de similitud
  • 16. 15 Métricas de distancia Distancia de Chebyshev  También conocida como distancia de tablero de ajedrez (chessboard distance): Número de movimientos que el rey ha de hacer para llegar de una casilla a otra en un tablero de ajedrez. Medidas de similitud
  • 17. 16 Métricas de distancia Distancia de Mahalanobis  Considera las correlaciones entre variables.  No depende de la escala de medida. Medidas de similitud
  • 18. 18 Métricas de distancia Distancia de edición = Distancia de Levenshtein Número de operaciones necesario para transformar una cadena en otra. d(“data mining”, “data minino”) = 1 d(“efecto”, “defecto”) = 1 d(“poda”, “boda”) = 1 d(“night”,”natch”) = d(“natch”,”noche”) = 3 Aplicaciones: Correctores ortográficos, reconocimiento de voz, detección de plagios, análisis de ADN… Para datos binarios: Distancia de Hamming Medidas de similitud
  • 19. 19 Métricas de distancia Vecinos compartidos  “Mutual Neighbor Distance” donde NN(xi,xj) es el número de vecino de xj con respecto a xi Medidas de similitud i j i j 4
  • 20. 20 Medidas de correlación Producto escalar  “Cosine similarity”  Coeficiente de Tanimoto Medidas de similitud
  • 21. 22 Modelos basados en Teoría de Conjuntos Modelo de Tversky  Modelo de Restle  Intersección Medidas de similitud
  • 22. 23 Modelos basados en Teoría de Conjuntos Modelo proporcional  Modelo de Gregson = Coeficiente de Jaccard  Distancia de Tanimoto Medidas de similitud
  • 23. 25 Métodos de agrupamiento Requisitos del algoritmo “perfecto”  Escalabilidad  Manejo de distintos tipos de datos  Identificación de clusters con formas arbitrarias  Número mínimo de parámetros  Tolerancia frente a ruido y outliers  Independencia con respecto al orden de presentación de los patrones de entrenamiento  Posibilidad de trabajar en espacios con muchas dimensiones diferentes  Capacidad de incorporar restricciones especificadas por el usuario (“domain knowledge”)  Interpretabilidad / Usabilidad
  • 24. 26 Métodos de agrupamiento Tipos de algoritmos de clustering  Agrupamiento por particiones k-Means, CLARANS  Clustering jerárquico BIRCH, ROCK, CHAMELEON  Métodos basados en densidad DBSCAN  …
  • 25. 27 Datos agrupados Métodos de agrupamiento Clustering por particiones Datos originales
  • 26. 28 Métodos de agrupamiento Clustering jerárquico p4 p1 p3 p2 p4 p1 p3 p2 p4 p1 p2 p3 p4 p1 p2 p3 Tradicional No tradicional DENDOGRAMA
  • 27. 29 Métodos de agrupamiento Métodos basados en densidad  Un cluster en una región densa de puntos, separada por regiones poco densas de otras regiones densas.  Útiles cuando los clusters tienen formas irregulares, están entrelazados o hay ruido/outliers en los datos.
  • 28. 30 k-Means Algoritmo de agrupamiento por particiones (MacQueen, 1967)  Número de clusters conocido (k)  Cada cluster tiene asociado un centroide (centro geométrico del cluster).  Los puntos se asignan al cluster cuyo centroide esté más cerca (utilizando cualquier métrica de distancia).  Iterativamente, se van actualizando los centroides en función de las asignaciones de puntos a clusters, hasta que los centroides dejen de cambiar.  Complejidad O(n*k*I*d) donde n es el número de datos, k el número de clusters, I el número de iteraciones y d el número de atributos
  • 29. 31 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 6
  • 30. 32 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 6
  • 31. 33 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5
  • 32. 34 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5
  • 33. 35 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Óptimo local -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Solución óptima Puntos originales
  • 34. 36 k-Means Ejercicio Agrupar los 8 puntos de la figura en 3 clusters usando el algoritmo de las K medias. Centroides iniciales: A1, A7 y A8 Métricas de distancia:  Distancia euclídea  Distancia de Manhattan  Distancia de Chebyshev
  • 39. 41 k-Means Ventaja  Eficiencia O(n·k·I·d) vs. PAM O(I·k(n-k)2) CLARA O(ks2+k(n-k)) Desventajas  Termina en un óptimo local: El resultado depende de la selección inicial de centroides.  Necesidad de conocer el número de agrupamientos k  Incapacidad para detectar ruido / identificar outliers.  No resulta adecuado para detectar clusters no convexos  Si tenemos datos de tipo categórico, ¿cómo calculamos la media?
  • 40. 42 k-Means Clusters de distinto tamaño Clusters de distinta densidad Clusters no convexos
  • 41. 43 k-Means Variantes  GRASP [Greedy Randomized Adaptive Search Procedure] para evitar óptimos locales.  k-Modes (Huang’1998) utiliza modas en vez de medias (para poder trabajar con atributos de tipo categórico).  k-Medoids utiliza medianas en vez de medias para limitar la influencia de los outliers vg. PAM (Partitioning Around Medoids, 1987) CLARA (Clustering LARge Applications, 1990) CLARANS (CLARA + Randomized Search, 1994)
  • 43. 45 Clustering jerárquico DENDROGRAMA: La similitud entre dos objetos viene dada por la “altura” del nodo común más cercano.
  • 44. 46 Clustering jerárquico El DENDROGRAMA nos puede ayudar a determinar el número adecuado de agrupamientos (aunque normalmente no será tan fácil).
  • 45. 47 Clustering jerárquico El DENDROGRAMA también nos puede servir para detectar outliers. Outlier
  • 46. 48 Clustering jerárquico En lugar de establecer de antemano el número de clusters, tenemos que definir un criterio de parada 0 1 2 3 4 b d c e a a b d e c d e a b c d e 4 3 2 1 0 aglomerativo (AGNES) AGglomerative NESting divisivo (DIANA) Divisive ANAlysis
  • 47. 49 Clustering jerárquico ¿Cómo medir la distancia entre clusters?  MIN single-link  MAX complete linkage (diameter)
  • 48. 50 Clustering jerárquico ¿Cómo medir la distancia entre clusters?  Promedio  Centroides p.ej. BIRCH  
  • 49. 51 Clustering jerárquico Ejercicio Utilizar un algoritmo aglomerativo de clustering jerárquico para agrupar los datos descritos por la siguiente matriz de distancias: Variantes:  Single-link (mínima distancia entre agrupamientos)  Complete-link (máxima distancia entre agrupamientos)
  • 51. 53 Clustering jerárquico DEMO: Algoritmo aglomerativo http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html
  • 52. 54 Clustering jerárquico Datos sintéticos (4 clusters): Single-link
  • 53. 55 Clustering jerárquico Datos sintéticos (4 clusters): Complete-link
  • 54. 56 Clustering jerárquico Datos sintéticos (aleatorios): Single-link
  • 55. 57 Clustering jerárquico Datos sintéticos (aleatorios): Complete-link
  • 56. 58 Clustering jerárquico Principal inconveniente del clustering jerárquico: Baja escalabilidad ≥ O(n2) Algoritmos “escalables”:  BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies (Zhang, Ramakrishnan & Livny, SIGMOD’1996)  ROCK: RObust Clustering using linKs (Guha, Rastogi & Shim, ICDE’1999)  CURE: Clustering Using REpresentatives (Guha, Rastogi & Shim, SIGMOD’1998)  CHAMELEON: Hierarchical Clustering Using Dynamic Modeling (Karypis, Han & Kumar, 1999)
  • 59. 61 Clustering jerárquico CHAMELEON Partición del grafo Combinar particiones Clusters finales
  • 61. 63 Density-based Clustering Criterio de agrupamiento local: Densidad de puntos Región densas de puntos separadas de otras regiones densas por regiones poco densas Características  Identifica clusters de formas arbitrarias.  Robusto ante la presencia de ruido  Escalable: Un único recorrido del conjunto de datos
  • 62. 64 Density-based Clustering Algoritmos  DBSCAN: Density Based Spatial Clustering of Applications with Noise (Ester et al., KDD’1996)  OPTICS: Ordering Points To Identify the Clustering Structure (Ankerst et al. SIGMOD’1999)  DENCLUE: DENsity-based CLUstEring (Hinneburg & Keim, KDD’1998)  CLIQUE: Clustering in QUEst (Agrawal et al., SIGMOD’1998)  SNN (Shared Nearest Neighbor) density-based clustering (Ertöz, Steinbach & Kumar, SDM’2003)
  • 63. 65 Density-based Clustering Ejercicio Agrupar los 8 puntos de la figura utilizando el algoritmo DBSCAN. Número mínimo de puntos en el “vecindario”: MinPts = 2 Radio del “vecindario”: Epsilon 
  • 65. 67 Density-based Clustering Ejercicio resuelto Epsilon = A1, A2 y A7 no tienen vecinos en su vecindario, por lo que se consideran “outliers” (no están en zonas densas):
  • 66. 68 Density-based Clustering Ejercicio resuelto Epsilon = Al aumentar el valor del parámetro Epsilon, el vecindario de los puntos aumenta y todos quedan agrupados:
  • 67. 69 Density-based Clustering DEMO: DBSCAN et al. http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
  • 68. 70 Density-based Clustering DBSCAN … cuando funciona bien Clusters
  • 69. 71 Density-based Clustering DBSCAN sensible al valor inicial de sus parámetros
  • 70. 72 Density-based Clustering SNN density-based clustering… O(n2) i j i j 4
  • 72. 74 Grids multiresolución  STING, a STatistical INformation Grid approach (Wang, Yang & Muntz, VLDB’1997)  WaveCluster, basado en wavelets (Sheikholeslami, Chatterjee & Zhang, VLDB’1998)  CLIQUE: CLustering In QUEst (Agrawal et al., SIGMOD’1998) Otros métodos
  • 73. 75 Clustering basado en modelos Ajustar los datos a un modelo matemático Se supone que los datos provienen de la superposición de varias distribuciones de probabilidad. Algoritmos  Estadística: EM [Expectation Maximization], AutoClass  Clustering conceptual (Machine Learning): COBWEB, CLASSIT  Redes neuronales: SOM [Self-Organizing Maps] Otros métodos
  • 74. 76 Clustering con restricciones p.ej. Clustering con obstáculos Posibles aplicaciones: Distribución de cajeros automáticos/supermercados… Otros métodos
  • 75. 77 Subspace clustering La dimensionalidad de los datos ¿Por qué es un problema?  Los datos en una dimensión están relativamente cerca  Al añadir una nueva dimensión, los datos se alejan.  Cuando tenemos muchas dimensiones, las medidas de distancia no son útiles (“equidistancia”).
  • 76. 78 Subspace clustering La dimensionalidad de los datos Soluciones  Transformación de características (PCA, SVD) útil sólo si existe correlación/redundancia  Selección de características (wrapper/filter) útil si se pueden encontrar clusters en subespacios  “Subspace clustering” Buscar clusters en todos los subespacios posibles. vg. CLIQUE (Agrawal et al., SIGMOD’1998)
  • 79. 81 Subspace clustering DEMO: CLIQUE et al. http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
  • 80. 82 Validación ¿Cómo se puede evaluar la calidad de los clusters obtenidos? Depende de lo que estemos buscando… Hay situaciones en las que nos interesa:  Evitar descubrir clusters donde sólo hay ruido.  Comparar dos conjuntos de clusters alternativos.  Comparar dos técnicas de agrupamiento
  • 81. 83 Validación  Criterios externos (aportando información adicional) p.ej. entropía/pureza (como en clasificación)  Criterios internos (a partir de los propios datos), p.ej. SSE (“Sum of Squared Error”)  para comparar clusters  para estimar el número de clusters Otras medidas: cohesión, separación, coeficientes de silueta…
  • 82. 84 Validación ¿Cuál es el número adecuado de agrupamientos? p.ej. SSE (“Sum of Squared Error”) k = 1 k = 2 k = 3 J = 873.0 J = 173.1 J = 133.6
  • 83. 85 Validación ¿Cuál es el número adecuado de agrupamientos? p.ej. SSE (“Sum of Squared Error”) El codo en k=2 sugiere que éste es el valor adecuado para el número de agrupamientos. 0.00E+00 1.00E+02 2.00E+02 3.00E+02 4.00E+02 5.00E+02 6.00E+02 7.00E+02 8.00E+02 9.00E+02 1.00E+03 1 2 3 4 5 6 k J
  • 84. 86 Validación 2 5 10 15 20 25 30 0 1 2 3 4 5 6 7 8 9 10 K SSE 5 10 15 -6 -4 -2 0 2 4 6
  • 86. 88 Validación Matriz de similitud Ordenamos los datos en la matriz de similitud con respecto a los clusters en los que quedan los datos e inspeccionamos visualmente… 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Points Points 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
  • 87. 89 Validación 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Points Points 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Matriz de similitud Clusters en datos aleatorios (DBSCAN y k-Means) Points Points 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
  • 89. 91 Bibliografía  R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan. Automatic subspace clustering of high dimensional data for data mining applications. SIGMOD'98  M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander. Optics: Ordering points to identify the clustering structure, SIGMOD’99.  L. Ertöz, M. Steinbach, and V. Kumar. Finding clusters of different sizes, shapes, and densities in noisy, high-dimensional data, SDM’2003  M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases. KDD'96.  D. Fisher. Knowledge acquisition via incremental conceptual clustering. Machine Learning, 2:139-172, 1987.  D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An approach based on dynamic systems. VLDB’98  S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering algorithm for large databases. SIGMOD'98.  S. Guha, R. Rastogi, and K. Shim. ROCK: A robust clustering algorithm for categorical attributes. In ICDE'99, Sydney, Australia, March 1999.
  • 90. 92 Bibliografía  A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD’98.  G. Karypis, E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical Clustering Algorithm Using Dynamic Modeling. COMPUTER, 32(8): 68- 75, 1999.  L. Parsons, E. Haque and H. Liu, Subspace Clustering for High Dimensional Data: A Review , SIGKDD Explorations, 6(1), June 2004  G. Sheikholeslami, S. Chatterjee, and A. Zhang. WaveCluster: A multi- resolution clustering approach for very large spatial databases. VLDB’98.  A. K. H. Tung, J. Hou, and J. Han. Spatial Clustering in the Presence of Obstacles , ICDE'01  H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern similarity in large data sets, SIGMOD’ 02.  W. Wang, Yang, R. Muntz, STING: A Statistical Information grid Approach to Spatial Data Mining, VLDB’97.  T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data clustering method for very large databases. SIGMOD'96.
  • 91. 93 Créditos  Jiawei Han (University of Illinois at Urbana- Champaign): “Data Mining: Concepts and Techniques”, capítulo 7, 2006  Pang-Ning Tan (Michigan State University), Michael Steinbach & Vipin Kumar (University of Minnesota): “Introduction to Data Mining”, capítulos 8 y 9, 2006
  • 92. 94 Apéndice: Notación O El impacto de la eficiencia de un algoritmo… n 10 100 1000 10000 100000 O(n) 10ms 0.1s 1s 10s 100s O(n·log2 n) 33ms 0.7s 10s 2 min 28 min O(n2) 100ms 10s 17 min 28 horas 115 días O(n3) 1s 17min 12 días 31 años 32 milenios