Prctica WEKA
Edwar Javier Herrera Osorio Gestin del Conocimiento. UAN
El entorno de trabajo del Weka
Este software ha sido desarrollado bajo licencia GPL lo cual ha impulsado que sea una de las suites ms utilizadas en el rea en los ltimos aos. La versin 3.5.8 incluye las siguientes caractersticas: Diversas fuentes de datos (ASCII, JDBC). Interfaz visual basado en procesos/flujos de datos (rutas). Distintas herramientas de minera de datos: reglas de asociacin (a priori, Tertius) agrupacin/segmentacin/conglomerado (Cobweb, EM y kmedias), clasificacin (redes neuronales, reglas y rboles de decisin, aprendizaje Bayesiona) y regresin (Regresin lineal, SVM..). Manipulacin de datos (pick & mix, muestreo, combinacin y separacin). Combinacin de modelos (Bagging, Boosting) Visualizacin anterior (datos en mltiples grficas) y posterior (rboles, curvas ROC, curvas de coste). Entorno de experimentos, con la posibilidad de realizar pruebas estadsticas (t-test).
Interface
Como se en la figura anterior en el men aplicaciones encontramos: Simple CLI: Entorno consola para invocar directamente con java a los paquetes de weka. Explorer: Entorno visual que ofrece una interfaz grfica para el uso de los paquetes. Experimenter: Entorno centrado en la automatizacin de tareas de manera que se facilite la realizacin de experimentos a gran escala. KnowledgeFlow: Permite generar proyectos de minera de datos mediante la generacin de flujos de informacin.
Explorer
En esta parte vamos a centrarnos en el entorno Explorer, ya que permite el acceso a la mayora de las funcionalidades integradas en Weka de una manera sencilla.
6 entornos de ejecucin
Preprocess: Incluye las herramientas y filtros para cargar y manipular los datos Classification: Acceso a las tcnicas de clasificacin y regresin Cluster: Integra varios mtodos de agrupamiento Associate: Incluye una pocas tcnicas de reglas de asociacin Select Attributes: Permite aplicar diversas tcnicas para la reduccin del nmero de atributos Visualize: En este apartado podemos estudiar el comportamiento de los datos mediante tcnicas de visualizacin.
Un primer ejemplo: Jugando Tenis
Se van a trabajar con los datos acerca de los das que se ha podido jugar al tenis, dependiendo de diversos aspectos meteorolgicos. El objetivo es poder determinar (predecir) si hoy podremos jugar al tenis. Los datos de que disponemos estn en el fichero: "weather.arff y son los siguientes:
Cargamos el proyecto
Choose en Filter,
Realizar un filtrado de atributos. Cambiar el tipo de los atributos (discretizar o numerizar). Realizar muestreos sobre los datos. Normalizar atributos numricos. Unificar valores de un mismo atributo.
Classify (Algoritmo de Clasificacin)
Bayes. Mtodos basados en el paradigma del aprendizaje de Bayes Funciones. Mtodos matemticos: Redes neuronales, regresiones, SVM Lazy. Mtodos que utilizan el paradigma de aprendizaje perezoso, es decir no construyen un modelo Meta. Mtodos que permiten combinar diferentes mtodos de aprendizaje Trees. Mtodos que aprenden mediante la generacin de rboles de decisin Rules. Mtodos que aprenden modelos que se pueden expresar como reglas.
Classify (Mtodos de Validacin)
Use training set. Con esta opcin Weka entrenar el mtodo con todos los datos disponibles y a posteriori realiza la evaluacin sobre los mismos datos. Supplied test set. Con esta opcin podemos cargar un conjunto de datos (normalmente diferentes a los de aprendizaje) con los cuales se realizar la evaluacin Cross-validation. Se realiza la evaluacin mediante la tcnica de validacin cruzada. En este caso podemos establecer el nmero de pliegues a utilizar. Percentage split. Se define un porcentaje con el que se aprende el modelo. La evaluacin se realiza con los datos restantes.
Resultados
Un problema de clasificacin
En este caso se trata de predecir el tipo de frmaco (drug) que se debe administrar a un paciente afectado de rinitis alrgica segn distintos parmetros/variables. Las variables que se recogen en los historiales clnicos de cada paciente son:
Age: Edad Sex: Sexo BP (Blood Pressure): Tensin sangunea. Cholesterol: nivel de colesterol. Na: Nivel de sodio en la sangre. K: Nivel de potasio en la sangre.
Hay cinco frmacos posibles: DrugA, DrugB, DrugC, DrugX, DrugY. Se han recogido los datos del medicamento idneo para muchos pacientes en cuatro hospitales. Se pretende, para nuevos pacientes, determinar el mejor medicamento a probar.
Solucin
En primer lugar vamos a cargar los datos del primer hospital fichero drug1n.arff, ya que al ser el de menor tamao (200 registros), permite hacer ms pruebas inicialmente.
Solucin A
Solucin B
Aplicando el algoritmo Rules-Zero nos da un porcentaje del 45% Aplicando el algoritmo J48 nos da un porcentaje del 97% Se puede mejorar? Con redes neuronales? Uniendo atributos?
Uniendo atributos (1)
Uniendo atributos (2)
Clasificacin Nueva
Hay que decirle que el atributo es drug Clasifica correctamente el 100%?....
Visualizacin
Todos los atributos son necesarios?
Depende del algoritmo de clasificacin si es el de rbol de decisin el escoge los relevantes pero en el native Bayes esto afecta En el ejemplo anterior hacer el experimento
Datos con Native Bayes
Seleccionando atributos
Hay dos tcnica: Los wrappers, y los mtodos de filtro
Funciono?
Clasifico con un 99%
Un problema de agrupacin
La empresa de software para Internet Memolum Web quiere extraer tipologas de empleados, con el objetivo de hacer una poltica de personal ms fundamentada y seleccionar a qu grupos incentivar. Las variables que se recogen de las fichas de los 15 empleados de la empresa son:
Sueldo: sueldo anual en euros. Casado: si est casado o no. Coche: si viene en coche a trabajar (o al menos si lo aparca en el prking de la empresa). Hijos: si tiene hijos. Alq/Prop: si vive en una casa alquilada o propia. Sindic.: si pertenece al sindicato revolucionario de Internet Bajas/Ao: media del n de bajas por ao Antigedad: antigedad en la empresa Sexo: H: hombre, M: mujer. Los datos de los 15 empleados se encuentran en el fichero empleados.arff. Se intenta extraer grupos de entre estos quince empleados.
Solucin
Reglas de Asociacin y Dependencias
Vamos a estudiar ahora los datos del hundimiento del Titanic. Los datos se encuentran en el fichero titanic.arff y corresponden a las caractersticas de los 2.201 pasajeros del Titanic. Estos datos son reales y se han obtenido de: "Report on the Loss of the Titanic (S.S.)" (1990), British Board of Trade Inquiry Report_ (reprint), Gloucester, UK: Allan Sutton Publishing. Para este ejemplo slo se van a considerar cuatro variables:
Clase (0 = tripulacin, 1 = primera, 2 = segunda, 3 = tercera) Edad (1 = adulto, 0 = nio) Sexo (1 = hombre, 0 = mujer) Sobrevivi (1 = s, 0 = no)
Resultado
Entendiendo las reglas
En cada regla, tenemos la cobertura de la parte izquierda y de la regla, as como la confianza de la regla. Podemos conocer alguna regla interesante aunque otras los son menos. Por ejemplo, la regla 1 indica que, como era de esperar toda la tripulacin es adulta. La regla 2 nos indica lo mismo, pero teniendo en cuenta a los varones. Parecidas conclusiones podemos sacar de las reglas 4, 5 y 6. La regla 3 nos indica que los varones que murieron fueron en su mayora adultos (97%). La regla 7 destaca que la mayora que murieron fueron adultos (97%). Y finalmente la 10 informa que la mayora de los muertos fueron hombres (92%). Cabe destacar que la calidad de las reglas de asociacin que aprendamos muchas veces viene lastrada por la presencia de atributos que estn fuertemente descompensados. Por ejemplo, en este caso la escasa presencia de nios provoca que no aparezcan en las reglas de asociacin, ya que las reglas con este temset poseen una baja cobertura y son filtradas. Podemos mitigar parcialmente este fenmeno si cambiamos el mtodo de seleccin de reglas.
Bibliografa
Curso de Doctorado Extraccin Automtica de Conocimiento en Bases de Datos e Ingeniera del Software Universitat Politcnica de Valncia Jos Hernndez Orallo. Csar Ferri Ramrez.