2015-04-092015215Laboratorio 4 (Analisis de Conglomerados-Clustering Con Anexo)
description
Transcript of 2015-04-092015215Laboratorio 4 (Analisis de Conglomerados-Clustering Con Anexo)
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
1
Laboratorio 4:
Pre-procesamiento de datos y Anlisis de Clsters (Conglomerados)
Temas en este laboratorio:
Importar datos
Pre-Procesamiento de Datos
Anlisis de Clsteres Jerrquicos
Revisin de Dendogramas
Anlisis de Clsteres No Jerrquicos
Medidas de rendimiento de Clster
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
2
Notas para Laboratorio
Este laboratorio ser desarrollado con la base de datos que fue utilizada en el
laboratorio nmero 2. Se recomienda que para un mayor entendimiento de la base de datos sta
sea revisada en los laboratorios anteriores.
Pre-procesamiento de Datos
1. Importar Datos
Para comenzar a trabajar primero debemos importar los datos al programa RapidMiner, para eso
se debe repetir el mismo proceso de los laboratorios anteriores. Recordar que para importar los
datos se debe dirigir a
Figura 1
Recordar que en el paso 4 se solicita escribir el formato de la fecha que en este caso es
dd/mm/yyyy , luego aceptar y situar los datos en el panel de procesos. Otro modo de realizarlo es
buscar entre los repositorios que se posee y si ha sido importada anteriormente situarla en el
panel de procesos. Luego hacer clic en play y crear un repositorio de proceso.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
3
2. Operador Multiply: Creacin de mltiples procesos
Tal y como fue visto en laboratorios pasados RapidMiner hace uso del operador Multiply cuando
se desea realizar ms de un proceso en paralelo. En este laboratorio se realizarn varios procesos
en paralelos con la finalidad de conocerlos y compararlos, por lo cual, se utilizar est funcin
desde el comienzo. La funcin Multiply se encuentra en el men de operadores en Process
Control, Multiply.
Figura 2
3. Visin de datos agregados
Siguiendo el proceso de anlisis de datos, ahora se observarn los datos agregados haciendo uso
del operador Aggregate, para esto haga clic en el operador que se encuentra en Data
Transformation. Luego conctelo con el trabajo realizado hasta el momento.
En el men del operador (a mano derecha) debe seleccionar los valores de Group By Attributes:
Occupation y Aggregation Attributes: Mo_Income y Aggregation Function: Average.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
4
Figura 3
Luego haga click en play y pase a la vista de resultados, en la vista haga uso de Data View y podr
observar los datos de cada una de las distintas ocupaciones con sus promedios en Ingreso
Mensual.
Figura 4
4. Map: renombrar campos de una funcin
Para poder realizar un Anlisis de Clster, es necesario convertir los atributos nominales a
numricos (con una escala ordinal, de intervalo y/o de ratio) de manera de poder calcular
indicadores que reflejen similitud y distancia entre observaciones. Por ejemplo, para el atributo
Occupation se observan 5 valores posibles: "Professional","Skilled" y
"Unskilled". Sin embargo, dado que stos son atributos nominales no ordinales, es imposible para
el algoritmo conocer que un cliente con una ocupacin Professional es probablemente ms
parecido a uno con una ocupacin de Manager que a uno con ocupacin Unskilled. En este
ejemplo, se podra crear una mtrica que reflejara el nivel de educacin esperado de cada
categora para representar dicha similitud. As, se podra definir que el nivel Unskilled posee el
nivel de educacin ms bajo y se le atribuira el valor 0. Para el valor Manager se le podra atribuir
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
5
el nivel de educacin ms alto, es decir, un valor de 4. En esta nueva mtrica ser claro para el
algoritmo que el valor 0 est ms cercano del valor 1 que del valor 4.
Similarmente, la nueva mtrica tambin podra reflejar distancias en una unidad continua. Esto se
podra lograr relacionando el valor de la categora con otro atributo, por ejemplo el nivel de salario
esperado de cada categora. En este ejemplo, se puede apreciar del resultado de la tabla
Aggregate que la ocupacin Manager posee alrededor de $400 mensuales ms de ingreso ($3.035)
que la categora que lo sigue, Professional ($2.601). Utilizando sta informacin, se podra crear
una nueva mtrica que reflejara no tan slo el orden sino tambin la distancia entre las categoras,
en este caso de ocupaciones, dado su nivel de ingreso promedio mensual.
Debido a que no existe una manera nica de asociar mtricas a valores nominales, el criterio con
que este pre-procesamiento sea realizado depender de la experiencia y dominio del analista del
problema de negocios. En este laboratorio transformaremos el atributo Occupation a una escala
ordinal.
Para realizar estas operaciones de re-categorizacin o mapeo una opcin en RapidMiner es hacer
uso del operador Map que se encuentra en Data Transformation, Value Modification, Nominal
Value Modification, Map. Este operador nos permite cambiar las categoras de las variables y
transformarlas o reagruparlas en nuevas categoras.
Figura 5
Para usar esta funcin se debe escoger el atributo a cambiar en . Luego, dado
que slo reclasificaremos un atributo seleccionaremos la opcin attribute single y se escoger el
atributo Occupation. El siguiente paso es entrar en la opcin Edit List en la que se definirn las
reglas de recategorizacin:
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
6
Figura 6
En el men que aparecer se deben escoger todos los valores de la funcin ocupacin y realizar el
cambio pertinente en escala de 0 a 4, recordar que es importante que empiece en 0 para que se
pueda establecer un punto de referencia absoluto o valor "base" de las categoras.
En este laboratorio se ha decidido que se har en base al orden del ingreso promedio por
categora (Mo_Income), por lo cual la lista queda como la que se puede ver en la siguiente figura:
(Es importante escoger un modo de recategorizarlos segn un principio justificable)
Figura 7
Luego haga clic en Play. Al hacer esto pase a la vista de resultados, y podr observar que el
atributo Occupation ha cambiado de valores a nmeros en vez de valores nominales.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
7
Figura 8
5. Seleccin de Atributos
Otra tarea del investigador es saber seleccionar que atributos pueden entregar informacin y
cules no son relevantes para el modelo, esto se puede realizar de muchos modos, como por
ejemplo sacando dos variables que expliquen lo mismo (que estn altamente correlacionadas o
que presenten informacin duplicada). Por lo mismo en este trabajo no se utilizarn todas las
variables, para esto se debe utilizar el operador Select Attributes, que se encuentra en Data
Transformation, Atributes Set Reduction and Transformation, Selection, Optimization y Select
Attributes del men de operadores.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
8
Figura 9
Los atributos que no se utilizarn son: Account Status, DOB (Fecha de nacimiento), gnero, ID,
mes, ao y Mo_Balance. El caso de DOB, ID, mes y ao se explica porque estas variables no
reflejan similitud entre los clientes. El valor ID, por ejemplo, es un nmero arbitrario que es
asociado a cada cliente sin representar ningn orden en particular. La columna DOB (date of
birth), sin embargo, podra haber sido utilizada porque refleja la edad de los clientes, pero fue
descartada para simplificar el problema. Lo mismo ocurri con la columna Gender y Account
Status. Mo_Balance fue retirado de la base de datos, pues se prefiri mantener las columnas que
la dieron origen: Mo_Income y Mo_Expenses.
Q: Por qu cree usted que fueron filtradas las columnas MONTH y YEAR?
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
9
Figura 10
Haga clic en Ok y luego en play y se mantendrn slo las variables seleccionadas.
Figura 11
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
10
6. Transformacin de variables categricas a numricas
Para poder trabajar con Clster lo mejor es tener todas las variables en trminos numricos como
fue explicado anteriormente, por lo mismo se utilizar el operador Nominal to Numerical. Para
buscar este operador se puede usar el filtro en operadores y anotar Nominal to Numerical.
Figura 12
Con esto se presiona play y podemos ver que todos los datos se encuentran en formato numrico
o entero.
Figura 13
Anlisis de Clster
7. Clster Jerarquizado
Ahora comenzaremos a realizar los anlisis de clster. Primero se analizar el Clster jerarquizado
(en RapidMiner Agglomerative Clustering). Este anlisis y los otros de clster se encuentran en el
men de operadores en Modeling, Clustering and Segmentation. Este se debe conectar con los
pasos realizados anteriormente, conectar el nodo que aparece con nombre clu y hacer clic en
Play.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
11
Figura 14
Al pasar a la vista de resultado podemos observar lo siguiente.
Figura 15
La primera pantalla nos dice la cantidad de clsters que nos otorg el proceso, en la opcin
Dendogram View, podemos pasar a la vista de Dendogramas. Un dendograma es un mapa que
nos dice como se fueron convirtiendo las distintas observaciones en la base de datos en los Clster
dada la distancia calculada entre ellos. Esta vista tambin nos entrega un anlisis inicial de en
cuantos Clster podramos separar la muestra para que estos sean equilibrados (no es muy til
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
12
tener Clster de tamaos muy desproporcionados, por ejemplo si tuviramos 1000 casos a
analizar y un clster contiene 999 casos y el otro slo 1). Por inspeccin y de manera bastante
subjetiva se podra observar que existen alrededor de 5 grandes grupos en nuestros datos:
Figura 16
8. Clustering de K-Medias
El mtodo de Clustering por K-Medias, se basa en que el investigador tiene una nocin de cuantos
clster existen o necesita crear. Para esto utilizaremos 5 como fue mencionado anteriormente.
Para no tener que volver a realizar todos los procesos anteriormente seleccionados, estos se
pueden copiar y pegar en la ventana de procesos. Para realizar esto mantenga presionada la tecla
Control de su teclado y haga clic en los operadores Map, Select Attributes y Nominal to
Numerical que se encuentran en el panel de procesos primero. Luego presione control+c para
copiar y luego presione control+v para pegar:
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
13
Figura 17
Al hacer esto el proceso quedar automticamente conectado con el Multiply anterior.
Figura 18
Ahora seleccione el operador K-Means del men de clsters en los operadores y nalo a la nueva
lnea que se gener.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
14
Figura 19
En el operador de Clster que fue agregado al panel de procesos se debe seleccionar un nuevo
valor para el K (K es la cantidad de Clster que se desea que encuentre), en lugar de 2 se usarn
los 5 anteriormente nombrados.
Figura 20
Al presionar Play el programa mostrar la vista de resultados. La nueva vista generada, Text View,
muestra la cantidad de casos por clster. La vista Folder View nos muestra una lista de los casos (o
clientes) que pertenecen a cada grupo en particular.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
15
Figura 21
Figura 22
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
16
Tambin podemos pasar al para ver cules son los centroides o casos
representativos de cada Clster en cada una de las variables. Este valor representativo puede ser
entendido como el valor promedio para cada atributo de cada clster.
Figura 24
Por ltimo tambin hay una vista grfica en que los centroides para cada atributo se pueden
comparar.
9. X-Means Clustering
En las tcnicas de clustering anteriormente expuestas el usuario debe definir a-priori la cantidad
de clsters que desea, o analizar grficamente la cantidad apropiada de clsters, lo que puede ser
demasiado subjetivo. El algoritmo de X-Means, por el contrario, intenta ayudar al usuario
recomendando un nmero de clsters a realizar basado en las caractersticas de los datos.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
17
Para utilizarlo primero copiaremos nuevamente todo el pre-procesamiento y lo conectaremos al
operador Multiply . Esto nos producir la siguiente vista en el Panel de Procesos.
Figura 25
El operador de X-Means buscar cuantos clsters realizar entre 2 y 60, ac no es necesario realizar ningn cambio y se puede presionar Play. Las opciones que podemos observar son las mismas del Clster de K medias, pero en este caso el algoritmo sugiere agrupar los casos en slo 4 grupos.
Figura 26
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
18
Figura 27
10. Calidad de los Clster
El programa RapidMiner posee distintas medidas para poder analizar la calidad de los clsters
anteriormente utilizados, estas se encuentran en el men de operadores en Evaluation,
Performance Measurement, Clustering. Para este laboratorio utilizaremos la medida Clster
Distance Performance, pero esta medida slo puede ser utilizada en los algoritmos de Clster no
jerrquicos, por lo cual slo ser aplicada a los ltimos dos que realizamos (K-Means y X-Means).
Para esto debemos situar este operador luego de los modelos de clsters.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
19
Figura 28
Figura 29
Figura 30
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
20
Con esto podemos ver el valor de las distancia promedio de los casos en cada cluster respecto del
centroide o caso representativo del clster. De esta manera, mientras menor sea la distancia
promedio de los casos respecto del caso representativo se puede deducir que el clster es ms
homogneo, y por lo tanto de mejor calidad. Comparando entre los resultados del anlisis de
clusters utilizando K-means versus el de X-means es posible observar que esta mtrica es menor
para el segundo caso. Por lo tanto, es posible deducir que los datos son mejor representados en
grupos cuando la cantidad de grupos escogida es la sugerida por el algoritmo de X-means, es decir,
4 grupos. En el Anexo del laboratorio se presenta mayor informacin respecto de cmo se podra
instalar un complemento adicional que calcula la mtrica de Silueta de clsters, la cual es usada
tpicamente en la literatura como medida de bondad del anlisis.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
21
Tarea:
1. Cree una escala nominal de intervalo para re-categorizar el atributo Occupation
2. Cmo cambian los resultados del anlisis de clsters utilizando esta escala en vez de la
original? Refirase al nmero de clsters resultantes y a la estadstica descriptiva de los
centroides.
3. Qu decisiones de negocios podran ser implementadas si se analizan las diferencias
entre los centroides de los clsters resultantes del anlisis de X-means?
4. Muestre grficamente las diferencias entre clsters utilizando un grfico de 3D scatter
plot, en que el eje X corresponda al Mo_Income, Eje y Mo_Expenses, eje Z
Marital_Status y el color del atributo a la etiqueta de clster.
5. Vuelva a realizar el grfico anterior, cambiando el eje Z a una variable de su eleccin.
Cules son las diferencias que nota con el grfico anterior? Interprete desde el punto
de vista del problema de negocios (descripcin de segmentos de clientes de un Banco).
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
22
Anexo Laboratorio
Silloutte Clustering Performance Measure
Temas en este anexo:
Importar datos
Clustering K-Means
Aglomerative Clustering
(Average) Silhouette
Cophenetic Correlation Coefficient
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
23
Notas para anexo de Laboratorio
En el presente anexo, se explica cmo instalar, utilizar e interpretar el pluggin de Silhouette
Average y Cophenetic en Rapid Miner, utilizados para medir cuan buena fue la clasificacin de la
muestra en los distintos clusters encontrados. Dichos operadores no estn presentes en la versin
actual de Rapid Miner, pero pueden ser descargados directamente desde la web1 o bien utilizar la
carpeta subida a descargas de docencia web de nombre CPPlugin-0.3.jar_.
La versin de Cophenetic descargada y escogida para ser instalada es la 0.3.
Una vez descargada y descomprimida la carpeta, el archivo en el interior CPPlugin-0.3 debe ser
movido al directorio de Rapid Miner (donde est instalado el programa) en la carpeta pluggins que
est dentro de la carpeta lib.
(1)
(2)
1 http://korek.name/web/moje-tvorba/rapidminer-clustering_performance_plugin-average_silhouette-cophenetic_coefficient
http://korek.name/web/moje-tvorba/rapidminer-clustering_performance_plugin-average_silhouette-cophenetic_coefficienthttp://korek.name/web/moje-tvorba/rapidminer-clustering_performance_plugin-average_silhouette-cophenetic_coefficient -
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
24
(3)
(4)
Desde este momento el programa cuenta con dos operadores de medicin de performance
especficos para medir cuan apropiadas fueron las clasificaciones en Clster o segmentos.
Proceso Propuesto Abra el programa y cargue la base de datos utilizada en el laboratorio 4 Credit_Lab4_bif y genere
al menos dos clasificaciones de clster, siendo luego evaluados con (Average) Silhouette y
Cophenetic Correlation Coefficient. Los operadores de clasificacin de Clster utilizados en el
Anexo son K-Means y Agglomerative clustering.
(1) El set de datos con missing labels fue filtrado para que los cluster sean calculados con los
datos que si se conocen su Label.
(2) Los Operadores de clasificacin de cluster, como K-Means, no permiten atributos
binomiales , por lo tanto es necesario transformarlos a numricos (Nominal to Numerical)
(3) Multiply para permitir procesos distintos con la misma muestra.
-
Business Intelligence y Data Mining
Profesor: David Daz., PhD.
Ayudante: Matas Bastidas, Fabio Salinas
25
(4) El primer clster es K-Means siendo conectado al performance measurement llamado Average Silhouette.
(5) El segundo cluster propuesto es agglomerative clustering conectado con Cophenetic Correlation Coefficient. Este performance Measuremente necesita adems como input el operador data to similarity.
Silhouette promedio Crea un indicador de calidad de anlisis de clster en el rango -1 a 1. Mientras ms cercana a uno
positivo sea ste indicador, mejor ha sido la clasificacin. La lgica detrs del indicador revisa la
homogeneidad de los grupos creados, corrigiendo adems por la heterogeneidad inter-clsters y
el ratio de tamao de los grupos creados. Ms info en:
http://en.w ikipedia.org/wiki/Silhouette_(clustering)
Data to Similarity Calcula una medida de similitud entre la data. Este operador es un input necesario para el
operador cophenetic correlation coefficient.
Cophenetic Correlation Coefficient (CPCC) Este operador calcula el coeficiente de correlacin cofonetica. La lgica detrs de este operador
es calcular un coeficiente que refleje la correlacin entre la matriz de distancias original de los
datos, y la matriz cofontica, la cual muestra las distancias entre los centroides lo de los clsters
creados. Al igual que una correlacin normal, mientras ms cercado a 1 sea el valor, mayor ser la
relacin o similitud entre los resultados del anlisis de clsters y los datos originales, lo que
representa un clstering exitoso. Ms info en:
http://people.revoledu.com/kardi/tutorial/Clustering/Cophenetic.htm
http://en.wikipedia.org/wiki/Silhouette_(clustering)http://people.revoledu.com/kardi/tutorial/Clustering/Cophenetic.htm