You are on page 1of 92

Intelligent Databases and Information Systems research group

Department of Computer Science and Artificial Intelligence


E.T.S Ingeniera Informtica Universidad de Granada (Spain)

Fundamentos de Minera de Datos

Clustering

Fernando Berzal
fberzal@decsai.ugr.es
http://elvex.ugr.es/idbis/dm/
1
Clustering
Sinnimos segn el contexto

Clustering (IA)

Aprendizaje no supervisado (IA)

Clasificacin (Estadstica)

Ordenacin (Psicologa)

Segmentacin (Marketing)

Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa

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 dependern de:
El algoritmo de agrupamiento seleccionado.
El conjunto de datos disponible
La medida de similitud utilizada para comparar
objetos.


Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa

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 temticos (GIS)
Marketing: Segmentacin de clientes
Clasificacin de documentos
Anlisis de web logs (patrones de acceso similares)


Aplicaciones tpicas en Data Mining:
Exploracin de datos (segmentacin & outliers)
Preprocesamiento (p.ej. reduccin de datos)


5
Clustering
Cul es la forma natural de agrupar los personajes?







Hombres
vs.
Mujeres
6
Clustering
Cul es la forma natural de agrupar los personajes?







Simpsons
vs.
Empleados
de la escuela
de Springfield
7
Clustering
Cul 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 trminos de distancias:

d(i,j) > d(i,k)
nos indica que el objeto i es ms parecido a k que a j


La definicin de la mtrica de similitud/distancia
ser distinta en funcin del tipo de dato y
de la interpretacin semntica que nosotros hagamos.

En otras palabras, la similitud entre objetos es
subjetiva.
Medidas de similitud
10
Medidas de similitud
Cuntos
agrupamientos?
Cuatro?
Dos?
Seis?
11
Medidas de similitud
f
f if
if
s
m x
z

=
Atributos continuos
Usualmente, se estandarizan a priori:

Desviacin 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
Mtricas de distancia
Distancia de Minkowski


Distancia de Manhattan (r=1) / city block / taxicab


Distancia eucldea (r=2):


Distancia de Chebyshev (r) / dominio / chessboard

Medidas de similitud
13
Mtricas de distancia
Distancia de Minkowski








Distancia de Manhattan = 12
Distancia Eucldea ~ 8.5
Distancia de Chebyshev = 6




Medidas de similitud
14
Mtricas de distancia
Distancia de Minkowski d(i,j) > 0
Propiedad reflexiva d(i,i) = 0
Propiedad simtrica d(i,j) = d(j,i)
Desigualdad triangular d(i,j) s d(i,k)+d(k,j)

Medidas de similitud
15
Mtricas de distancia
Distancia de Chebyshev



Tambin conocida
como distancia de
tablero de ajedrez
(chessboard distance):
Nmero de
movimientos
que el rey ha de hacer
para llegar de una
casilla a otra en un
tablero de ajedrez.
Medidas de similitud
16
Mtricas de distancia
Distancia de Mahalanobis




Considera las
correlaciones
entre variables.

No depende de la
escala de medida.
Medidas de similitud
18
Mtricas de distancia
Distancia de edicin = Distancia de Levenshtein

Nmero 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 ortogrficos, reconocimiento
de voz, deteccin de plagios, anlisis de ADN

Para datos binarios: Distancia de Hamming
Medidas de similitud
19
Mtricas de distancia
Vecinos compartidos





Mutual Neighbor Distance


donde NN(x
i
,x
j
) es el nmero de vecino
de x
j
con respecto a x
i
Medidas de similitud
i j
i j
4
20
Medidas de correlacin
Producto escalar




Cosine similarity



Coeficiente de Tanimoto



Medidas de similitud
22
Modelos basados en Teora de Conjuntos
Modelo de Tversky



Modelo de Restle



Interseccin
Medidas de similitud
23
Modelos basados en Teora de Conjuntos
Modelo proporcional




Modelo de Gregson = Coeficiente de Jaccard



Distancia de Tanimoto

Medidas de similitud
25
Mtodos de agrupamiento
Requisitos del algoritmo perfecto
Escalabilidad
Manejo de distintos tipos de datos
Identificacin de clusters con formas arbitrarias
Nmero mnimo de parmetros
Tolerancia frente a ruido y outliers
Independencia con respecto al orden de presentacin
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
Mtodos de agrupamiento
Tipos de algoritmos de clustering

Agrupamiento por particiones
k-Means, CLARANS

Clustering jerrquico
BIRCH, ROCK, CHAMELEON

Mtodos basados en densidad
DBSCAN


27
Datos agrupados
Mtodos de agrupamiento
Clustering por particiones
Datos originales
28
Mtodos de agrupamiento
Clustering jerrquico
p4
p1
p3
p2

