Title: ESMA 6835 Mineria de Datos
1ESMA 6835 Mineria de Datos
- CLASE 15
- Unsupervised classification, Clustering
- Dr. Edgar Acuna
- Departmento de Matematicas
- Universidad de Puerto Rico- Mayaguezmath.uprrm.
edu/edgar
2Introduccion
- La idea de analisis de conglomerados
(clustering ) es agrupar muestras (filas) o
features (columnas) o ambos a la vez, de acuerdo
a la separación entre ellas determinada por una
medida de distancia dada, llamada medida de
dissimilaridad. Se supone que las clases a las
que pertenecen las muestras no son conocidas. - También es conocido con el nombre clasificacion
no supervisado.
3Cluster 4
4- Para cada muestra (fila) existe un vector de
mediciones X(X1,XG). - El objetivo es identificar grupos de muestras
similares basado en n mediciones observadas
X1x1,., Xnxn. - Por ejemplo si las Xs representan niveles de
expression obtenidos en microarreglos de tumores
cancerosos uno podria identificar las
caracteristicas de las personas que tienen
distintos tipos de tumores.
5- Cuando el numero de columnas es bastantes grande
se pueden formar tambien grupos de columnas con
similar comportamiento y en consecuencia se
puede reducir la dimensionalidad que es muy
conveniente si se quiere usar luego un modelo
para hacer predicciones. Pues es mucho mas
conveniente predecir con 10 features que con
100. - También se puede aplicar conglomerados
simultaneamente a filas y columnas
(Bi-clustering) (ver paper de Alon, et al, 1999,
Getz et al , 2000 y Lazaeronni y Owen, 2000)
6Aspectos importantes en el analisis de
conflomerados
- i) Que features usar? ,
- ii) Que medida de dissimilaridad usar?.
- iii) Qué método o algoritmo de conglomerado
usar?. - iv) Cuantos conglomerados se deben formar?
- v) Cómo asignar las filas (o columnas) a los
conglomerados? - vi) Cómo validar los conglomerados que se han
formado?
7Propiedades de medidas de dissimilaridad
- No-negatividad d(x,y) 0
- La distancia de una instancia asi mismo es 0,
d(x,x) 0 - Simetria d(x,y) d(y,x)
- Desigualdad Triangular
- d(x,y) d(x,z) d(z,y)
x
y
z
8Medidas de Dissimilaridad(variables continuas)
- a) Distancia Minkowski o norma Lp.
- Caso particulares
- Distancia Euclideana p2,
-
- Distancia Manhattan o City-Block
- Distancia Chebychev, p?,
- La distancia ponderada Minkoswki, será
9Medidas de Dissimilaridad (Cont)
- b) Distancias basadas en formas cuadráticas.
- Q(Qij) es una matriz cuadrada MxM definida
positiva de - pesos entonces la distancia cuadrática entre x y
y está dada por - Si QV-1, V matríz de covarianza entre x y y se
obtiene la distancia Mahalanobis. - c) Distancia Camberra.
- Si xi y yi son ambos ceros entonces el i-ésimo
término de la suma se - considera como cero.
10Medidas de dissimilaridad (variables nominales)
- Distancia Hamming. Sean x y y dos vectores de la
misma dimension y con valores en
?0,1,2,..k-1, entonces la distancia Hamming
(DH) entre ellos se define como el número de
entradas diferentes que tienen los dos vectores.
Por ejemplo si x(1,1,0,0) y y(0,1,0,1) entonces
DH2. - Tambien se pueden usar para variables no
binarias.Por ejemplo, si x(0,1,3,2,1,0,1) y
y(1,1,2,2,3,0,2) entonces DH(x,y)4 . - En el caso de variables binarias , la distancia
Hamming, la distancia L2 y la distancia L1
coinciden.
11Medidas de similaridad (Variables continuas))
- a) Medida de correlación
- Nota 1-s(x,y) puede ser considerado como una
medida de dissimilaridad - b) Medida de Tanimoto. Se define por
-
Tambien puede ser usada para variables nominales
12Medidas de similaridad (variables nominales)
- i)La medida de Tanimoto. Sean X y Y dos vectors
de longitud nx y ny respectivamente. Sea
que representa la cardinalidad de , entonces la
medida de Tanimoto se define por -
- Es decir, la medida de Tanimono es la razón del
número de elementos que los vectores tienen en
común entre el número de elementos distintos. En
el caso de variables binarias, la medida de
Tanimoto se reduce a - Donde a representa el número de posiciones donde
los vectores X y Y coinciden en tomar el valor 0,
d representa el número de coincidencias donde X y
Y valen ambos 1. Mientras que c y b representan
el número de no coincidencias. -
13- ii) El coeficientes de coincidencias simple.
Definido por -
-
- El problema de esta medida es que incluye a a en
el numerador, la cual indica ausencia de ambos
factores. - iii) La medida de Jaccard-Tanimoto. Definida por
-
- iv) La medida de Russel -Rao.
-
- v) La medida de Dice-Czekanowski. Similar a la de
Jaccard pero asigna peso doble a las
coincidencias. Es decir -
14Librerias y funciones en R para hallar distancias
- La libreria stats de R tiene una funcion dist
que calcula la matríz distancia de una matríz de
datos usando las distancias Euclideana,
Manhattan, Chebychev, Camberra, Mimkowski y
binary.. - Librería(stats)
- x matrix(rnorm(100), nrow5)
- dist(x)
- dist(x, methodmanhattan,diag TRUE)
- dist(x, methodmaximum,upper TRUE)
- Ejemplo de distancia Camberra entre dos
vectores - x lt- c(0, 0, 1, 1, 1, 1)
- y lt- c(1, 0, 1, 1, 0, 1)
- dist(rbind(x,y), method"canberra")
15- La libreria cluster de R tiene una función daisy
que calcula la - matriz distancia de una matriz de datos usando
solamente - las distancias euclideana y manhattan y
considerando ademas distintos tipos de variables
mediante el uso del coeficiente de Gower . - La función cor de R calcula la matríz de
correlaciones entre las - columnas de una matríz y
- la función plot.cor de la librería sma permite
hacer un heatmap - de las correlaciones.
16Plot de la matríz de corrrelaciones (sonar)
- Sonar, tiene 60 columnas y 208 filas.
- La parte roja de la grafica
- indica que la correlación es
- bien alta y positiva, la parte
- verde indica que es bien alta
- pero negativa y la parte negra
- indica que la correlación es
- cerca de cero.
17Distancias entre clusters
- Despues de elegir la medida de similaridad se
transforma la matriz n x p en una matriz
distancia o de dissimilaridad - D (dij ) de orden n x n para las n muestras a
ser agrupadas. Basado en esta matriz se debe
determinar una medida de distancia entre dos
conglomerados (clusters) cualesquiera. Entre
estas medidas están - Linkage simple ?(S,T)minx?S,y?Td(x,y)
- Linkage completo ?(S,T)maxx?S,y?Td(x,y)
- Linkage promedio
- Donde S, y T representan la cardinalidad de S
y T. - Linkage centroide ?(S,T)
- Donde y representan los cenroides de S y
T respectivamente
18- Median linkage ?(S,T)medianx?S,y?Td(x,y)
- Linkage de Mc Quitty
- Linkage de Ward
- Aqui se junta el par de grupos que produce la
varianza mas pequena en el grupo juntado.
19Tipos de Algoritmos para Conglomerados
(Clustering)
- I. Métodos de particionamiento
- El conjunto de datos es particionado en un número
pre-especificado de conglomerados K, y luego
iterativamente se va reasignando las
observaciones a los conglomerados hasta que algún
criterio de parada (función a optimizar) se
satisface (suma de cuadrados dentro de los
conglomerados sea la más pequeña). - Ejemplos K-means, PAM, CLARA, SOM, Conglomerados
basados en modelos de mezclas gausianas,
Conglomerados difusos.
20- II. Metodos Jerárquicos.
- En estos algoritmos se generan sucesiones
ordenadas (jerarquias) de conglomerados. Puede
ser juntando cluster pequenos en mas grande o
dividiendo grandes clusters en otros mas
pequenos. La estructura jerárquica es
representada en forma de un árbol y es llamada
Dendograma. Se dividen en dos tipos - Algoritmos jerárquicos aglomerativos (bottom-up,
inicialmente cada instancia es un cluster).AGNES - Algoritmos jerárquicos divisivos (top-down,
inicialmente todas las instancias estan en un
solo cluster. DIANA.
211-Algoritmo k-means (MacQueen, 1967).
- El objetivo es minimizar la dissimiliridad de los
elementos dentro de cada cluster y maximizar la
disimilaridad de los elementos que caen en
diferentes clusters. - INPUT Un conjunto de datos S y k número de
clusters a formar - OUTPUT L una lista de los clusters en que
caen las observaciones de S. - Seleccionar los centroides iniciales de los K
clusters c1, c2, ..., cK. - Asignar cada observación xi de S al cluster C(i)
cuyo centroide c(i) está mas cerca de xi. Es
decir, C(i)argmin1?k?Kxi-ck - Para cada uno de los clusters se recalcula su
centroide basado en los elementos que están
contenidos en el cluster y minimizando la suma
de cuadrados dentro del cluster. Es decir, -
- Ir al paso 2 hasta que se consiga convergencia.
22K-Means
10
9
8
7
6
5
Actualizar los centroides
4
Asignar cada instancia al cluster mas cercano.
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
reasignar
reasignar
K2 Escoger arbitrariamente K instances como los
centroides
Actualizar los centroides
23Alternativas para los k centroides iniciales
- Usando las primeras k bservaciones
- Eligiendo aleatoriamente k observaciones.
- Tomando cualquier partición al azar en k clusters
y calculando sus centroides.
24Características del Algoritmo k-means
- No se satisface el criterio de optimizacion
globalmente, solo produce un óptimo local. - El algoritmo de k-means es computacionalmente
rápida. - Puede trabajar bien con datos faltantes (missing
values). - Es sensible a outliers.
25R y la función kmeans
- La librería mva de R tiene la función kmeans que
ejecuta el - algoritmo kmeans.
- Ejemplo Consideremos conjunto de datos bupa (6
variables - predictoras y 345 observaciones).
- gt kmeans(bupa,16,2)
- gt kmeans(bupa,16,3)
- gt K-means eligiendo como centros iniciales las
observaciones10 y 100 de Bupa - gt mediaslt-bupac(10,100),16
- gt kmeans(bupa,16,medias)
26Particionamiento alrededor de medoides (PAM)
- Introducido por Kauffman y Rousseauw, 1987.
- MEDOIDES, son instancias representativas de los
clusters que se quieren formar. - Para un pre-especificado número de clusters K, el
procedimiento - PAM está basado en la búsqueda de los K
MEDOIDES, - M (m1, . . . ,mK) de todas las observaciones a
clasificar - Para encontrar M hay que minimizar la suma de las
distancias de - las observaciones a su mas cercano Medoide.
- d es una medida de dissimilaridad
27k-Medoides
Total Cost 20
10
9
8
Arbitrariamente escoger k instances como medoides
Asignar las instancias restantes a su mas cercano
medoide.
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
K2
Seleccionar al azar una instancia nonmedoide
,Oramdom
Total Cost 26
Hacer el loop hasta que no haya cambios
Calcular el costo total de swapping
Swapping O y Oramdom Si se mejora la calidad
28R y la función PAM
- La función pam de la librería cluster encuentra
los - conglomerados usando el particionamiento
alrededor de - medoides.
- Aplicaremos PAM al conjunto de datos bupa.
- gtpambupapam(bupa,16,2,dissF)
- Generalmente los resultados son un poco mejores
que el de - k- means.
29Mapas auto-organizados (Self-orgamizing Maps,
SOM)(Kononen, 1988)
- Son algoritmos de particionamiento que son
restringidos al hecho que los clusters pueden ser
representados en una estructura regular de
dimensión baja, tal como un grid (los más usados
son los SOM en una y dos dimensiones). - Los clusters que son cercanos entre sí aparecen
en celdas adyacentes del grid. O sea, SOM mapea
el espacio de entrada de las muestras en un
espacio de menor dimension en el cual la medida
de similaridad entre las muestras es medida por
la relación de cercanía de los vecinos. - Cada uno de los K clusters es representado por un
objeto prototipo Mi , i 1,K . -
30Mapas auto-organizados (Self-orgamizing Maps,
SOM)
- En este método la posición de una observación en
el espacio inicial de - entradas influye de alguna manera en su
asignación a un conglomerado. - Se construye un plot en donde las observaciones
similares son ploteadas - cercanas entre sí.
- El algoritmo SOM es bastante similar a k-means
- Un SOM es entrenado como una red neural.
- El SOM puede ser considerado también como una
técnica de reducción - de dimensionalidad y guarda relación con la
técnica conocida como - escalamiento multidimensional (proceso de
encontrar un conjunto de - puntos en un espacio multidimensional que
corresponda a medidas de - similaridad entre objetos).
31El algoritmo SOM considerando un grid rectangular
de dos dimensiones
- Paso1-Seleccionar los numeros de filas (q1) y
columnas (q2) en el grid. Luego habrá - Kq1q2 clusters
- Paso2. Inicializar el tamaño del parámetro de
actualizacion (la tasa de aprendizaje en - terminos de redes neurales) ? ( ?1)
y el radio del grid (r2) - Paso3. Inicializar los vectores prototipos Mj, j
? (1,,q1) x (1,.,q2) mediante la - eleccion aleatoria de K instancias.
- Paso4. Para cada observacion del conjunto de
datos hacer los siguiente - Identificar el vector índice j del
prototipo Mj mas cercano a xi. - Identificar un conjunto S de
prototipos vecinos de Mj. Es decir, - Sj distancia (j ,j)ltr
- La distancia puede ser Euclideana o
cualquiera otra - Actualizar cada elemento de S moviendo
el correspondiente prototipo hacia xi - Mj?Mj ?(xi-Mj) para
todo j ? S - Paso5. Disminuir el tamaño de ? y r en una
cantidad predeterminada y continuar hasta
alcanzar convergencia.
32R y la función SOM
- La función SOM de la librería class de B. Ripley
construye un SOM, al igual que la libreria som.
Aunque los resultados son solamente visuales. De
cada centroide salen lineas que representan cada
una de las variables - Por ejemplo para el conjunto de datos bupa
- gtbupgrsomgrid(2,3,topo"hexa")
- gt sombupaSOM(bupa,16,bupgr)
- gt plot(sombupa)
- gt sombupacodes
- Otros software Somtoolbox en Matlab, Cluster por
Eissen y Genecluster (MIT Center por Genome
Research). Este ultimo muestra los elementos de
cada cluster
33SOM usando la libreria SOM
34Algoritmo jerárquicos
Estos algoritmos generan sucesiones anidadas de
clusters que se pueden visualizar con una
estructura de arbol llamado Dendrograma,
- En la figura se muestra el
- dendrograma del conjunto Bupa obtenido usando la
función hclust para algoritmo jerarquico
aglomerativo de la libreria mva. - gt ahclust(dist(bupa))
- gt plot(a)
35Dendrogramas
- Los dendrogramas son fáciles de interpretar pero
pueden conducir a - falsas conclusiones por las siguientes razones
- El dendograma correspondiente a un conglomerado
jerárquico no es único, puesto que por cada junte
de clusters (merge) uno necesita especificar que
sub-árbol va a la derecha y cuál a la izquierda. - Por default la función hclust de la librería
cluster ordena los arboles de tal manera que los
conglomerados más concentrados van a la
izquierda. - 2) La estructura jerárquica del Dendrograma no
representa con certeza las verdaderas distancias
entre los objetos distintos del conjunto de
datos. -
36- El coeficiente de correlación cofenético puede
ser usado para medir cuan bien la estructura
jerárquica del dendrograma representa a las v
erdaderas distancias. Se define como la
correlación entre las n(n - 1)/2 pares de
dissimilaridades y sus distancias cofenéticas del
dendogramas. La función cophenetic en la libreria
mva calcula la distancia cofenéticas. -
- disbupadist(bupa,16)
- hbupahclust(disbupa, methodave)
- denbupacophenetic(hbupa)
- cor(disbupa,denbupa)
- La distancia cofenética da 0.915849
37Ejemplo de un dendrograma y sus cortes
- treebupaas.dendrogram(hbupa)
- bupitacut(treebupa,h100)
- bupitacut(treebupa, h100)
- gt bupita
- upper
- dendrogram' with 2 branches and 4 members total,
at height 176.9354 - lower
- lower1
- dendrogram' with 2 branches and 333 members
total, at height 91.22225 - lower2
- dendrogram' with 2 branches and 3 members total,
at height 64.38526 - lower3
- dendrogram' leaf '85', at height 0
- lower4
- dendrogram' with 2 branches and 8 members total,
at height 62.8725
38(No Transcript)
39Heatmaps.
- Son gráficas que muestran simultaneamente las
- agrupaciones en conglomerados de columna y filas.
- La función heatmap de la libreria mva permite
hacer - heatmaps usando un gran número de tonalidades de
- colores.
40Ejemplo de heatmaps para Iris
Notar que solo las variables 2 y 3 determinan
claramente las 3 clases.
41Algoritmo jerárquico aglomerativo
- Suponiendo que tenemos una matriz de datos m x n.
- Se empieza con m conglomerados si se desea formar
grupos - de muestras (filas) o con n clusters si se
quieren formar grupos - de variables (columnas).
- En cada paso se juntan los cluster mas cercanos
usando una - medida de distancia entre clusters (linkage)
- Entre estas distancias están
- Linkage promedio promedio de las distancias de
las - observaciones en cada cluster.
- Linkage simple la menor distancia entre las
observaciones - de cada cluster
- Linkage completo la mayor distancia entre las
observaciones - de cada cluster.
42Ejemplo de Jerarquico Aglomerativo
- En este caso usaremos la funcion agnes de la
libreria cluster - bupagllt-agnes(bupa,16,metric"euclidean",method
"ward") - cutree(bupagl,k2)
- gt table(cutree(bupagl,k2))
- 1 2
- 62 283
- gt table(cutree(bupagl,k3))
- 1 2 3
- 283 53 9
- La función plot.agnes permite hacer un plot del
dendrograma. - Pero no tiene la misma flexibilidad de las
funciones en mva.
43Métodos jerárquicos divisivos
- Empieza con un solo cluster, que es aquel que
contiene a - todas las muestras.
- En cada paso se divide los clusters en dos
subgrupos. - Son más lentos de calcular que los jeráquicos
aglomerativos - A continuacion se muestra un ejemplo del método
- jerarquico divisivo usando la función Diana de la
libreria - cluster.
- gt bupadivlt-diana(bupa,16,metric'euclidean')
- gt plot(bupadiv,which2)
- gt bupadiv
44Ejemplo usando Diana
- gt bupadivdiana(bupa,16,metric
- 'euclidean')
- gt plot(bupadiv,which2)
- gt bupadiv
- gt cutree(bupadiv,k2)
- gt table(cutree(bupadiv,k2))
- 1 2
- 33 312
- gt table(cutree(bupadiv,k3))
- 1 2 3
- 25 8 312
45Comparación de métodos de particionamiento con
los métodos jerárquicos.
- Los métodos de particionamiento tienen la ventaja
de que - satisfacen un criterio de optimilidad aunque sea
aproximadamente. - Desventajas Necesitan un valor inicial del
número de - clusters y toma mucho tiempo obtener los
clusters. - Por otro lados los métodos jerárquicos tienen la
ventaja que son - rápidos de calcular sobre todo el aglomerativo.
- Desventaja La rigidez que le da la estructura de
árbol ( el llamado - factor de anidamiento). Es dificil corregir lo
que se hizo antes.
46Determinación del número de clusters.
- Indices Internos. Estadisticas basados en las
sumas de cuadrados - entre clusters y dentro de clusters. El número de
clusters K es - aquel que maximiza o minimiza uno de estos
indices.(Milligan, GW Cooper, MC). Entre los
principales estan el indice de Dunn, el Indice de
Davies-Bouldin. - Ancho de silueta promedio.
- Métodos basado en modelos de mezclas gaussianas.
- Determinar el número de componentes de la mezcla
es lo mismo - que determinar el número de clusters.
- Se usan los criterios de AIC ( Criterio de
Información de Akaike) - y BIC ( Criterio de Información Bayesiano).
47- Indice de Dunn (1974). La idea es identificar los
clusteres que estan bien compactos y bien
separados de los demas. Dada una particion de
clusters donde ci representa el i-esimo cluster
de la particion, se define el indice de Dunn por -
-
- donde d(ci,cj) es la distancia entre los
clusters ci, y cj y d'(ck) representa la
distancia intracluster del cluster ck. - En numero optimo de clusters es aquel que
maximiza D. - La libreria fpc tiene una funcion cluster.stats
que calcula el indice de Dunn.
48Silhouette plots
- Los plots siluetas, (Rousseeuw 1987) pueden ser
usados para - Seleccionar el número de clusters.
- Evaluar cuan bien han sido asignados las
observaciones en los clusters. - El ancho de la silueta (silhouette width) de la
i-ésima - observación es definida por sili (bi - ai)/
max(ai, bi) - Donde, ai denota la distancia promedio entre la
observación i y - todas las otras que están en el mismo cluster de
i, y bi denota la - distancia promedio minima de i a las
observaciones que están en - otros clusters.
49Características de los Silhouette plots
- Las observaciones con ancho de silueta grande
están bien agrupadas mientras aquellas con ancho
de silueta baja tienden a estar ubicada en el
medio de dos clusters. - Para un número de clusters dado K, el ancho de
silueta promedio de la configuracion de
conglomerados será simplemente el promedio de
sili sobre todas las observaciones. Es decir, - Kaufman y Rousseeuw (1990) sugirieron estimar el
número óptimo de cluster K para el cual el ancho
de silueta promedio sea la mayor posible.
50Ejemplo de los Silhouette plots
- Ejemplo con el conjunto de datos Bupa y el metodo
jerarquico aglomerativo - gt agbupaagnes(dist(bupa,16),methodward)
- gtasilohuette(cutree(agbupa,k2),daisy(bupa,16)
) - gtbsilohuette(cutree(agbupa,k3),daisy(bupa,16)
) - gtcsilohuette(cutree(agbupa,k4),daisy(bupa,16)
) - gtpar(mfrowc(1,3))
- gtplot(a,main)
- gtplot(b,main)
- gtplot(c,main)
- Mirando el plot k2 clusters es lo recomendado.
51PLOTS SILUETAS PARA CLUSTERING DE BUPA
52Ejemplo de los Silhouette plots
- Ejemplo con el conjunto de datos Bupa y el metodo
PAM - silicomrep(0,9)
- for(i in 19)
- silicomipam(vehicle,118,i1,
- dissF,standT)silinfoavg.width
- plot(210,silicom)
- plot(210,silicom,type"o",xla"clusters",main"pl
ots de siluetas") - Aqui tambien salen 2 clusters.
53.
Indices externos
Supongamos que tenemos dos particiones de n
objetos x1, ..., xn la partición en R clases U
u1, ..., uR y la partición en C-clases
Vv1, ...,vC, por lo general una de ellas
conocida de antemano.. Los indices externos de
concordancia entre las particiones pueden ser
expresados en término de una tabla de
contingencia con entradas nij que representa el
número de objetos que están en ambos clusters
ui and vj, i 1,...,R, j 1,...,C . Sean
y
.
que denotan las sumas de filas y columnas de la
tabla de contingencia. Sea
54- Dada las dos particiones U y V
- a numero de pares objetos que estan en el mismo
cluster tanto en U como en V. - c numero de pares de objetos que estan en el
mismo cluster en V pero no en U. - b numero de pares de objetos que estan en el
mismo cluster en U pero no en V. - d numero de pares de objetos que estan en
diferentes clusters tanto en U como en V. - m1ab numero de pares de objetos en
el mismo cluster en U. - m2ac numero de pares de objetos en
el mismo cluster en V.
55Ejemplo
- a 4, b 2, C3, d6, m16, m27, Z14
5
5
4
4
1
1
2
2
3
6
3
6
P1
P2
Notar que Mabcd
56- Rand(1971)
- Jaccard
- Fowlkes and Mallows
Un valor de Rand, Jaccard y FM cercano a 1
indica un buen agrupamiento.
57- La medida ? de Hubert y Arabie (1985)
- Sean las variables aleatorias
- X(i,j)1 si los objetos i y j caen en el mismo
cluster de la particion U e igual a 0 en otro
caso. - Y(i,j)1 si los objetos i y j caen en el mismo
cluster de la particion V e igual a 0 en otro
caso. - Se define la medida ? de Hubert como
-
58- Para obtener valores de ? entre -1 y 1 se
prefiere normalizarlo y se obtiene
Que es equivalente a
59- Pero, usando el hecho que X y Y son binomiales,
se tiene que
Que son las probabilidades de que los objetos i
y j caigan en los mismos clusters de las
particiones U y V respectivamente
60 61 62- Sustituyendo, en la forma de ? normalizada se
tiene
Ahora usando las identidades
y a (z-n)/2, se tiene la siguiente formula
simplificada de H
63(No Transcript)
64- gtagbupaagnes(dist(bupa,16),method"ward")
- gtacutree(agbupa,k2)
- gt mexter(bupa,7,a)
- rand
- 1 0.4990563
- jaccard
- 1 0.4163361
- fandm
- 1 0.5954606
- hubert
- 1 -0.01218121
65- gt agbupaagnes(dist(bupa,16),method"complete")
- gt ccutree(agbupa,k2)
- gt mexter(bupa,7,c)
- rand
- 1 0.5103809
- jaccard
- 1 0.5091815
- fandm
- 1 0.7124241
- hubert
- 1 -0.01026507
- gt table(c)
- c
- 1 2
- 344 1
66- FOMFigure of Merit (Yeung and Ruzzo,2001)
- The Gap Statistics (Tibshirani,2000).
- Clest (Dudoit Fridlyand, 2002)
67 Algoritmo Clest (Dudoit Fridlyand, 2002).
- Estima el número de conglomerados basado en la
precision de la prediccion. - Para cada número de clusters k, se divide al azar
B veces el conjunto de datos original en dos
conjuntos que no se superponen. - Uno de ellos Lb forma la muestra de
entrenamiento y el otro, - Tb forma la muestra de prueba , b 1, . . . , B.
- -Aplicar el algoritmo de conglomerados (se
recomienda el PAM) a las - observaciones en el conjunto de entrenamiento
Lb. - Construir un clasificador ( puede ser LDA,
k-nn, CART, etc) usando las - etiquetas obtenidas del método de conglomerados.
- -Aplicar el clasificador al conjunto de prueba
Tb. - -Aplicar el algoritmo de conglomerados al
conjunto de prueba Tb.
68- -Calcular un score sk,b comparando las etiquetas
del conjunto de prueba obtenidas por
conglomerados y por predicción del clasificador.
Estos scores se obtienen aplicando indices
externos como RAND, Jaccard o Fowkles y Mallows
(FM) - -El score de similaridad para los k clusters es
la mediana de los B scores de similaridad tk
median(sk,1, , sk,B). - -El número de clusters K es estimado comparando
el score observado tk con su valor esperado
asumiendo cierta distribución de Referencia.
69El programa Machaon (2004)
- Nadia.Bolshakova (CS Department, Trinity College,
UK) - Cluster Validty Tool for gene Expression data
70Model-Based Clustering ( Fraley y Raftery, JASA
2002)
- Cluster analysis is the automatic numerical
grouping of objects into cohesive groups based on
measured characteristics. It was invented in the
late 1950s by Sokal, Sneath and others, and has
developed mainly as a set of heuristic methods.
More recently it has been found that basing
cluster analysis on a probability model can be
useful both for understanding when existing
methods are likely to be successful, and for
suggesting new and better methods. It also
provides answers to several questions that often
arise in practice but are hard to answer with
heuristic methods How many clusters are there?
Which clustering method should be used? How
should we deal with outliers?
71(No Transcript)
72(No Transcript)
73Mixture Models
74La distribucion Normal Multivariada
75(No Transcript)
76El criterio BIC (Bayesian Information Criiterio)
para seleecionar el mejor modelo
77Uso de Mclust
- Los siguientes modelos son comparados en
'Mclust' - "EII" spherical, equal volume
- "VII" spherical, unequal volume
- "EEI" diagonal, equal volume, equal shape
- "VVI" diagonal, varying volume, varying
shape - "EEE" ellipsoidal, equal volume, shape,
and orientation - "VVV" ellipsoidal, varying volume, shape,
and orientation - El comportamiendo de los modelos dependen de la
descomposicion espectral de las matrices de
covarianzas
78- gt aMclust(bupa,16,1,10)
- gt a
- best model diagonal, varying volume and shape
with 3 groups - averge/median classification uncertainty 0.073
/ 0.021 - gt abic
- VVI,3
- -14849.09
- gt table(aclass)
- 1 2 3
- 54 132 159
79- gt amu
- 1 2 3
- 1, 91.664438 90.427333 89.348818
- 2, 74.955187 73.977292 64.234641
- 3, 58.914106 29.433324 20.519567
- 4, 39.658591 24.257670 19.322190
- 5, 99.944124 36.716947 16.416432
- 6, 6.149999 3.735032 2.184232
- gt
80- gt aBIC
- EII VII EEI VVI
EEE VVV - 1 -18303.43 -18303.43 -15988.99 -15988.99
-15568.76 -15568.76 - 2 -17202.79 -16598.66 -15516.20 -15013.02
-15413.77 -14963.88 - 3 -16838.22 -16197.67 -15415.00 -14849.09
-15454.39 -14952.60 - 4 -16678.31 -16009.19 -15413.34 NA
-15449.75 -15069.52 - 5 -16554.48 -15886.21 -15222.57 NA
-15355.04 NA - 6 -16246.93 -15869.42 -15161.92 NA
-15234.79 NA - 7 -16247.13 -15757.33 -15158.05 NA
-15276.59 NA - 8 -16110.88 -15715.53 -15195.28 NA
-15278.72 NA - 9 -16111.35 -15703.37 -15200.99 NA
-15325.55 NA - 10 -16127.09 -15687.65 -15232.80 NA
-15238.77 NA
81(No Transcript)
82(No Transcript)