Está en la página 1de 28

Minera de datos WEKA

Susana Medina Gordillo Escuela de Ingeniera de Sistemas y Computacin Universidad del Valle

Introduccin
Qu es WEKA?
Corresponde a las siglas en ingls de Waikato Environment for Knowledge Analysis. Es una herramienta de soft are desarrollada en !ava por la Universidad de "a#aito $%ueva &elanda'( Esta herramienta contiene principalmente algoritmos de machine Learning usados en el proceso de la minera de datos( "E)* incluye herramientas para el pre+ procesamiento de los datos $filtros', clasificacin $-r.oles, ta.las', clustering, reglas de asociacin y adicionalmente, diversas formas de visuali/acin de los datos, tanto en el inicio del proceso de carga de datos, como despus de ha.er aplicado un algoritmo( *l estar cu.ierta con la licencia G%U, es posi.le usar directamente las implementaciones en !ava de los algoritmos y unirlos a otros tipos de soft are, para crear procesos de minera semi+automati/ados(

Figura 1: Interfa de WEKA con un archivo cargado.

Instalacin
0as 1ltimas versiones esta.les $2(3 y 2(4' se pueden descarga del sitio e.5 http566 (cs( ai#ato(ac(n/6ml6 e#a6 donde est-n para diversos sistemas operativos como "indo s $ar7uitecturas 893 y 834', Mac :S ; y distri.uciones 0inu8( Independientemente del sistema usado( "E)* utili/a la m-7uina virtual de !ava, por lo

cual la versin 7ue se descargue de.e contener el !<E $!ava <untime Environment' so.re el cual se e=ecuta( Si ya est- instalado previamente se puede utili/ar para la instalacin una versin sin el !<E $son m-s livianas'( >am.in est- disponi.le en la p-gina e., la versin de desarrollo $2(? hasta el momento', so.re la cual van corrigiendo !ugs y a@adiendo nuevas funcionalidades( Windows En la p-gina oficial, al igual 7ue en muchos otros sitios, el instalador de "E)* es un e=ecuta.le( Se de.e escoger la versin acorde con la ar7uitectura del "indo s, ya sea 893 834( Una ve/ se sigan las instrucciones del programa de instalacin $Aigura B' y se finalicen $Aigura 2', inmediatamente se puede comen/ar a utili/ar "E)* $Aigura 4'(

Figura ": Instalador de Weka #.$.% &ara Windows.

Figura #: Instalaci+n terminada.

Figura ': ()I de Weka en Windows *.

Linux Cara los e7uipos 7ue cuenten con cual7uier distri.ucin 0inu8, las versiones disponi.les en la p-gina oficial .rindan un archivo .zip 7ue slo contiene a "E)*( El entorno de !ava $!<E' se de.e ha.er instalado previamente( Despus de descomprimir el .zip, se puede e=ecutar directamente usando el comando5 java -jar weka.jar

En la distri.ucin U.untu, adem-s de la instalacin directa del ( zip, se puede instalar desde los repositorios $la versin 2(3', como se muestra en la Aigura E, a.riendo el Gestor de pa7uetes Synaptic y .uscando por el nom.re de F e#aG el pa7uete correspondiente(

Figura %: -ersi+n #.$ de Weka de re&ositorios &ara instalar en la distri!uci+n )!untu.

Preprocesamiento de datos
Esta etapa es siempre la m-s dispendiosa y por ende la 7ue consume el mayor tiempo en el desarrollo de un proyecto de minera de datos( *pro8imadamente el ?HI o m-s de la duracin estimada de un proyecto, se gasta en el an-lisis de datos( Sin em.argo, al hacer la planeacin es com1n encontrar 7ue al preprocesamiento no se le asigna un tiempo adecuado( El preprocesamiento de datos a.arca procesos de e8traccin, limpie/a e integracin( *lgunas veces tam.in se de.en hacer c-lculos, a partir de los datos dados, para o.tener otros nuevos m-s interesantes 7ue se puedan incluir en los estudios de minera( %o e8iste un orden e8acto para estos procesos, ni un n1mero de veces a reali/ar cada uno de ellos, tras los cuales se pueda afirmar 7ue se finali/ esta etapa( Cor el contrario, todo depende del tipo y la naturale/a de los datos 7ue se est-n tratando, al igual 7ue la forma en 7ue se van e=ecutar los algoritmos de minera( En muchos estudios es usual implementar alg1n algoritmo $por e=emplo el k,means' e ir reali/ando variaciones en los par-metros para generar diversos resultados( Si el algoritmo elegido no da .uenos resultados $en el caso del k,means genera demasiadas o pocas agrupaciones', se hacen variaciones del mismo algoritmo $como kernel k,means' o definitivamente se descarta y se inicia el tra.a=o con otro algoritmo( De esta manera, se invierte mucho tiempo en cada implementacin con un posi.le resultado fallido( Cor ello, es recomenda.le tener muy claro los o.=etivos de la minera, para usar las tcnicas y los algoritmos m-s adecuados( Una de las formas actuales m-s utili/adas y pr-cticas

para hacer minera, es usar soft are especiali/ado para las tareas de minera de datos( "E)* es slo de una de las herramientas para an-lisis de datos, otra muy conocida es .a&id/iner $http566rapid+i(com6content6vie 6J9J6JKH6'( %o o.stante, esta gua se centra en e8plicar e8clusivamente el funcionamiento de "E)* por medio de e=emplos, especficamente la aplicacin del E8plorer $ver Aigura 4'(

Archivos ARFF
Son archivos arff $*ttri.ute+<elation Aile Aormat' 7ue contienen los datos e8trados y limpios o.tenidos en la etapa de preprocesamiento( *<AA es un formato de te8to plano, es decir, 7ue se puede visuali/ar y manipular, directamente, con cual7uier editor de te8to como gedit o note&ad( Com1nmente, se usa el trmino de con0unto de datos 1datasets2 para referirse al contenido de los archivos *<AA( Dentro de estos, los datos se representan como instancias independientes y desordenadasLJM, cada una en una linea, compuesta de valores para cada uno de sus atri.utos( Atributos Son las cualidades 7ue conforman las instancias en los archivos *<AA( Cada atri.uto toma un valor seg1n su tipo e influenciado en muchos casos por los dem-s atri.utos( 0a definicin de cu-les atri.utos se de.en incluir, corresponde a la etapa de preprocesamiento 7ue a.arca tam.in su.etapas muy importantes, como la seleccin de los datos o.=etivo( 0os tipos 7ue puede tener un atri.uto son .-sicamente dos( 0os numricos, 7ue se indican como NUMERIC y los nominales, 7ue pueden indicarse como NOMINAL o especificando todos los valores 7ue pueden tomar, es decir, el dominio del atri.uto $ver atri.uto consola en la Aigura 3'( >am.in e8isten los tipos STRING y DATE( 0os valores 7ue toman los atri.utos pueden incluir espacios, pero para ello de.en ir dentro de comillas, como ocurre con los atri.utos consola, color, lugar compra y medio de pago, en la Aigura 3( Estructura bsica de archivos ARFF Un archivo *<AA se compone de dos partes principales5 la ca.ecera y los datos o instancias( En la ca.ecera, cada linea inicia con un sm.olo de @( En la segunda parte se encuentran los datos separados por comas( >odas las lineas 7ue comiencen con un % corresponden a comentarios( 0a ca.ecera inicia con el tag @rela i!" indicando el nom.re de la relacin representada por los datos( En las lineas siguientes se definen los atri.utos, con el tag @a ri#$ e seguido de su nom.re y tipo, uno por lnea $ver archivo consolas Aigura 3'( 0os atri.utos son de diferentes tipos, acorde con los valores 7ue pueden tomar( Si es un n1mero se pone la pala.ra NUMERIC o REAL, tanto para decimales como enteros y si es nominal, todos los valores 7ue tome dicho atri.uto se ponen entre corchetes separados por comas $como en los atri.utos consola y color del archivo *<AA de la Aigura 3'(

% Autora: Susana Medina Gordillo % Datos para Guia del Curso de KDD (Semestre Agosto-Diciembre 2011) % Universidad del Valle (Cali - Colombia) @relation venta_consolas

@attribute 'edad comprador' NUMERIC @attribute consola {'Play Station 3', 'XBOX 360','Nintendo Wii'} @attribute color {'negro mate', 'negro brillante', blanco, negro} @attribute 'capacidad almacenamiento' {512MB, 4GB, 160GB, 250GB} @attribute costo NUMERIC @attribute 'lugar compra' {'La 14', 'Sony Center', 'el diamante', Exito, Carrefour} @attribute 'dia semana compra' {lunes, martes, miercoles, jueves, viernes, sabado, domingo} @attribute oferta? {SI, NO} @attribute 'medio pago' {'tarjeta debito','tarjeta credito', efectivo}

@data 23,'Play Station 3','negro mate',250GB,990900,'Sony Center',domingo,NO,'tarjeta credito' 25,'XBOX 360','negro brillante',250GB,389000,'La 14',sabado,SI,'tarjeta debito' 18,'XBOX 360','negro brillante',4GB,359900,Carrefour,sabado,SI,efectivo 24,'XBOX 360','negro brillante',4GB,359900,Carrefour,sabado,SI,efectivo 18,'XBOX 360','negro brillante',250GB,1109900,'La 14',jueves,NO,efectivo 21,'Play Station 3','negro mate',250GB,880900,Exito,viernes,SI,efectivo 21,'XBOX 360','negro brillante',250GB,990000,Exito,viernes,SI,efectivo 25,'Nintendo Wii',negro,512MB,509900,'La 14',sabado,SI,'tarjeta debito' 14,'Play Station 3','negro mate',160GB,990900,'Sony Center',martes,NO,efectivo 17,'XBOX 360','negro brillante',250GB,990000,Exito,sabado,SI,efectivo 16,'Play Station 3','negro mate',160GB,400000,'el diamante',jueves,NO,efectivo 17,'Play Station 3','negro mate',160GB,750000,Exito,viernes,SI,efectivo 30,'XBOX 360','negro brillante',4GB,359900,Carrefour,sabado,SI,'tarjeta credito' 43,'Nintendo Wii',blanco,512MB,550900,Exito,domingo,NO,'tarjeta credito' 38,'Nintendo Wii',negro,512MB,620000,Exito,domingo,NO,'tarjeta credito' 46,'Play Station 3','negro mate',160GB,1219000,'Sony Center',sabado,NO,'tarjeta credito' 13,'XBOX 360','negro brillante',250GB,359900,Carrefour,lunes,NO,efectivo 16,'XBOX 360','negro brillante',250GB,1149000,Carrefour,jueves,NO,efectivo 15,'XBOX 360','negro brillante',250GB,899000,'La 14',miercoles,SI,efectivo 23,'XBOX 360','negro brillante',250GB,1149000,Exito,viernes,NO,efectivo

Figura $: Archivo A.FF con datos so!re venta de consolas de vidoe0uegos.

Como se puede ver en la Aigura 3, el 1ltimo atri.uto medio de &ago, es la eti3ueta de clase 7ue se desea predecir( Sin em.argo, este atri.uto no se distingue de ninguna manera de los dem-s en el archivo *<AA( Esto significa 7ue so.re un mismo archivo se pueden aplicar diversos algoritmos de minera y descu.rir 7ue tan .ueno es cada atri.uto para predecir a los dem-s LJM( Nay 7ue tener en cuenta 7ue para algunos algoritmos de minera, el 1ltimo atri.uto 7ue aparece en el archivo *<AA es el valor a predecir( En estos casos es recomenda.le a@adirle a su nom.re un signo de interrogacin o un nom.re adecuado para distinguirlo con facilidad de los dem-s( Despus de incluir todos los atri.utos con su nom.re y tipo, se indica el inicio de la seccin de las instancias con el tag @%a a( Ainalmente, se incorporan las instancias, una por cada lnea, con los atri.utos especificando su tipo $como se e8plic en la seccin anterior' separados por comas( 0os datos faltantes $missing' se indican con un signo de interrogacin o un valor fuera de rango( 0o anterior significa 7ue si no se conoce la edad para una instancia del archivo de la Aigura 3 y de.ido a 7ue no es posi.le de=ar espacios en .lanco, se puede colocar un valor negativo( El formato *<AA permite verificar, de una manera f-cil, 7ue en el con=unto de datos los valores de los atri.utos correspondan a los tipos detallados en los tags @a ri#$ e( Crogramas como "E)* reali/an estas verificaciones de modo autom-tico, cuando cargan archivos *<AA( Carga de archivos 0a carga de archivos *<AA se hace con la aplicacin del E4&lorer $ver Aigura 4' cuya interfa/ se muestra al hacer clic en el .otn con este nom.re $ver Aigura J'( Una ve/ se tiene listo el archivo con los datos para anali/ar en "E)*, se puede cargar en el soft are, seleccion-ndolo como se muestra en la Aigura ?( Un paso opcional antes de cargar el archivo es visuali/arlo con el visor de "E)* para archivos en formato *<AA, 7ue se encuentra en el men1 5ools opcin Arff-iewer como se muestra en la Aigura 9(

Figura *: 6arga de archivos en la a&licaci+n E4&lorer de WEKA.

Figura 9: -isuali ador de A.FF de WEKA.

Cuando se necesita tra.a=ar con archivos con muchas instancias, es recomenda.le e=ecutar "E)* directamente desde una terminal, para indicarle 7ue use m-s memoria <*M de la asignada por defecto a la m-7uina virtual de !ava, usando el comando de la Aigura K(

Figura :: E0ecuci+n de WEKA desde un llamado &or terminal8 usando 1;"'/< de memoria.

Filtros
Cara aplicar los filtros hay 7ue u.icarse en la interfa/ donde se carga el archivo *<AA $Aigura J' 7ue corresponde a la pesta@a de 7re&rocess 1Creprocesamiento'( Una ve/ 7ue damos clic en el .otn 6hoose, el cual est- de.a=o de la eti7ueta Filter, para elegir un filtro, aparecen dos categoras supervisados y no supervisados( Cada categora, a su ve/, se su.divide en atri.uto e instancias( 0a eleccin en este punto se de.e reali/ar con miras a los tipos de algoritmos de minera 7ue se 7uieran aplicar( De todos modos, siempre es posi.le volver a esta pesta@a y aplicar filtros as ya se hayan e=ecutado algoritmos de minera( >am.in se puede deshacer la aplicacin de un filtro con el .otn )ndo8 para regresar a un estado anterior( Es necesario aplicar filtros cuando hay al menos un atri.uto con un tipo de datos 7ue el algoritmo de minera no procesa( >am.in es com1n su uso cuando se re7uiere normali/ar los datos para tener una representacin m-s adecuada(

0os filtros supervisados se de.en usar con cuidado en los con=untos de entrenamiento ya 7ue usan los valores de la eti7ueta de clase en la transformacin, para, por e=emplo, crear intervalos en una discreti/acin( Estos mismos intervalos se de.en usar luego con los con=untos de prue.a y sin usar ning1n filtro no su&ervisado LJM( 0os filtros no supervisados de atri.utos son generalmente los m-s utili/ados, en especial para transformar uno o varios atri.utos a un tipo de datos especfico( Es importante tener en cuenta 7ue al aplicar un filtro no supervisado, ste afectar- a todos los atri.utos con el mismo tipo de dato( Cor e=emplo, al aplicar discreti/acin con el filtro =umeric to =ominal, se transforman los dos atri.utos numricos de la relacin consolas $Aigura 3'5 edad comprador y costo( Una descripcin .reve de todos los filtros 7ue tiene "E)*, se puede encontra en el li.ro oficial hecho por los autores del soft are "E)* LJM, en las p-ginas 2KE a la 4H2( *simismo, una ventana con un resumen y los par-metros configura.les $Aigura JH', aparecer- al dar clic encima del nom.re del filtro, como se muestra $donde est- el cursor' en la Aigura JB( >am.in, al dar clic en los .otones de /ore y 6a&a!ilities, aparecer-n ventanas con informacin adicional so.re el algoritmo y sus opciones de uso $Aigura JJ'( * continuacin se e8plican algunos de los filtros m-s usados, cuando se re7uiere transformar los datos iniciales(

Figura 1;: >&ciones de configuraci+n &ara los filtros en WEKA.

Figura 11: Informaci+n adicional del filtro no su&ervisado =ormali e de WEKA.

Discretizacin 0as tcnicas de discreti/acin se usan para reducir el n1mero de valores de atri.utos continuos( 0a discreti/acin tam.in conocida como !inning, consiste en transformar un atri.uto numrico y representarlo como un atri.uto nominal, mediante la creacin de intervalos $!ins'( Un intervalo es un grupo de valores 7ue puede tomar un atri.uto $nominal'LBM(
Tcnica Simple binning Equal frequency binning El n1mero de .ins es igual a la ra/ cuadrada de valores no faltantes( 7KI?iscreti e ChiMerge Agrupacin redondeo y promedio Esta.lecen !ins por cada su.con=unto de datos(

Descripcin

Se esta.lece un n1mero de !ins est-ticos( 0os intervalos se calculan utili/ando informacin de los datos como el m-8imo y el mnimo( ?iscreti e

*nali/a la calidad de m1ltiples intervalos, dadas unas caractersticas usando el estadstico chi+ cuadrado( %o lo tiene

Filtro

E!A

5a!la 1: ?escri&ci+n de algunas t@cnicas de discreti aci+n con sus res&ectivos filtros en WEKA.

En el archivo consolas de la Aigura 3, se puede ver 7ue hay dos atri.utos numricos5 edad com&rador y costo( Vamos a convertirlos en atri.utos nominales y para ello

Figura 1": A&licaci+n del filtro =umeric to =ominal al con0unto de datos del archivo A.FF consolas. -isuali aci+n del atri!uto Aedad com&radorB transformado en nominal.

utili/aremos el filtro N$&eri'T!N!&i"al( En la parte derecha de la Aigura JB se puede ver la transformacin de los valores del atri.uto edad com&rador en valores nominales( En la Aigura J2 se puede ver la misma transformacin, pero o.servando los nuevos valores nominales del atri.uto costo(

Figura 1#: A&licaci+n del filtro =umeric to =ominal al con0unto de datos del archivo A.FF consolas. -isuali aci+n del atri!uto AcostoB transformado en nominal.

Numerizacin 0a tarea de numeri/acin es el proceso inverso de la discreti/acin, en el 7ue se transforman atri.utos nominales en numricos( Este caso no es tan com1n, pero e8isten situaciones en las cuales es 1til, como por e=emplo cuando el mtodo de minera de datos no acepta datos nominales( *n-lisis de componentes principales y redes neuronales, son algunas de las tcnicas de numeri/acin 7ue slo tra.a=an con atri.utos numricosLBM Norma izacin 0a normali/acin es una transformacin muy 1til empleada en la minera de datos( Se reali/a con dos fines principales( El primero, para poder representar todos los atri.utos en una misma escala( El segundo, para satisfacer re7uerimientos de las tcnicas utili/adas para minar, representando los datos en una escala menor $por e=emplo en una escala de cero a uno' LBM( En "E)* el algoritmo =ormali e, sirve para este fin(

eleccin de Atri!utos
0a seleccin de atri.utos es la etapa m-s importante dentro del preprocesamiento de datos, por7ue se eliminan a7uellos atri.utos 7ue son menos representativos( En algunos casos la seleccin de atri.utos se reali/a por ensayo y error, hasta conseguir un modelo a patrn eficiente, pero esto no es lo m-s adecuado ya 7ue el tiempo y el costo computacional crece con respecto al n1mero de varia.les e8istentes en la coleccin de datos LBM( Se recomienda concentrar esfuer/os en esta etapa cuando la cantidad de atri.utos se considere elevada para el dominio tra.a=ado( Sin em.argo, la seleccin de atri.utos permite, m-s all- de la reduccin de atri.utos, me=orar la precisin y el costo computacional de los resultados( E8isten diferentes formas para hacer seleccin de atri.utos, como las de tipo supervisada y no supervisada, donde la primera de.e contener la eti7ueta de clase, mientras 7ue la segunda no( 0a mayora de algoritmos 7ue mane=a "E)* para este fin hacen seleccin de un su.con=unto de atri.utos, mientras 7ue otros esta.lecen un ranking de los atri.utos m-s relevantes( >am.in e8isten clasificaciones por el tipo de evaluacin y por la direccin de .1s7ueda 7ue son m-s comple=as( En la pesta@a de seleccin de atri.utos de "E)*, se seleccionan un evaluador de atri.utos y un mtodo de .1s7ueda( Nay evaluadores de dos tipos, los 7ue pueden evaluar slo un atri.uto, como los algoritmos Info(ain, 6hiC3uared, (ain.atio8 .elief8 >ne.8 SVM y 7rinci&al6om&onents. El otro tipo, corresponde a a7uellos 7ue eval1an el con=unto completo de atri.utos del cual eliminan atri.utos poco significativos o redundantes, de=ando un su.con=unto de datos m-s significativo, como 6FC8 6lassifier8 6onsistency y Wra&&er( >am.in, e8isten evaluadores como 6ostCensitive, Filtered y Cymmetrical 7ue tienen algoritmos tanto para evaluar un atri.uto como para evaluar a varios, por lo cual se de.e tener cuidado en el momento de seleccionarlos( El mtodo de .1s7ueda .anker, slo tra.a=a con evaluadores para un slo atri.uto, es decir 7ue no tra.a=a con ninguno de los evaluadores de su.con=untos, los cuales "E)* nom.ra como Cu!setEval( Si se intenta for/ar al <an#er a utili/ar un evaluador de su.con=untos, "E)* mostrar- una alerta como en la Aigura J3(

Figura 1': Alerta mostrada &or WEKA al intentar usar un evaluador de su!con0untos con el m@todo de !Ds3ueda .anker.

En la Aigura JE se aplic el evaluador CAS con el mtodo de .1s7ueda <estFirst8 o.teniendo como resultado los atri.utos m-s significativos Fedad compradorO y Odia semana compraO( Como se aprecia en esta imagen, previamente se e=ecutaron diversas com.inaciones del .anker con diversos evaluadores, pero en ning1n caso arro=a.a una reduccin de los atri.utos, como puede verse en la Aigura J3, donde siempre selecciona.a a los 9 atri.utos( 0os evaluadores de atri.utos 7ue hacen un ranking, como el algoritmo .anker, siempre mostrar-n un listado ordenado de forma decreciente, donde el primer atri.uto se considera el m-s importante y el 1ltimo el menos importante( .anker8 1nicamente elimina atri.utos si se cam.ia manualmente su par-metro num5oCelect8 por s solo no es capa/ de descartar ning1n atri.uto( En la Aigura J3, FcolorG y Fcapacidad almacenamientoG son los me=ores atri.utos( Sin em.argo, estos resultados contradicen

lo o.tenido en la Aigura JE(

Figura 1%: A&licaci+n del evaluador 6FC con el m@todo de !Ds3ueda <estFirst. Celeccionan como atri!utos mEs significativos Fedad com&radorF y Fdia semana com&raF.

Figura 1$: .esultados de la a&licaci+n del m@todo .anker con el evaluador Info (ain.

Cuando se usan evaluadores de su.con=untos, el mrito es la mtrica para comparar los resultados con otros algoritmos( El mrito se calcula como la ra/ cuadrada del error cuadr-tico medio y mientras menor sea su valor, me=or es el su.con=unto de atri.utos o.tenidos( En la Aigura JE el mrito es de H(9J3 un valor 7ue puede considerarse .ueno, no o.stante, realmente corresponde a la persona 7ue lleva a ca.o el proceso de minera, decidir cu-l es m-s v-lido seg1n el conte8to, o si es necesario continuar el an-lisis con otros algoritmos y enfo7ues( En la siguiente seccin se e8plican las tres tareas .-sicas de la minera de datos, con las cuales se puede hacer un an-lisis m-s

completo(

"areas de Minera de datos


En esta fase se determinan las tcnicas 7ue van a ser usadas para el descu.rimiento de conocimiento( 0a minera de datos es apoyada por tres tecnologas 7ue actualmente se encuentran .astante avan/adas5 coleccin de datos masiva, computadoras con multiprocesamiento y algoritmos de minera de datos LBM( * continuacin se hace una .reve e8plicacin de las tareas y con e=emplos se muestra cmo tra.a=ar con los algoritmos presentes en "E)*(

#lusterin$
Consiste en formar grupos $clusters' con .ase en un criterio de cercana, ma8imi/ando la similitud entre elementos de un mismo grupo, pero minimi/-ndola respecto a elementos de otros grupos( El criterio de cercana generalmente se define como una funcin de distancia, entre las m-s utili/adas se destacan la euclidiana( Igualmente es muy com1n generar gr-ficos a partir de la e=ecucin de los algoritmos de clustering, con los cuales se puede evidenciar las distancias tanto entre grupos como entre sus elementos( Es aconse=a.le usar algoritmos de clustering cuando no hay eti7ueta de clase en los datos( >am.in cuando se prev 7ue las instancias pueden presentar grupos de forma natural( !im" e #$means Es un algoritmo de particionamiento, donde K corresponde al n1mero de clusters a encontrar, los cuales de.en satisfacer dos condiciones .-sicas( 0a primera, es 7ue cada cluster puede contener un elemento( 0a segunda, 7ue cada elemento pertene/ca 1nicamente a un cluster( Cada cluster est- representado por el valor de la media de todos los elementos de su grupo LBM( En particular la implementacin de este algoritmo em.e.ida en "E)*, permite seleccionar como funcin de distancia la euclidiana o /anhattan( Cara todos los e=emplos de esta seccin se escogi la distancia euclidiana( * los datos del archivo *<AA de la Aigura 3 ,se les aplic el algoritmo sim&le k,means, reali/ando pe7ue@os cam.ios en los par-metros y en los modos de prue.a( En la Aigura J?, se e=ecut sim&le k,means usando el mismo con=unto de prue.a como con=unto de entrenamiento, es decir, las B4 instancias del archivo consolas.arff fueron usadas en la construccin de los B clusters $Valor por defecto del algoritmo' y con las mismas B4 instancias se pro. clasific-ndolas, en los dos clusters creados( En la Aigura J?, se muestra 7ue los clusters se encontraron luego de ha.er hecho tan slo 2 iteraciones( 0os clusters se enumeran iniciando en cero $H', mostrando para cada atri.uto los valores de los centroides( En la parte final aparecen los porcenta=es del total de datos clasificados en cada cluster y la cantidad de instancias correspondientes5 el primer cluster con 9 instancias e7uivalentes al 4HI y el segundo cluster con JB instancias e7uivalentes al 3HI( *nali/ando los resultados o.tenidos, se puede ver 7ue no son muy .uenos( 0a mtrica para conocer la eficiencia de este tipo de algoritmos es la suma de los errores cuadr-ticos dentro de los clusters, 7ue en este caso fue de 32,3 un valor .astante alto( Mientras menor sea la suma de errores, me=or ser-n los clusters( El siguiente intento por crear me=ores clusters se hace con k igual 2 $Aigura J9', ya 7ue de todos los atri.utos en consolas.arff, el me=or calificado a ser una eti7ueta de clase es consola, el cual tiene

tres valores5 Clay Station 2, ;P:; 23H y %intendo "ii( *dem-s, por los datos contenidos sera lgico pensar 7ue se puedan formar 2 grupos 7ue descri.an a los compradores de las 2 consolas de video=uegos( Cara ello, se reorgani/a con "E)* y se pone al atri.uto atri.uto FconsolaG en la 1ltima columna $tam.in se puede hacer en el archivo directamente con un editor de te8to'(

Figura 1*: Cim&le k,means a&licado al archivo consolas A.FF8 utili ando el mismo con0unto de &rue!a y entrenamiento8 con el nDmero de &articiones 1k2 igual a ".

Figura 19: Interfa &ara es&ecificar los &arEmetros de sim&le k,means. 5odos corres&onden a los valores &or defecto8 menos el nDmero de cluster 3ue normalmente es " y se ha cam!iado a # &ara la nueva e0ecuci+n.

0os resultados para la e=ecucin con 2 clusters se puede ver en la Aigura JK( El error disminuy a 4B,23( 0os clusters en su orden agrupan 2, JJ y 3 instancias( :tra e=ecucin de este algoritmo $Aigura BH' se puede hacer cam.iando el modo de &ercentage s&lit, el cual aleatoriamente toma un porcenta=e $en este caso 33I' de las instancias como

con=unto de entrenamiento y el resto las toma para formar el con=unto de prue.a del modelo( En comparacin con los resultados anteriores en la Aigura BH cam.ia el tama@o de los clusters8 y el error disminuye a 2B,HJ, lo cual significa 7ue aparentemente este modelo es m-s preciso( Sin em.argo, los dos primeros clusters tienen el mismo valor $F;P:; 23HG' para el atri.uto consola, slo el tercer cluster se diferencia, es decir 7ue 7ueda un valor de consola $Clay station 2' sin aparecer en ning1n cluster( Esto tam.in ocurri en la Aigura J?, pero con el mismo valor del atri.uto consola para los tres clusters( Cor tanto, aun7ue la mtrica $la suma de los errores cuadr-ticos' para comparar los resultados o.tenidos en simple #+means es un dato 1til, no es suficiente para determinar la precisin de los clusters( >eniendo en cuenta el o.=etivo de encontrar un grupo para cada consola de video=uegos, los resultados de las Aigura J? y Aigura BH, seran descartados(

Figura 1:: Cim&le k,means a&licado al archivo consolas A.FF 8 utili ando el mismo con0unto de &rue!a y entrenamiento8 con el nDmero de &articiones 1k2 igual a #.

Figura ";: Cim&le k,means a&licado al archivo consolas A.FF8 utili ando &ercentage s&lit &ara formar el con0unto de entrenamiento8 con el nDmero de &articiones 1k2 igual a #.

En la Aigura BJ se elige un modo para pro.ar los clusters tomando un atri.uto de la relacin como la eti7ueta de clase( El atri.uto elegido es consola y se o.tienen tres clusters de diferentes tama@os con un error de 44,2E( Este modo de evaluacin tam.in ofrece el porcenta=e de instancias clasificadas incorrectamente, para el e=emplo con los datos de la relacin venta+consolas es del 2HI(

Figura "1: Cim&le k,means a&licado al archivo consolas A.FF 8 utili ando el modo de evaluaci+n de eti3uetas de clase8 con el atri!uto nominal consola.

%isua izacin

En la tarea de clustering, es muy importante tener la posi.ilidad graficar la distri.ucin de los datos en los diversos clusters generados por uno o m-s algoritmos( %o solamente, para facilitar el an-lisis y la interpretacin de los resultados, sino para poder apreciar las distancias entre los clusters y sus elementos( Cara el e=emplo de la Aigura BJ, se gener la gr-fica de la Aigura BB, haciendo clic derecho en el modelo $aparece resaltado verde' del listado de modelos o.tenidos por cada e=ecucin, en la opcin Visuali e cluster assignment( 0as visuali/aciones permiten un an-lisis m-s r-pido de los resultados del algoritmo, en especial del comportamiento de cada atri.uto con respecto a los clusters encontrados( En la Aigura BB, cada e7uis $8' representa una instancia de la relacin venta+consolas, clasificada en el cluster correcto( 0os cuadrados, representan instancias mal clasificadas( 0os colores $de las e7uis y los cuadrados' son para diferenciar los valores del atri.uto tomado como eti7ueta de clase5 consola( El cluster H tiene tres instancias .ien clasificadas y cuatro mal clasificadas( El cluster J tiene ? instancias correctamente clasificadas y B incorrectas( Ainalmente, el cluster B posee sus cuatro instancias correctamente clasificadas(

Figura "": 6lusters generados con el algoritmo sim&le k,means

&odos de eva uacin

0as tareas de clustering y clasificacin comparten los modos de evaluacin5 use training set, &ercentage s&lit y su&&lied test set( Este 1ltimo modo, es para cuando se tienen los datos de prue.a separados de los de entrenamiento, en otro archivo *<AA( >odos estos modos incluyendo classes to clusters evaluation $clases presentes en clusters28 son 1tiles dependiendo de la cantidad y los tipos de datos a anali/ar( *simismo, el o.=etivo de la tarea de minera determina el modo de evaluacin m-s adecuado a utili/ar( En las e=ecuciones del algoritmo sim&le k,means, el modo m-s apropiado fue classes to clusters evaluation8 por7ue no se limita.a a formar agrupaciones sino 7ue evalua.a un atri.uto como clase $para este caso fue el atri.uto consola', facilitando el an-lisis de los datos( El modo su&&lied test set8 es recomenda.le cuando se tiene un n1mero grande de datos $JHHH instancias o m-s', con varios con=untos de prue.a 7ue =ustifi7uen separar los con=untos de prue.a del de entrenamiento( >am.in este modo es muy 1til cuando se 7uieren usar con=untos de prue.a e8ternos o de terceros $pueden seleccionarse desde una U<0'( El modo de &ercentage s&lit es de gran ayuda para formar el con=unto de prue.a r-pidamente desde el mismo archivo *<AA( Cor 1ltimo, el modo use training set8 emplea todas las instancias para prue.a y entrenamiento( Ex"ectation &aximization Este algoritmo de clustering encuentra la m-8ima verosimilitud $log+li#elihood' mediante un mtodo iterativo( Cada iteracin se compone de dos pasos5 la e8pectativa, $e8pectation' donde se calcula las pro.a.ilidades de las instancias para conformar los clustersQ la ma8imi/acin, para calcular la distri.ucin de los par-metros LBM( De este modo, mientras mayor sea el valor de log,likelihood, los clusters pueden considerarse me=ores( Log,likelihood es la mtrica 7ue permite comparar la calidad de los clusters, para cada e=ecucin del algoritmo EM $E8pectation Ma8imi/ation'( En la Aigura B2, aparecen los valores de todos los atri.utos para los tres clusters encontrados con un log,likelihood de +B2,EB( El primer cluster agrupa 3 instancias, el segundo cluster JJ instancias y el 1ltimo cluster slo 2(

Test mode:

evaluate on training data

=== Model and evaluation on training set === EM == Number of clusters: 3 Cluster Attribute 0 (0.3) 1 (0.55) 2 (0.15)

=============================================================== edad comprador mean std. dev. color negro mate negro brillante blanco negro [total] capacidad almacenamiento 512MB 4GB 160GB 250GB [total] costo mean std. dev. lugar compra La 14 Sony Center el diamante Exito Carrefour [total] 1.0022 3.9992 1.9964 2.9216 1.0019 10.9213 4.0016 1.0008 1.0036 4.0788 5.9981 16.0828 1.9962 1 1 2.9996 1 7.9959 872590.8637 738300.9258 255497.6455 345532.2095 560324.648 45428.4619 1.0006 1.0006 4.9895 2.9305 9.9213 1.0036 3.9994 1.0105 9.0694 15.0828 3.9958 1 1 1 6.9959 6.9073 1.0134 1.0001 1.0005 9.9213 1.0927 11.9866 1 1.0036 15.0828 1 1 1.9999 2.9959 6.9959 22.8667 10.8607 20.0046 4.826 35.346 7.5827

dia semana compra lunes martes miercoles jueves viernes sabado domingo [total] oferta? SI NO [total] medio pago tarjeta debito tarjeta credito efectivo [total] consola Play Station 3 XBOX 360 Nintendo Wii [total] Clustered Instances 0 1 2 6 ( 30%) 11 ( 55%) 3 ( 15%) 6.9073 1.0134 1.0006 8.9213 1.0927 11.9866 1.0036 14.0828 1 1 3.9958 5.9959 1.0004 3.0002 4.9207 8.9213 2.0035 2.0001 10.0793 14.0828 1.9962 2.9997 1 5.9959 2.916 5.0053 7.9213 8.0878 4.9951 13.0828 1.9962 2.9997 4.9959 1.0003 1.9999 1.0005 1.9988 2.9205 2.0017 1.9997 12.9213 1.9997 1.0001 1.9995 3.0012 3.0795 6.0021 1.0007 18.0828 1 1 1 1 1 1.9962 2.9996 9.9959

Log likelihood: -23.52305

Figura "#. E0ecuci+n del algoritmo E/ con los datos del archivo consolas A.FF evaluando en el mismo con0unto de entrenamiento.

0a visuali/acin de EM en la Aigura B4, al ser reali/ada en el modo use trainning set, no eval1a ning1n atri.uto como eti7ueta de clase( * diferencia del e=emplo anterior, con el algoritmo sim&le k,means $Aigura BB', en la Aigura B4 slo hay e7uis 7ue representan instancias, no hay cuadrados 7ue muestran las instancias mal clasificadas( *simismo, las visuali/aciones de las Aiguras BB y B4, son tan solo algunas de las muchas com.inaciones posi.les de la interfa/, para ver las distri.uciones de las instancias con respecto a los cluster 7ue forman y a los atri.utos de la relacin ventaGconsolas(

Figura "': ?istri!uci+n de las instancias en clusters formados &or el algoritmo E/8 con los nom!res de las consolas de video0uegos en el e0e H y la edad del com&rador en el e0e I.

#lasi%icacin
Esta tarea de minera es de las m-s utili/adas e importantes( 0a clasificacin es un proceso 7ue se hace a dos pasos( En el primer paso, se construye un modelo, el cual descri.e el con=unto preliminar de clases( El modelo es construido anali/ando las instancias, donde cada registro pertenece a una clase especfica conocida( Generalmente, el modelo aprendido es representado en la forma de reglas de clasificacin, -r.oles de decisin o frmulas matem-ticas( En el segundo paso el modelo se usa para generar la clasificacin de datos desconocidos, estimando la precisin del modelo o clasificador( 0a precisin de un modelo es el porcenta=e de instancias, del con=unto de entrenamiento 7ue fueron correctamente clasificadas( Si la precisin del modelo se considera acepta.le, ste se puede usar para clasificar futuros con=untos de datos para los cuales la eti7ueta de clase es desconocida( "E)* tiene una amplia gama de clasificadores, con los cuales crear modelos dependiendo de los datos y del o.=etivo del an-lisis( Est-n divididos en las categoras de reglas, -r.oles, mtodos .ayesianos, funciones, clasificadores la y $pere/osos' y la categora miscel-nea $misc', 7ue agrupa al resto de clasificadores( * continuacin, se e8plican algunos de los clasificadores m-s conocidos y usados en "E)*( Arbo es de decisin 0os -r.oles son una manera pr-ctica para visuali/ar la clasificacin de un con=unto de datos( El algoritmo !49 $-r.ol de decisin C4(E' siempre se destaca por su precisin, con pr-cticamente cual7uier tipo de datos( Cor ello, se aplic a los datos de consolas.arff usando cross,validation con JH folds. Cara completar el an-lisis hecho en la seccin de clustering, a7u se enfocan los clasificadores a o.tener otros detalles so.re la venta de consolas de video=uegos( En la Aigura BE, aparecen los resultados de la e=ecucin del algoritmo !49, con el atri.uto medio de pago como eti7ueta de clase( El ?HI de las instancias fueron clasificadas correctamente y el 2HI incorrectamente( *l final de los resultados aparece la matri/ de confusin, 7ue muestra cmo se clasificaron las instancias( Si la diagonal toma valores y el resto son ceros en esta matri/, indicara 7ue todas las instancias fueron clasificadas

correctamente( En la parte superior, despus del titulo !49 &runed tree $-r.ol podado', aparecen los datos del -r.ol generado, las condiciones para cada uno de los nodos hasta llegar a las ramas( >am.in aparecen el n1mero de ho=as del -r.ol $para este e=emplo es 2' y el tama@o del -r.ol $E, como se muestra en la Aigura BE'( Sin em.argo, "E)* permite graficar los -r.oles generados, al dar clic derecho en la lista de resultados, en la opcin visuali e tree( En la Aigura B3 aparece el -r.ol de decisin con el atri.uto medio de pago como eti7ueta de clase(

Figura "%: E0ecuci+n del algoritmo de clasificaci+n J'9 con el atri!uto medio de &ago como eti3ueta de clase.

Figura "$: Kr!ol de decisi+n generado con el algoritmo J'9 &ara el atri!uto medio de &ago.

* partir del -r.ol de la Aigura B3, se puede o.servar la fuerte relacin entre los atri.utos medio de pago y edad del comprador( Conociendo la edad de 7uien compra una consola es posi.le deducir su medio de pago con .uena e8actitud ?HI( Si es menor de B4 a@os con seguridad pagar- en efectivo, pero si tiene BE a@os usar- tar=eta d.ito y si es mayor de BE a@os usar- tar=eta crdito( El atri.uto a escoger como eti7ueta de clase se puede variar tanto como se desee, para anali/ar las dependencias entre todos los atri.utos de la relacin( %o o.stante, para el caso del !49, el atri.uto escogido de.e ser nominal( Si se 7uiere tra.a=ar con uno numrico se de.e aplicar, primero, un filtro 7ue convierta los atri.utos a nominales y luego s se podr- e=ecutar el clasificador !49( Reg as E8isten diversos mtodos para generar reglas de clasificacin en los con=untos de entrenamiento( * la relacin venta+consolas, se le aplic dos de los algoritmos m-s conocidos de reglas5 :ne< y C<ISM( :ne <ule, com1nmente a.reviado como :ne< J<, es un algoritmo de clasificacin simple, 7ue genera una regla por cada atri.uto y escoge la del menor error( En la Aigura B? aparecen los resultados de la aplicacin de >ne .ule so.re la relacin venta+consolas, escogiendo el atri.uto medio de pago como eti7ueta de clase( Como se puede ver, >ne .ule o.tuvo una regla, muy similar a la de !49 $Aigura B3', para la determinar el medio de pago seg1n la edad del comprador( Cero la precisin es menor 7ue la de !49 en JHI( C<ISM es un algoritmo de cu.rimiento sencillo( Cara poder aplicarlo, se de.i usar primero el filtro =umeric5o=ominal $como se mostr en la seccin de Ailtros' para convertir todos los atri.utos a nominales( C<ISM se e=ecut con el atri.uto consola como eti7ueta de clase( En la Aigura B9, aparecen las tres reglas o.tenidas para clasificar a cada una de las consolas de video=uegos con un KEI de e8actitud( Cara determinar si la compra es de una consola FClay Station 2G, el atri.uto color de.e ser igual a Fnegro mateG y si es Fnegro .rillanteG la compra correspondi a una F;P:; 23HG( Cara determinar la compra de una F%intendo "iiG, el atri.uto color no puede ofrecer una regla contundente $dado 7ue esta consola puede ser de color .lanca o negra', pero la capacidad de almacenamiento FEJBMPG sirve como distintivo, puesto 7ue las otras consolas tienen capacidades superiores( 'a(esianos 0os mtodos .ayesianos suelen ser los m-s eficientes para clasificar datos( Sin em.argo, de.e tenerse en cuenta 7ue entre los atri.utos del con=unto de entrenamiento no pueden e8istir correlaciones, puesto 7ue invalidara el resultado( El algoritmo =aive<ayes, fue aplicado a los datos del archivo consolas.arff, en la Aigura BK( Comparando con los dem-s clasificadores, este es el segundo me=or, con una precisin del 9HI de las instancias clasificadas correctamente y un error relativo de 24,9JI( E8isten en "E)* tres variaciones del algoritmo =aive<ayes( El /ultinomial, el )&datea!le $incremental' y el Cim&le 7ue usa distri.ucin normal para modelar los atri.utos numricos( El <ayes=et permite el aprendi/a=e por medio de redes .ayesianas, siempre y cuando todos los atri.utos sean nominales o numricos 7ue hayan discreti/ado y no tengan valores faltantes(

Test mode:

10-fold cross-validation

=== Classifier model (full training set) === edad comprador: < 23.5 -> efectivo >= 23.5 -> tarjeta credito

(16/20 instances correct) Time taken to build model: 0 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances === Detailed Accuracy By Class === 12 8 0.2453 0.2667 0.5164 73.6842 % 121.8031 % 20 60 40 % %

TP Rate debito credito 0 0.6 0.692 Weighted Avg. 0.6

FP Rate 0 0.4 0.286 0.286

Precision 0 0.333 0.818 0.615

Recall 0 0.6 0.692 0.6

F-Measure 0 0.429 0.75 0.595

ROC Area 0.5 0.6 0.703 0.657

Class tarjeta tarjeta efectivo

=== Confusion Matrix === a b c <-- classified as

0 2 0 | a = tarjeta debito 0 3 2 | b = tarjeta credito 0 4 9 | c = efectivo

Figura "*: E0ecuci+n del algoritmo >ne .ule &ara el atri!uto medio de &ago.

=== Classifier model (full training set) === Prism rules ---------If color = negro mate then Play Station 3 If color = negro brillante then XBOX 360 If capacidad almacenamiento = 512MB then Nintendo Wii Time taken to build model: 0 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error UnClassified Instances Total Number of Instances === Detailed Accuracy By Class === 19 0 1 0 0 0 0 1 20 % % 5 % 95 0 % %

TP Rate 1 1 1 Weighted Avg. 1

FP Rate 0 0 0 0

Precision 1 1 1 1

Recall 1 1 1 1

F-Measure 1 1 1 1

ROC Area 1 1 0.833 0.982

Class

Play Station 3 XBOX 360 Nintendo Wii

=== Confusion Matrix === a 6 b 0 c 0 | 0 | 2 | <-- classified as a = Play Station 3 b = XBOX 360 c = Nintendo Wii

0 11 0 0

Figura "9: E0ecuci+n del algoritmo 7.IC/ &ara el atri!uto consola.

Figura ":: E0ecuci+n del algoritmo =aive<ayes &ara el atri!uto consola.

Asociacin
0as reglas de asociacin reali/an una tarea similar a las correlaciones, 7ue tienen como o.=etivo identificar relaciones no e8plcitas entre atri.utos nominales LBM( El algoritmo A&riori =unto con F7,growth son los m-s utili/ados para generar reglas de asociacin( En la Aigura 2H aparecen las JH primeras reglas con JHHI de confian/a, o.tenidas con A&riori para los datos en el archivo *<AA consolas(

Figura #;: Algoritmo A&riori a&licado al archivo consolas.arff.

De la misma manera 7ue se hi/o para C<ISM, previamente se aplic el filtro =umeric5o=ominal8 para convertir todos los atri.utos en nominales para 7ue el algoritmo A&riori se pudiera e=ecutar( Dando clic i/7uierdo so.re A&riori $=unto al .otn 6hoose', aparece una ventana $Aigura 2J' con los par-metros configura.les del algoritmo( 0os valores resaltados en ro=o5 min/etric, permite especificar el valor mnimo de confian/a para las reglas 7ue .usca el algoritmo y num.ules, el n1mero de reglas m-8imo mostrado en el -rea de te8to de la Aigura 2H( Dependiendo del o.=etivo fi=ado para el proceso de minera, variando los valores de min/etric y =um.ules es posi.le restringir o ampliar la cantidad de reglas de asociacin encontradas por A&riori(

Figura #1: Interfa con los &arEmetros del algoritmo A&riori.

En la Aigura 2H, se ven slo las JH me=ores reglas, acorde con el par-metro num.ules igual a JH $en la Aigura 2J'( Estas reglas muestran dependencias entre los atri.utos de color, capacidad de almacenamiento y medio de pago, como ya lo han mostrado las dem-s tareas de minera de datos e=ecutadas(

&i!lio$ra%a
LJM "itten, Ian N( y Aran#, Ei.e, Data Mining5 Cractical Machine 0earning >ools and >echni7ues( Segunda Edicin( Elsevier, BHHE( p( EBE( LBM <odrgue/ <odrgue/, !orge Enri7ue, Aundamentos de minera de datos( Universidad Distrital Arancisco !os de Caldas, BHJH( p( BHE(

También podría gustarte