p4
p1
p3
p2
p4 p1 p2 p3
p4 p1 p2 p3
Tradicional
No tradicional
DENDOGRAMA
29
Mtodos de agrupamiento
Mtodos basados en densidad
Un cluster en una regin densa de puntos, separada por
regiones poco densas de otras regiones densas.
tiles cuando los clusters tienen formas irregulares, estn
entrelazados o hay ruido/outliers en los datos.

30
k-Means
Algoritmo de agrupamiento por particiones
(MacQueen, 1967)
Nmero de clusters conocido (k)
Cada cluster tiene asociado un centroide
(centro geomtrico del cluster).
Los puntos se asignan al cluster cuyo centroide est ms
cerca (utilizando cualquier mtrica de distancia).
Iterativamente, se van actualizando los centroides en
funcin de las asignaciones de puntos a clusters, hasta
que los centroides dejen de cambiar.
Complejidad O(n*k*I*d)
donde n es el nmero de datos, k el nmero de clusters,
I el nmero de iteraciones y d el nmero 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
Solucin 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

Mtricas de distancia:
Distancia eucldea
Distancia de Manhattan
Distancia de Chebyshev
37
k-Means
Ejercicio resuelto
Distancia eucldea
38
k-Means
Ejercicio resuelto
Distancia eucldea











Primera iteracin Segunda iteracin
39
k-Means
Ejercicio resuelto
Distancia eucldea











Tercera iteracin Configuracin 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(nkId)
vs. PAM O(Ik(n-k)
2
)
CLARA O(ks
2
+k(n-k))
Desventajas
Termina en un ptimo local:
El resultado depende de la seleccin inicial de centroides.
Necesidad de conocer el nmero de agrupamientos k
Incapacidad para detectar ruido / identificar outliers.
No resulta adecuado para detectar clusters no convexos
Si tenemos datos de tipo categrico,
cmo calculamos la media?


42
k-Means
Clusters de
distinto tamao
Clusters de
distinta densidad
Clusters
no convexos
43
k-Means
Variantes

GRASP [Greedy Randomized Adaptive Search Procedure]
para evitar ptimos locales.

k-Modes (Huang1998) utiliza modas en vez de medias
(para poder trabajar con atributos de tipo categrico).

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 jerrquico











DENDROGRAMA: La similitud entre dos objetos viene
dada por la altura del nodo comn ms cercano.
46
Clustering jerrquico











El DENDROGRAMA nos puede ayudar a determinar el
nmero adecuado de agrupamientos (aunque
normalmente no ser tan fcil).
47
Clustering jerrquico












El DENDROGRAMA
tambin nos puede servir para detectar outliers.
Outlier
48
Clustering jerrquico











En lugar de establecer de antemano el nmero 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 jerrquico
Cmo medir la distancia entre clusters?

MIN
single-link



MAX
complete
linkage
(diameter)
50
Clustering jerrquico
Cmo medir la distancia entre clusters?

Promedio




Centroides
p.ej. BIRCH

51
Clustering jerrquico
Ejercicio

Utilizar un algoritmo aglomerativo de clustering jerrquico para agrupar
los datos descritos por la siguiente matriz de distancias:







Variantes:
Single-link (mnima distancia entre agrupamientos)
Complete-link (mxima distancia entre agrupamientos)
52
Clustering jerrquico
Ejercicio resuelto

Single-link





Complete-link
53
Clustering jerrquico
DEMO: Algoritmo aglomerativo
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html





54
Clustering jerrquico
Datos sintticos (4 clusters): Single-link



55
Clustering jerrquico
Datos sintticos (4 clusters): Complete-link



56
Clustering jerrquico
Datos sintticos (aleatorios): Single-link



57
Clustering jerrquico
Datos sintticos (aleatorios): Complete-link



58
Clustering jerrquico
Principal inconveniente del clustering jerrquico:
Baja escalabilidad O(n
2
)

Algoritmos escalables:
BIRCH: Balanced Iterative Reducing and Clustering using
Hierarchies (Zhang, Ramakrishnan & Livny, SIGMOD1996)

ROCK: RObust Clustering using linKs
(Guha, Rastogi & Shim, ICDE1999)

CURE: Clustering Using REpresentatives
(Guha, Rastogi & Shim, SIGMOD1998)

CHAMELEON: Hierarchical Clustering Using Dynamic
Modeling (Karypis, Han & Kumar, 1999)
59
Clustering jerrquico










CURE
60
Clustering jerrquico
Agrupamientos
con distintas
densidades








CURE
61
Clustering jerrquico










CHAMELEON
Particin del grafo


Combinar
particiones
Clusters finales
62
Clustering jerrquico










CHAMELEON
63
Density-based Clustering
Criterio de agrupamiento local:

Densidad de puntos
Regin densas de puntos separadas
de otras regiones densas por regiones poco densas

Caractersticas

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., KDD1996)

OPTICS: Ordering Points To Identify the Clustering
Structure (Ankerst et al. SIGMOD1999)

