Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Interfaces de usuario “Explorer” y “Knowledge Flow en Weka Camila Alejandra Romero Beltrán1 Julio de 2014 Resumen: Weka es una plataforma de software libre que contiene herramientas de visualización y algoritmos para el análisis de datos, contiene 4 interfaces de usuario: Simple CLI, Explorer, Knowledge Flow y Experimenter, las cuales permiten manejar con mayor facilidad las herramientas del programa. A su vez, dentro de los distintos módulos, se manejan árboles de decisión que contribuyen de manera positiva en el momento de tomar decisiones e indican el camino a seguir según unas opciones y parámetros establecidos. Esta investigación va encaminada al análisis de las interfaces “Explorer” y “Knowledge Flow”, sus diferentes herramientas, similitudes y diferencias entre sí; se presenta información detallada acerca del manejo de datos y árboles de decisión utilizados en cada módulo. Palabras Clave: Weka, Archivo Arff, Procesamiento de datos, Árboles de decisión, Interfaz de usuario Explorer, Knowledge Flow. 1 Estudiante de Ingeniería Química de la Universidad Nacional de Colombia, y monitor junior del grupo de Investigación y extensión de la Unidad de Informática y Comunicaciones de la Facultad de Ciencias Económicas durante 2014-I Correo Electrónico: caaromerobe@unal.edu.co. “Explorer” and “Knowledge Flow” User Interfaces on Weka Abstract: Weka is a platform of free software that contains tools of visualization and algorithms for the analysis of information, contains 4 user's interfaces: Simple CLI, Explorer, Knowledge Flow and Experimenter, which allow handling with major facility the functionalities of the program. Simultaneously, inside the different modules, there are decision trees that help us when we face decision scenarios and they indicate the way to go, according to the options that might be chosen. This investigation is addressed to the analysis of the interfaces "Explorer" and “Knowledge Flow”, with different tools, similarities and differences; detailed information on data management and decision trees used in each module. Keywords: Weka, Arff file, data processing, decision trees, User Interface Explorer, Knowledge Flow. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Director Unidad Informática: Henry Martínez Sarmiento Tutor Investigación: Mario Andrés Rubiano Rojas Coordinadores: Andrés Felipe Hurtado Casas Mario Andrés Rubiano Rojas Coordinador Servicios Web: John Jairo Vargas Analista de Infraestructura y Comunicaciones: Diego Alejandro Jiménez Arévalo Analista de Sistemas de Información: Diego Armando Poveda Zamora Estudiantes Auxiliares: Andrea Milena Novoa Ospina Andrés Felipe Acevedo Trujillo Angie Yamile Mayorga Coy Camila Alejandra Romero Beltrán Catalina Heredia Medina Cindy Carolina Lugo Rozo Daniel Andrés Roa Aponte Daniel Fernando Eslava Ursuga Daniel Felipe Leyva Díaz David Hernando Medina Cifuentes Deisy Julieth Roa Riveros Diego Armando Poveda Zamora Diego Fernando Ávila Ibáñez Edwar Leonardo Esteban Pérez Fredy Esteban Ahumada Avendaño Javier Rodríguez Joeline Simone Monterrosa Barajas Lasly Yulieth Vega Santamaría Sebastián Camilo Malpica Cárdenas Sergio Enrique Pulido Morales Walter Daniel Parra Jiménez Jeisson Daniel Mariño Ustacara Néstor Santiago Castro Triviño Este documento es resultado de un trabajo conjunto y coordinado de los integrantes de la Unidad de Informática y Comunicaciones de la Facultad de Ciencias Económicas de la Universidad Nacional de Colombia. Esta obra está bajo una licencia reconocimiento no comercial 2.5 Colombia de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by/2.5/co/ o envié una carta a Creative Commons, 171second street, suite 30 San Francisco, California 94105, USA. http://creativecommons.org/licenses/by/2.5/co/ Interfaz de usuario “Explorer” en Weka Introducción El objetivo general de la siguiente investigación es identificar las diferentes funciones que ofrecen las interfaces de usuario “Explorer” y “Knowledge Flow”, así como los diferentes árboles de decisión que se pueden manejar en el software. Para ésta investigación 2014- I, se tienen en cuenta los documentos trabajados en el período 2013-II, los cuales trataron parte de la interfaz Knowledge Flow haciendo énfasis en el árbol de decisión J48. Se plantea la necesidad de ampliar la investigación en cuanto a los contenidos del software para entender con mayor profundidad el trabajo que realiza WEKA en cuanto al análisis de datos aplicado tanto en la interfaz “Explorer” como en “Knowledge Flow”. En primer lugar, se estudió de manera general cada una de las interfaces que posee el software, dando una breve introducción de cada una, permitiendo así al usuario tener una idea más clara y completa de los contenidos de WEKA. Adicionalmente, se realizó un análisis más detallado de las dos interfaces mencionadas inicialmente y finalmente se estudia un determinado grupo de árboles de decisión teniendo en cuenta facilidad de manejo y comprensión por parte de los usuarios, dando una corta definición de cada uno. INTERFACES DE USUARIO EN WEKA Weka es un software libre que contiene herramientas para datos de pre-procesamiento, clasificación, regresión y visualización, para acceder a estas funciones existen cuatro interfaces de usuario, las cuales son: INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I o Simple CLI (Comand Line Interface): Permite acceder a las opciones de Weka mediante instrucciones por medio de una línea de texto simple. o Explorer (Explorador): Posee varios paneles que dan acceso a diferentes herramientas como importar base de datos, aplicación de algoritmos, análisis de regresión de datos entre otros que conforman el principal banco de trabajo de Weka. o Experimenter (Experimentador): Permite al usuario crear, correr, modificar y analizar experimentos de una manera conveniente. o Knowledge Flow (Flujo de conocimiento): Es una interfaz que contiene las mismas funciones de Explorer con la función adicional “Arrastrar y soltar” para la creación de árboles de decisión. INTERFAZ DE USUARIO “EXPLORER” El módulo Explorer es el más usado y descriptivo, permite realizar operaciones sobre un solo archivo de datos. La ventana principal se muestra a continuación: Ilustración 1. Ventana Principal de la interfaz Explorer. Explorer permite realizar tareas como: Pre-procesamiento de datos. Clasificación: Permite el acceso a técnicas de clasificación de datos y regresión. Clustering (Agrupamiento de datos): Permite entender la estructura de los datos y las relaciones entre diferentes objetos. Búsqueda y selección de atributos. Visualización de datos. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I PREPROCESAMIENTO DE DATOS: “Preprocess” es uno de los seis sub-entornos que ofrece “Explorer” para su ejecución, esta opción corresponde a la primera pestaña en la ventana principal de la interfaz, incluye filtros y diferentes herramientas para la manipulación de datos. Para comenzar a trabajar es necesario establecer el origen de los datos, existen diferentes posibilidades de llevar a cabo esta acción por medio de los botones que se encuentran en la parte superior de la ventana (Ilustración 2). Ilustración 2. Botones para establecer el origen de los datos en Weka. A continuación se mencionará una de las 4 opciones por ser la más utilizada y sencilla de manejar: Open File: Al pulsar sobre este botón aparecerá una ventana para seleccionarel archivo a cargar que debe estar guardado en el equipo donde se esté manejando el software. Éste archivo deberá ser creado en el Bloc de notas y guardado en el formato “arff” (Attribute Relation File Format), que es el más utilizado para el análisis de datos en Weka. Más adelante se mostrará un ejemplo para brindar mayor claridad al ususario. Para la creación de un archivo arff es necesario tener clara su estructura que se divide en 3 partes: 1. Cabecera: Se debe definir el nombre de la relación. El formato es el siguiente: @relation <nombre_de_la_relación> 2. Declaración de un atributo: Se da nombre al atributo y se declara el tipo, así: @attribute <nombre_del_atributo> <tipo> Weka acepta distintos tipos, estos son: NUMERIC Expresa números reales. INTEGER Expresa sólo números enteros. DATE Expresa fechas. STRING Expresa cadenas de texto. ENUMERADO Consiste en expresar entre llaves y separadas por comas, las opciones que tomará el atributo. Por ejemplo: @attribute tiempo {Soleado, lluvioso, nublado} INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I 3. Sección de datos: Se declaran los datos que pertenecen a la relación separando por comas los atributos y con un salto de línea las relaciones, si algún dato es desconocido se coloca un símbolo de cerrar interrogación (?). @data 4,3,2 A continuación se mostrará un ejemplo sencillo para comenzar a trabajar con Weka: o Se realizó una encuesta a un número determinado de personas acerca de su estrato, género, edad y carrera universitaria, el objetivo de nuestro análisis será cuantificar todos los datos de manera que podamos obtener cuántas personas según estrato, género y edad pertenecen a cada una de las carreras universitarias ofertadas, en este caso: Ingeniería, Economía y Derecho. Dentro de las distintas interpretaciones que se puede dar a este ejemplo, está la predicción del estrato y la edad de las personas encuestadas de acuerdo cada carrera universitaria. El siguiente archivo muestra los datos anteriormente descritos teniendo en cuenta el formato “arff” ya mencionado. A su vez, deberá ser creado en el Bloc de notas y guardado con la extensión “ . arff ”. @relation WEKA @attribute estrato {1, 2, 3, 4, 5,6} @attribute sexo {Femenino, Masculino} @attribute edad NUMERIC @attribute carrera_universitaria {Ingeniería, Economía, Derecho} @data 3, Femenino, 18, Ingeniería 2, Masculino, 21, Economía 4, Femenino, 19, Derecho 1, Masculino, 20, Ingeniería 3, Femenino, 18, Economía 4, Masculino, 19, Derecho 5, Masculino, 18, Derecho 3, Masculino, 19, Ingeniería 3, Masculino, 20, Ingeniería 4, Femenino, 19, Economía 3, Femenino, 21, Derecho 2, Masculino, 18, Derecho 3, Femenino, 19, Economía 3, Femenino, 18, Economía 4, Masculino, 19, Derecho 5, Masculino, 18, Derecho 3, Femenino, 18, Ingeniería 2, Masculino, 21, Economía 4, Femenino, 19, Derecho 1, Masculino, 20, Ingeniería Luego de cargar el archivo se muestran en la ventana los atributos correspondientes a los datos con algunas características estadísticas como la media, rango de los datos, desviación estándar, entre otros; además de una representación gráfica que puede variar según el atributo seleccionado en la lista desplegable situada al lado izquierdo del botón “Visualize All” (Opción que se muestra resaltada en un recuadro-Ilustración 3). Al seleccionar la opción Visualize All se abrirá una ventana con las gráficas de todos los atributos (Ilustración 4). INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Ilustración 3. Ventana con los atributos correspondientes a los datos cargados. Ilustración 4. Gráfica de cada uno de los atributos mostrados en una misma ventana. En la Ilustración 4, observamos distintas gráficas que corresponden a cada uno de los atributos trabajados: estrato, sexo, edad y carrera universitaria. Como se mencionó anteriormente las gráficas dependerán del atributo seleccionado inicialmente, en este ejemplo se eligió “Carrera Universitaria” la cual tiene tres opciones: Ingeniería, Economía y Derecho tomando respectivamente el azul oscuro, rojo y azul claro como colores representativos de la variable en el análisis de los datos, así cada gráfica tendrá su interpretación de la siguiente manera: Gráfica 1: “Estrato” Existen 6 opciones para esta variable nominal (estrato) recordando que se dio a elegir entre 1 y 6 correspondiendo cada valor a una barra en el gráfico, siendo así, se dice que hay una persona de estrato 1 la cual pertenece a Ingeniería, una de INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I estrato 2 que estudia Economía, tres personas de estrato 3 donde una estudia economía y las otras 2 Ingeniería; por último se observa que hay 2 personas de estrato 4 y una de estrato 5, perteneciendo todas a Derecho. Gráfica 2: “Sexo” Se muestran dos columnas dadas por las opciones: Femenino y Masculino; podemos interpretar con la primera barra que hay 3 mujeres, 1 de Ingeniería, 1 de Economía y 1 de Derecho, así como 5 hombres: 2 de Ingeniería, 1 de economía y 2 de derecho siguiendo el patrón respectivo de los colores. Gráfica 3: “Edad” En la tercera gráfica tenemos los datos de las edades que al ser un dato numérico nos brinda un rango más amplio de valores teniendo en cuenta el mínimo, el máximo y la media, a su vez se interpretan los colores de la misma manera que las gráficas anteriores, concluyendo que hay 6 personas entre los 18 y 18.5 años siendo 2 de Ingeniería, 1 de Economía y 3 de Derecho. Siguiendo el mismo orden la gráfica nos muestra a 2 personas entre 18.5 y 21 años siendo 1 de Ingeniería y 1 de economía. Gráfica 4: “Carrera Universitaria” Teniendo en cuenta que a partir de este atributo se realizaron las demás gráficas, esta cuarta gráfica es la más sencilla de analizar puesto que solo existen 3 barras cada un representando una variable, la primera los estudiantes de Ingeniería, la segunda los de Economía y la última estudiantes de Derecho. Adicionalmente, la opción de preprocesamiento permite realizar filtros sobre los datos con el objetivo de transformar los mismos, por ejemplo, pasar de datos numéricos a valores discretos, además de eliminar registros o atributos previamente especificados. Para acceder a esta opción es necesario seleccionar el botón Choose donde se despliega una lista, se debe seguir la siguiente ruta para encontrar diferentes opciones de filtros: Weka-> Filters -> Supervised ->Attribute. Ilustración 5.Lista desplegable de filtros en la Interfaz Explorer. A continuación se mencionarán algunos de los filtros que aparecen en “Attribute” que es la opción más trabajada en Weka: Atributte: Los filtros aplicados en esta categoría son aplicados a los atributos. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I o AddClassification: Añade un atributo, para esto debemos proporcionar la posición que va a ocupar, el nombre y los posibles valores que tendrá separados por comas; al no especificar el tipo se asumirá que el atributo es numérico. o Discretize: Discretiza un conjunto de valores numéricos en un rango de datos. Transforma datos cuantitativos a datos cualitativos. o NominalToBinary: Transforma los valores nominales de un atributo en un vector cuyas coordenadas son binarias. CLASIFICACIÓN: Dando clic en la segunda pestaña del explorador (parte superior izquierda de la ventana) entramos al modo de clasificación (Ilustración 6). Weka ofrece 4 modos de prueba (Test Options): o Use training set: Se trabaja con los registros que se encuentran ya cargados. Esta opción es la que se va a utilizar para el manejo de las bases de datos en Weka.o Supplied test set: Se puede seleccionar un archivo arff con el cual se probará el clasificador seleccionado. o Cross-Validation: El aprendizaje en Weka se hará a partir de la cantidad de datos que queramos. o Percentage-Split: Se define un porcentaje con el que se va a construir el clasificador. Ilustración 6. Ventana principal de la opción Cassify. A partir de esta base de datos ya cargada se va a realizar un análisis más a fondo, para ello vamos a crear toda la información necesaria para obtener un árbol de decisión y así leer de forma clara cada uno de los atributos y llegar a conclusiones acertadas en el menor tiempo. Para comenzar, se debe elegir la opción “Use training set”, luego, dar click en la opción “Choose” (Señalada en la Ilustración 7) lo cual nos abrirá una lista de opciones e iremos directamente a la opción “Trees” con el objetivo de elegir uno de los modelos de árboles de decisión que el software nos ofrece (Ilustración 8). INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Ilustración 7. Visualización de la opción "Choose". Ilustración 8. Lista desplegable a partir de la opción "Choose". Visualización diferentes tipos de árboles de decisión. Para comenzar con el proceso de clasificación se deberá elegir un árbol de decisión, a continuación se definen algunos de ellos: o ADTree- Alternating Decision Tree: Su estructura de datos y su algoritmo son una generalización de los árboles de decisión, está compuesto por dos tipos de nodos, splitter y predicción; el primero, hace referencia a una prueba y el segundo está más asociado a una regla. o Decision Stump o árbol de decisión de un nivel: Son árboles que clasifican datos basados en valores específicos, contiene nodos y ramas donde cada nodo representa una característica a ser clasificada y la rama el valor que este puede tomar. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I o ID3: Es un algoritmo simple que elige al azar un subconjunto de datos a partir de unos datos base permitiendo así, la elaboración de un árbol de decisión clasificando correctamente los datos de entrenamiento. o J48: Es un algoritmo que genera un árbol o una estructura de reglas a partir de ventanas extraídas de un caso general o principal evaluando mediante determinados criterios la precisión de cada uno de los datos en ciclos sucesivos. o LMT (Logistc Model Tree): Brinda una descripción detallada de los datos, es un algoritmo que permite la creación de un árbol de decisión con funciones de regresión. o RandomForest: Es un método eficaz para estimar datos perdidos y mantiene cierto grado de exactitud en bases de datos demasiado grandes, además, brinda información acerca de la relación entre las variables y sus clasificaciones. o User Classifier: Permite al usuario crear su propio árbol de decisión, cada nodo tiene sólo dos ramas que se desprenden del mismo. Luego de elegir un árbol de decisión, el siguiente paso es pulsar el botón Start. A continuación aparecerá toda la información del experimento en la parte derecha de la ventana (Ilustración 9). Es recomendable usar el árbol de decisión J48 debido a que permite trabajar con valores continuos de los atributos dividiendo en ramas las diferentes opciones permitiendo tener una secuencia ordenada de cada uno de los valores generando a su vez, una mejor interpretación de los datos. Ilustración 9. Ventana de visualización para el análisis de datos. En la parte inferior izquierda aparecerá una lista de todos los experimentos realizados, al dar clic derecho se desplegará una lista de opciones que nos permite visualizar de manera diferente los resultados obtenidos incluyendo la ejecución de gráficas (Ilustración 10). A continuación se realizará una breve explicación de cada una de las opciones que aparecen en el menú anteriormente mencionado: INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Ilustración 10.Se visualiza la lista de opciones para cada experimento realizado. o View in main window: Muestra el resultado del experimento en la pantalla principal del clasificador. o View in separate window: Permite visualizar el resultado en una nueva ventana. o Save result buffer: Guarda el resultado del experimento en un fichero. o Load model: Carga un modelo de clasificador ya construido. o Save model: Guarda el modelo de clasificación actual. o Re-evaluate model on current test set: Enfrenta otro modelo con un conjunto de datos actual. o Visualize clasiffier errors: Se abre una nueva ventana donde se muestra una gráfica con los errores de clasificación o Visualize tree: Esta opción mostrará un árbol de decisión generado por el clasificador. Se mostrará una ventana como la siguiente según el clasificador que se haya escogido. Ilustración 11. Árbol de decisión teniendo en cuenta la variable "Estrato". INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Ilustración 12. Árbol de decisión teniendo en cuenta la variable "Carrera universitaria". o Visualize margin curve: Muestra por medio de una curva la diferencia entre la probabilidad de la clase estimada y la máxima probabilidad de otras clases (Ilustración 13). Ilustración 13. Gráfica Curva Marginal. En la parte derecha de la ventana se encuentran diferentes casillas a elegir para obtener diferentes combinaciones en cuanto a las variables X y Y. INTERFAZ DE USUARIO “KNOWLEDGE FLOW” Ésta interfaz de usuario en Weka describe mejor el funcionamiento interno del programa. Su objetivo es situar en el panel de trabajo (Zona blanca de la ventana, Ilustración 14) elementos base (Situados en la parte superior de la ventana) conectando cada uno de ellos entre sí para formar un circuito que defina el experimento a realizar, a esto lo llamaremos Flujo de Conocimiento. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I A continuación se muestra la ventana principal de esta interfaz: Ilustración 14. Interfaz de usuario "Knowledge Flow" Como se observa en la Imagen anterior existen ocho pestañas en la Interfaz “Knowledge Flow”: DataSources: Contiene los distintos cargadores de datos. DataSinks: Contiene los almacenadores de datos. Filters: Se encuentran todos los tipos de filtros estudiados para Weka. Classifiers: Contiene los clasificadores de datos. Clusterers: Contiene los agrupadores de datos usados en el software. Evaluation: Contiene distintos métodos de evaluación de datos para Weka, a continuación se mencionará cada uno de ellos: INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I TrainingSetMaker: Crea un conjunto de datos en el conjunto de entrenamiento. TrainingSetMarker: Crea un conjunto de datos en el conjunto de entrenamiento. TestSetMaker: Crea un conjunto de datos en el conjunto de prueba. CrossValidationFoldMaker: Divide cualquier conjunto de datos en pliegues. TrainTestSplitMaker: Divide cualquier conjunto de datos en un conjunto de entrenamiento y un conjunto de prueba. ClassAssigner: Asigna una columna para ser la clase de cualquier conjunto de datos, sea de entrenamiento o de prueba. ClassValuePicker: Elige el valor de una clase considerado como la clase positiva, éste es útil cuando se generan datos para estilos de curva ROC (Receiver Operating Characteristic). ClassifierPerformanceEvaluator: Evalúa el desempeño de los lotes formados y los clasificadores formados. IncrementalClassifierEvaluator: Evalúa el desempeño de los clasificadores formados incrementalmente. ClustererPerformanceEvaluator: Evalúa el desempeño de los lotes formados y los agrupadores formados. PredictionAppender: Anexa predicciones del clasificador a un conjunto de pruebas. Para problemas de clase discreta, se pueden anexar etiquetas de clase o distribuciones de probabilidad. Visualization: Esta categoría permite visualizar los datos de diferentes formas indicadas a continuación: DataVisualizer: Permite la aparición de un panel para visualizar los datos en un solo gráfico de dispersión 3D. ScatterPlotMatrix: Muestra en un panel una matriz con pequeños gráficos de dispersión. AttributeSummarizer: Muestra en un panel una matriz de histogramas, cada uno de los atributos en los datos cargados. ModelPerformanceChart: Componente que puede mostrar un panel para la visualización de curvas estilo ROC. TextViewer: Componente para mostrar datos textuales. GraphViewer: Muestra un panel con árboles basados en los modelos de decisión ya trabajados en el software. StripChart: Componente que puede mostrar un panel donde se visualiza un gráfico con el desplazamiento de los datos (Usado para ver el rendimiento de clasificadores incrementales). La interfaz Knowlegde Flow es más amigable con el usuario, posee íconos para arrastrar y soltar lo cual permite una interacción con el software; trabaja de la misma manera que “Explorer” con algunas diferencias como: La Interfaz Knowledge Flow maneja los datos de manera incremental o por lotes mientras que “Explorer” solo utiliza dentro de sus funciones un procesamiento de datos por lotes. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I El modelo Incremental consiste en el análisis de los datos por etapas en forma de cadena, cada etapa corresponde a un incremento que dependerá del inmediatamente anterior, cada incremento tiene un ciclo de vida (Ilustración 15) que se repite hasta obtener un resultado final adaptado a las necesidades del usuario. Debido a que el trabajo completo se realiza en la etapa inicial del análisis, es necesario conocer cada uno de los requerimientos antes de comenzar a trabajar con el modelo. Debido a que este modelo es de naturaleza interactiva, el usuario es el encargado de identificar y brindar al software los parámetros más importantes dando prioridad a algunos de ellos según los requerimientos propios y el resultado que se desea obtener. Ilustración 15. Modelo Incremental. En el procesamiento por lotes se ejecuta una lista de comandos al mismo tiempo, uno tras otro sin la intervención del usuario debido a que son procesos ininterrumpidos, al usar este método se debe tener un objetivo específico con un fin común. Es útil cuando existen gran cantidad de datos a procesar y requiere de acciones repetitivas sin supervisión alguna, sin embargo, se observa una desventaja al momento de no ser interactivo con el usuario. Para explicar el funcionamiento de esta interfaz, se realizará un ejemplo con los datos que se han venido trabajando desde el inicio del documento, crearemos un árbol de decisión (J48) tanto gráfico como en texto y se analizarán los resultados finales. 1. Para comenzar con el flujo de conocimiento se debe establecer la fuente de los datos, para esto damos click en la pestaña superior de la ventana “DataSources”, luego, elegimos el botón “ArffLoader” de la barra de herramientas (el puntero del ratón se convertirá en una cruz) se debe dar click en algún espacio del área de trabajo donde se mostrará el ícono que se eligió. 2. A continuación se debe especificar el archivo a cargar, para esto, se da click derecho sobre el ícono ArffLoader en el área de trabajo y se selecciona la opción “Configure”, aparecerá una ventana para seleccionar el archivo guardado debidamente en el formato “arff”. 3. En la pestaña de evaluación, en la parte superior de la ventana, se debe elegir el ícono “ClassAsigner” y colocarlo en el área de trabajo, luego, se configurará dando click derecho sobre la figura eligiendo la clase dentro de los atributos que se tienen. 4. Se deben conectar los íconos de ArffLoader y ClassAsigner, para esto, se dará click derecho sobre “ClassAsigner” y se selecciona la opción “dataSet”; aparecerá una flecha la cual se debe dirigir hasta el otro componente y así, unir los dos. 5. El siguiente paso es seleccionar de la barra de herramientas en la pestaña de Evaluación el ícono “CrossValidation FoldMarker” y ubicarlo en el diseño, para conectar este comando con el “ClassAsigner” se hará de la misma manera que el paso anterior. 6. Ahora, se debe colocar en el área de diseño el ícono “J48” ubicado en la pestaña de “Classifiers” en la sección “trees” que se encuentra al final de la barra de herramientas ubicada en la parte superior de la ventana. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I 7. Para la conexión de los dos últimos elementos ubicados en el área de trabajo se deben dirigir dos flechas con funciones distintas desde “CrossValidation FoldMarker” hasta “J48”, una es “dataSet” y la otra “trainingSet” de la misma manera que se ha visto trabajando con la unión de componentes anteriores. 8. El siguiente ícono a establecer en el flujo de conocimiento es ClassifierPerformanceEvaluator ubicado en la pestaña “Evaluation”, la opción a elegir para la unión de los componentes (J48 y ClassifierPerformanceEvaluator) es “batchClassifier”. 9. Para la visualización del resultado se seleccionará en la pestaña “Visualization” los íconos “TextViewer” y “GraphViewer” , el primero conectado al anterior por medio de la opción “Text” y el segundo conectado al ícono de J48 por medio de la opción “Graph”. 10. Para que el circuito comience a analizar los datos se debe dar click derecho sobre el primer ícono establecido en el área de trabajo (ArffLoader) eligiendo la opción “Start Loading”. Teniendo el flujo de conocimiento estructurado, en la parte inferior de la ventana aparecerán errores que surjan en el funcionamiento del flujo de conocimiento, así mismo, avisará cuando esté listo para mostrar los resultados (Cuadro rojo- Ilustración 16). Cuando se muestre que el proceso ha sido finalizado, se dá click derecho en cada uno de los íconos finales (TextViewer y GraphViewer) y se elige la opción “View Results”, a continuación aparecerá una ventana emergente con los resultados del experimento realizado sea gráfico o escrito (Ilustración 17 e Ilustración 18). Para visualizar los resultados gráficos se debe dar click en las diferentes opciones de una lista desplegable de la ventana (Ilustración 19). Ilustración 16. Flujo de conocimiento para árbol J48. Visualización de errores. Ilustración 17. Visualización del árbol J48 en modo texto. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Ilustración 18. Lista de gráficos diseñados. Ilustración 19.Primer gráfico de la lista, Set1 (WEKA) J48. Ilustración 20.Algoritmo J48 según la clase "Carrera Universitaria" Set7 (WEKA) J48. Como se evidencia en los resultados anteriores, tanto el análisis de los datos en texto como los árboles de decisión tienen una relación significativa con los obtenidos en la interfaz “Explorer” (Ver Ilustración 12 e Ilustración 20). Por otro lado, para tener una visión más amplia de la interfaz “Knowledge Flow” y su funcionalidad, se realizarán a continuación otros ejemplos que involucran el algoritmo Id3 y curvas ROC. Inicialmente, se debe tener en cuenta que el proceso de creación del flujo de conocimiento para el algoritmo Id3 es similar al realizado para el árbol de decisión J48. Para la creación de este flujo de conocimiento, se deben repetir los pasos 1 al 4 de la creación del árbol J48,luego de tener los íconos ubicados y la clase asignada se deben discretizar los datos para que los resultados los podamos visualizar con mayor precisión, como sigue a continuación: 1. Seleccione el ícono “Discretize” ubicado en la parte superior de la ventana, en la pestaña “Filters” , luego de ubicarlo en el área de trabajo, se debe unir como se ha venido trabajando con la función anterior “Class Asigner” mediante una flecha y con la opción “dataSet”. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I 2. A continuación se debe seleccionar de la barra de herramientas en la pestaña de “Evaluación” el ícono “CrossValidation FoldMarker” y ubicarlo en el diseño, conectando de manera adecuada con el ícono trabajado anteriormente. 3. Ahora, se debe colocar en el área de diseño el ícono ID3 ubicado en la pestaña de “Classifiers” en la sección “tres” que se encuentra en la parte superior de la pestaña, al final de la lista de herramientas que se observan. 4. Para la conexión de los dos últimos elementos ubicados en el área de trabajo se deben dirigir dos flechas con funciones distintas desde “CrossValidation FoldMarker” hasta “ID3”, una es “DataSet” y la otra “trainingSet”. 5. Se debe usar un clasificador más para que el árbol de decisión Id3 arroje resultados óptimos. “Classifier PerformanceEvaluator” el cual se unirá al ícono anterior por medio de la opción “batchClassifier” (No olvidar que la dirección en la que se unen los componentes es importante, la flecha sale del componente anterior al que se unirá ya que este corresponde a la punta de la flecha). 6. Por último, para visualizar el resultado se selecciona en la pestaña de “Visualización” el ícono “TextViewer”, conectando “Classifier Performance Evaluator” por medio de la opción “text” a este último componente del flujo. 7. Se debe dar click derecho en el primer ícono del flujo (“ArffLoader”) y seleccionar la opción “Start Loading” para que el circuito comienzo a funcionar y posteriormente muestre los resultados. En la Ilustración 21, se observa el flujo de conocimiento que resulta al seguir cada uno de los pasos, y en la Ilustración 22 se muestran los resultados del árbol Id3 creado en forma de texto. La creación de flujos de conocimiento puede ser libre para el usuario teniendo en cuenta la claridad de los conceptos en cuanto a cada una de las funciones en Weka, gracias a su interfaz gráfica, el experimentar puede ser una acción menos compleja debido a su ventana de errores y su facilidad en el cambio de componentes. Ilustración 21.Flujo de conocimiento para el algoritmo Id3. Ilustración 22. Árbol de decisión ID3 en forma de texto. INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I Para finalizar, se realizará un ejemplo acerca de la creación de curvas ROC en Weka mediante un flujo de conocimiento como los trabajados anteriormente. Para este ejemplo usaremos J48 y RandomForest como clasificadores, al igual que con el ejemplo anterior se deben seguir los 4 primeros pasos hasta tener en el área de trabajo un circuito con los íconos “ArffLoader” y “ClassAsigner”.Luego: 1. Seleccione el ícono ClassValuePicker (Permite elegir qué clase de etiqueta será evaluada en la curva ROC), se debe conectar por medio de una línea y la opción dataSet, los íconos ClassAsigner y ClassValuePicker. 2. El siguiente componente del flujo de conocimiento será CrossValidationFoldMarker ubicado en la pestaña “Evaluation” el cual deberá ser conectado con el ícono anterior de la misma forma que se ha venido trabajando. 3. En la pestaña “Classifiers” , en la sección “trees” se debe seleccionar el ícono J48 ubicarlo en el área de trabajo y luego, “RandomForest”, conectando CrossValidationFoldMarker a cada uno de estos íconos mediante las opciones “trainingSet” y “testSet”. 4. El siguiente paso, será elegir el ícono “ClassifierPerformanceEvaluator” unido a J48 y a RandomForest mediante la opción “batchClassifier”. (Se deben ubicar dos íconos del mismo “ClassifierPerformanceEvaluator” en el área de trabajo) 5. Por último, se debe conectar al flujo de conocimiento el ícono “ModelPerformanceChart” y unirlo mediante la opción “thresholdData”. En la Ilustración 23 se mostrará el flujo de conocimiento resultante. Ilustración 23 Ilustración 23.Flujo de conocimiento para la creación de curvas ROC. Conclusiones o La interfaz “Explorer” en Weka posee diferentes herramientas que ofrece al usuario ventajas tales como clasificación, agrupamiento, asociación y selección de atributos, así como visualización de datos. o La creación del manual de usuario es una herramienta útil para guiar de manera adecuada el uso del software fomentando el aprendizaje autónomo. o Mediante la investigación se demuestra la importancia del uso de software encaminados a la minería de datos en cuanto al descubrimiento y organización del conocimiento. Referencias Jofré Nicolás (2011). Trabajo Final de Ingeniería, Weka- Data Mining. Obtenido de http://tfialumnos.files.wordpress.com (2001). Weka Data Mining System- Weka Experimenter Enviroment. Obtenido de http://www.inf.ed.ac.uk/teaching/courses/dme/html/Experiments.pdf Paula Andrea Vizcaino Garzón (2008). Aplicación de técnicas de inducción de árboles de decisión a problemas de clasificación mediante el uso de Weka. Obtenido de http://www.konradlorenz.edu.co/images/stories/suma_digital_sistemas/2009_01 http://tfialumnos.files.wordpress.com/ http://www.inf.ed.ac.uk/teaching/courses/dme/html/Experiments.pdf http://www.konradlorenz.edu.co/images/stories/suma_digital_sistemas/2009_01 INV- Interfaces de usuario “Explorer” y “Knowledge Flow” en Weka /2014-I http://procesosoftware.wikispaces.com/Modelo+Incremental Imagen 15 http://www.ecured.cu/index.php/Procesamiento_por_lotes Procesamiento por lotes http://es.wikipedia.org/wiki/Procesamiento_por_lotes Procesamiento por lotes http://riunet.upv.es/bitstream/handle/10251/10097/PFC_DSIC- 80_Agust%C3%ADnCalleja.pdf?sequence=1 http://procesosoftware.wikispaces.com/Modelo+Incremental http://www.ecured.cu/index.php/Procesamiento_por_lotes http://es.wikipedia.org/wiki/Procesamiento_por_lotes http://riunet.upv.es/bitstream/handle/10251/10097/PFC_DSIC-80_Agust%C3%ADnCalleja.pdf?sequence=1 http://riunet.upv.es/bitstream/handle/10251/10097/PFC_DSIC-80_Agust%C3%ADnCalleja.pdf?sequence=1
Compartir