ESMA 6835 Mineria de Datos - PowerPoint PPT Presentation

1 / 82
About This Presentation
Title:

ESMA 6835 Mineria de Datos

Description:

La idea de analisis de conglomerados ('clustering' ) es agrupar muestras (filas) ... Se supone que las clases a las que pertenecen las ... sombupa$codes ... – PowerPoint PPT presentation

Number of Views:313
Avg rating:3.0/5.0
Slides: 83
Provided by: edgar9
Category:
Tags: esma | cods | datos | mineria

less

Transcript and Presenter's Notes

Title: ESMA 6835 Mineria de Datos


1
ESMA 6835 Mineria de Datos
  • CLASE 15
  • Unsupervised classification, Clustering
  • Dr. Edgar Acuna
  • Departmento de Matematicas
  • Universidad de Puerto Rico- Mayaguezmath.uprrm.
    edu/edgar

2
Introduccion
  • 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.

3
Cluster 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)

6
Aspectos 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?

7
Propiedades 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
8
Medidas 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á

9
Medidas 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.

10
Medidas 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.

11
Medidas 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
12
Medidas 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

14
Librerias 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.

16
Plot 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.

17
Distancias 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.

19
Tipos 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.

21
1-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.

22
K-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
23
Alternativas 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.

24
Caracterí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.

25
R 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)

26
Particionamiento 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

27
k-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
28
R 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.

29
Mapas 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 .

30
Mapas 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).

31
El 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.

32
R 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

33
SOM usando la libreria SOM
34
Algoritmo 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)

35
Dendrogramas
  • 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

37
Ejemplo 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)
39
Heatmaps.
  • 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.

40
Ejemplo de heatmaps para Iris
Notar que solo las variables 2 y 3 determinan
claramente las 3 clases.
41
Algoritmo 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.

42
Ejemplo 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.

43
Mé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

44
Ejemplo 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

45
Comparació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.

46
Determinació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.

48
Silhouette 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.

49
Caracterí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.

50
Ejemplo 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.

51
PLOTS SILUETAS PARA CLUSTERING DE BUPA
52
Ejemplo 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.

55
Ejemplo
  • 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
  • Similarmente,

61
  • Finalmente,

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.

69
El programa Machaon (2004)
  • Nadia.Bolshakova (CS Department, Trinity College,
    UK)
  • Cluster Validty Tool for gene Expression data

70
Model-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)
73
Mixture Models
74
La distribucion Normal Multivariada
75
(No Transcript)
76
El criterio BIC (Bayesian Information Criiterio)
para seleecionar el mejor modelo
77
Uso 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)
Write a Comment
User Comments (0)
About PowerShow.com