DENCLUE: DENsity-based CLUstEring
(Hinneburg & Keim, KDD1998)

CLIQUE: Clustering in QUEst
(Agrawal et al., SIGMOD1998)

SNN (Shared Nearest Neighbor) density-based clustering
(Ertz, Steinbach & Kumar, SDM2003)
65
Density-based Clustering
Ejercicio

Agrupar los 8 puntos
de la figura utilizando
el algoritmo DBSCAN.


Nmero mnimo de puntos
en el vecindario:

MinPts = 2

Radio del vecindario:

Epsilon
66
Density-based Clustering
Ejercicio resuelto
Distancia eucldea
67
Density-based Clustering
Ejercicio resuelto Epsilon =

A1, A2 y A7 no tienen vecinos en su vecindario,
por lo que se consideran outliers (no estn en zonas densas):
68
Density-based Clustering
Ejercicio resuelto Epsilon =

Al aumentar el valor del parmetro 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 parmetros
72
Density-based Clustering










SNN density-based clustering O(n
2
)
i j
i j
4
73
Grids multiresolucin

Otros mtodos
74
Grids multiresolucin

STING, a STatistical INformation Grid approach
(Wang, Yang & Muntz, VLDB1997)

WaveCluster, basado en wavelets
(Sheikholeslami, Chatterjee & Zhang, VLDB1998)

CLIQUE: CLustering In QUEst
(Agrawal et al., SIGMOD1998)
Otros mtodos
75
Clustering basado en modelos

Ajustar los datos a un modelo matemtico
Se supone que los datos provienen de la superposicin
de varias distribuciones de probabilidad.

Algoritmos
Estadstica:
EM [Expectation Maximization], AutoClass
Clustering conceptual (Machine Learning):
COBWEB, CLASSIT
Redes neuronales:
SOM [Self-Organizing Maps]
Otros mtodos
76
Clustering con restricciones
p.ej. Clustering con obstculos









Posibles aplicaciones:
Distribucin de cajeros automticos/supermercados
Otros mtodos
77
Subspace clustering
La dimensionalidad de los datos

Por qu es un problema?
Los datos en una dimensin estn relativamente cerca
Al aadir una nueva dimensin, 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

Transformacin de caractersticas (PCA, SVD)
til slo si existe correlacin/redundancia

Seleccin de caractersticas (wrapper/filter)
til si se pueden encontrar clusters en subespacios

Subspace clustering
Buscar clusters en todos los subespacios posibles.

vg. CLIQUE (Agrawal et al., SIGMOD1998)
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
Validacin

Cmo 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 slo hay ruido.
Comparar dos conjuntos de clusters alternativos.
Comparar dos tcnicas de agrupamiento
83
Validacin

Criterios externos
(aportando informacin adicional)

p.ej. entropa/pureza (como en clasificacin)

Criterios internos
(a partir de los propios datos),
p.ej. SSE (Sum of Squared Error)
para comparar clusters
para estimar el nmero de clusters

Otras medidas:
cohesin, separacin, coeficientes de silueta
84
Validacin
Cul es el nmero 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
Validacin
Cul es el nmero adecuado de agrupamientos?
p.ej. SSE (Sum of Squared Error)










El codo en k=2 sugiere que ste es el valor
adecuado para el nmero 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
Validacin











2 5 10 15 20 25 30
0
1
2
3
4
5
6
7
8
9
10
K
S
S
E
5 10 15
-6
-4
-2
0
2
4
6
87
Validacin











1
2
3
5
6
4
7
88
Validacin
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
P
o
i
n
t
s
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
Validacin
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
P
o
i
n
t
s
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
P
o
i
n
t
s
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
Validacin
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
Bibliografa
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, SIGMOD99.
L. Ertz, M. Steinbach, and V. Kumar. Finding clusters of different sizes,
shapes, and densities in noisy, high-dimensional data, SDM2003
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. VLDB98
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
Bibliografa
A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in Large
Multimedia Databases with Noise. KDD98.
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.
VLDB98.
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, VLDB97.
T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data
clustering method for very large databases. SIGMOD'96.
93
Crditos
Jiawei Han (University of Illinois at Urbana-
Champaign): Data Mining: Concepts and Techniques,
captulo 7, 2006
Pang-Ning Tan (Michigan State University), Michael
Steinbach & Vipin Kumar (University of Minnesota):
Introduction to Data Mining, captulos 8 y 9, 2006
94
Apndice: Notacin O

El impacto de la eficiencia de un algoritmo

n 10 100 1000 10000 100000

O(n) 10ms 0.1s 1s 10s 100s

O(nlog
2
n) 33ms 0.7s 10s 2 min 28 min

O(n
2
) 100ms 10s 17 min 28 horas 115 das

O(n
3
) 1s 17min 12 das 31 aos 32 milenios

You might also like