Práctica 2: Utilización de WEKA desde la línea de comandos.

Documentos relacionados
Práctica 3: Almacenamiento de modelos con WEKA.

Práctica 1: Entorno WEKA de aprendizaje automático y data mining.

Se presenta de forma concisa y práctica la herramienta de minería de datos WEKA.

PROCEDIMIENTO PARA GENERAR LOS REQUERIMIENTOS DE SELLOS DIGITALES

3.1. Editor de texto de Moodle

Novedades programa de contabilidad EURO SICAL V Rv30

TP N 4 Redirección de entrada y salida estándar

11.2. Manual de GTC 2.0: El primer contacto

Interprete comandos de Windows.

UTILIZACIÓN DE PLANTILLAS Y ASISTENTES QUE INCORPORA LA APLICACIÓN Y CREACIÓN DE PLANTILLAS PROPIAS

INTRODUCCIÓN AL POWER POINT 2007 POWER POINT Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

FUNDAMENTOS DE INFORMÁTICA

Guía de uso del sistema de acceso al DiViSA

. REGISTRO DE ENFERMEDADES RARAS

Liondev GENERARACION DE CERTIFICADO DE SELLO DIGITAL (CSD) Y FIEL. Liondev S.A. de C.V.

FIRMA ELECTRÓNICA INSTALACIÓN Y USO DE CERTIFICADOS EN ARCHIVO PKCS#12 MANUAL DE USUARIO V1.1 14/07/2015

SESIÓN 6 INTRODUCCIÓN A POWER POINT

Cómo descargar, instalar y verificar JAVA

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

MICROSOFT EXCEL 2010

Tema: Introducción al IDE de Microsoft Visual C#.

Contenido. Introducción Usando di Monitoring como un usuario normal Uso de di Monitoring como un operador de entrada de datos...

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)

Tutorial sobre EndNote

2º ITT SISTEMAS ELECTRÓNICOS 2º ITT SISTEMAS DE TELECOMUNICACIÓN 3º INGENIERÍA DE TELECOMUNICACIÓN AUTÓMATAS Y SISTEMAS DE CONTROL

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Manual de usuario MetaTrader 4 TraderNovo:

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Tema 3. Aplicaciones de Tipo Consola

MANUALES DE USO DE CENGAGE: Usuario lector

Importación de Datos

Manual de usuario. Conversión desde programas de gestión bibliográfica: Biblioscape, Citation, EndNote, Papyrus, ProCite i Reference Manager

MANUAL DE USUARIO MODULO DE ACTIVOS FIJOS

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

PRESENTACIÓN ELECTRÓNICA CON INTERNET EXPLORER

Tema 1. Introducción a OpenOffice Writer

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA. Búsquedas en Google

UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS

Java desde Consola Utilizando Java sin Path

Administración de la producción. Sesión 9: Hojas de cálculo (Microsoft Excel)

Práctica 6: Consultas

Prácticas con VISUAL-CORE. Sesión práctica 0: Instrucciones de instalación del programa VISUAL-CORE

A continuación entramos en detalle sobre cada uno de los pasos.

MANUAL DE USUARIO. Funcionalidad del Asistente de Mantenimiento LAN+PC de Movistar GUÍA BÁSICA DE MANEJO. Versión 2

INSTRUCCIONES PRESENTACIÓN DE CUENTAS ANUALES EN EL REGISTRO MERCANTIL

A la derecha de este botón irán apareciendo todas las aplicaciones abiertas en ese momento en el sistema.

Microsoft Excel 2003 (Completo)

Microsoft Excel 2003 (Completo)

Reactivación automática de Contraseñas

1.- Introducción al cañón Virtual.

MICROSOFT WORD AVANZADO. Nº Horas: 30. Objetivos:

Práctica ENS:Ensamblar y depurar

Requisitos mínimos del sistema. 3. Comenzar la instalación. 2. Instalación de software Después de la instalación. 3

... Bases de datos con Excel CAPÍTULO Creación de una Base de Datos

MICROSOFT WORD 2016 Básico

MANUAL DE CONFIGURACIÓN JAVA Y NAVEGADORES PARA USO DE APLICACIONES CON FIRMA. Versión 4.0

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

MICROSOFT PowerPoint 2016 Básico

Componer imágenes utilizando diferentes fuentes que proporcionan las capas: fotos digitales, textos, transparencias, etc.

MANUAL DE USUARIO NOTAS PARCIALES MODULO CONFIGUARACION DE NOTAS -288

RECEPCIÓN DE FICHEROS DE NACIMIENTOS Y DEFUNCIONES

ING. GUILLERMO RODRIGUEZ - GIMNASIO DEL CALIMA

Microsoft Office Word

ModelBuilder - Tutorial de ejecución de herramientas

Introducción a Matlab.

Hacienda. Conceptos Generales

Seleccionamos la opción Nadadores dentro de la zona Nadadores y Records. Mostrándonos la siguiente pantalla: Pantalla 1: Nadadores.

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

MÓDULO 4: PLANTA DE PERSONAL

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 4: Diseñador de Consultas (+ info)

Jornadas sobre Gnu/Linex: Uso de Software Libre en las Administraciones públicas. Sonia Pizarro Redondo

MANUAL DE USUARIO SISTEMA DE POSTULACIÓN EN LINEA Cartas de Recomendación

Instructivo Costo Promedio Ponderado en el software administrativo

El modo más sencillo de pasar estos datos a STATA es activar el STATA Data Editor e introducir los datos en la interfaz de la hoja de cálculo.

Manual Excel. RGA Training & Solutions

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

Declaración Anual de Operaciones con Terceras Personas - Modelo 347 en Retailer

Tabla de Contenidos. Módulo: Mensajería instantánea para trabajo tutorial y colaborativo. Mensajería instantánea para trabajo tutorial y colaborativo

Nero InfoTool Manual. Nero AG

Facturación electrónica de Primas

Manual de Access. RGA Training & Solutions

Windows XP Home. GestionGlobal21.com Página 1

Laboratorio. Instalación de Visual Studio Community. Back To Basics Instalando Visual Studio Community. Versión: 1.0.

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Introducción a Windows 98

Configuración básica de redes TCP/IP.

Curso AVANZADO DE EXCEL 2013

MANUAL DE AYUDA PARA EL ENVÍO POR LOTES DE CUENTAS ANUALES

7ª Práctica. Matlab página 1 EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

GUIA No 5. CREACIÓN DE SubVI s

Guía de integración del módulo PayNoPain en Prestashop

Instrucciones para adecuación de oficina de farmacia a Nueva Versión de Diraya 3.0

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

WorkManager E.D. Manual guía de usuario Diseñador de formularios

Práctica 1. Entorno del Sistema Operativo Windows XP

SREEMSyS Secretaría de Educación de Nuevo León

Transcripción:

PROGRAMA DE DOCTORADO TECNOLOGÍAS INDUSTRIALES APLICACIONES DE LA INTELIGENCIA ARTIFICIAL EN ROBÓTICA Práctica 2: Utilización de WEKA desde la línea de comandos. Objetivos: Utilización de WEKA desde la línea de comandos. Modificación de parámetros de los clasificadores Lectura automática de resultados. Lanzamiento de WEKA dentro de un bucle.

1. INTRODUCCIÓN En la práctica anterior se utilizó WEKA desde uno de sus entornos gráficos. En ocasiones es más práctico utilizar los algoritmos de WEKA desde la línea de comandos. Por ejemplo, si se quiere lanzar muchas veces un clasificador para obtener estadísticas de resultados, se puede automatizar el proceso mediante un bucle. 2. LANZAMIENTO DE UN COMANDO WEKA DESDE MS-DOS Como ejemplo, se generará desde MS-DOS un árbol de decisión a partir de un fichero de datos de entrenamiento propio de WEKA. Para ello, en primer lugar abriremos una ventana de comandos de MS-DOS. Dentro de esa ventana, nos situaremos en el directorio donde se encuentra instalado WEKA. En la mayor parte de los ordenadores, este directorio será: c:\iarp\weka_java Una vez en el directorio correcto, se tecleará: java weka.classifiers.trees.j48 t data\weather.arff C 0.30 El resultado que aparecerá en pantalla será el siguiente: Options: -C 0.30 J48 pruned tree ------------------ outlook = sunny humidity <= 75: yes (2.0) humidity > 75: no (3.0) outlook = overcast: yes (4.0) outlook = rainy windy = TRUE: no (2.0) windy = FALSE: yes (3.0) Number of Leaves : 5 Size of the tree : 8 Time taken to build model: 0.02 seconds Time taken to test model on training data: 0 seconds

=== Error on training data === Correctly Classified Instances 14 100 % Incorrectly Classified Instances 0 0 % Kappa statistic 1 Mean absolute error 0 Root mean squared error 0 Relative absolute error 0 % Root relative squared error 0 % Total Number of Instances 14 === Confusion Matrix === a b <-- classified as 9 0 a = yes 0 5 b = no === Stratified cross-validation === Correctly Classified Instances 9 64.2857 % Incorrectly Classified Instances 5 35.7143 % Kappa statistic 0.186 Mean absolute error 0.2857 Root mean squared error 0.4818 Relative absolute error 60 % Root relative squared error 97.6586 % Total Number of Instances 14 === Confusion Matrix === a b <-- classified as 7 2 a = yes 3 2 b = no Se trata el mismo resultado que se obtuvo en la práctica anterior desde el entorno gráfico. Veamos en detalle la instrucción tecleada: java (lanza el intérprete java) weka.classifiers.trees.j48 (elige un clasificador de entre todos los disponibles, en este caso el generador de árboles de decisión J48) t data\weather.arff (indica cuál es el fichero de datos de entrenamiento a utilizar). C 0.30 (fija un parámetro del clasificador. En este caso es el umbral de confianza para la poda de los árboles).

La forma de lanzar cualquier otro clasificador o cualquier otra función de WEKA es similar. Para determinar el tipo de funciones disponibles, basta con comprobar los distintos directorios que existen a partir de weka_java\weka\: Associations: algoritmos para generar reglas a partir de datos. AttributeSelection: selección de características. Classifiers: Clusterers: Core: Datagenerators: Estimators: Experiment: Filters: Gui: clasificadores. agrupación de datos. funciones núcleo de WEKA (no se usan directamente). generación automática de datos (aleatorios). estimadores estadísticos. interfaz de usuario. filtros de datos y de atributos. interfaz de usuario. Dentro de cada directorio existen múltiples subdirectorios, por lo tanto la cantidad de algoritmos disponible en WEKA es muy elevada. 3. LANZAMIENTO DE UN COMANDO WEKA DESDE MATLAB Es práctico lanzar los comandos de WEKA desde Matlab para poder incluir bucles y funciones de lectura automática de resultados fácilmente. Para lanzar WEKA desde Matlab se realiza una llamada al sistema (a MS-DOS) mediante el comando!: Desde la ventana de comandos de Matlab, nos situaremos en el directorio correcto mediante el comando cd: >> cd c:\iarp\weka_java Una vez en el directorio correcto, teclearemos: >>!java weka.classifiers.trees.j48 t data\weather.arff C 0.30 Y obtendremos el mismo resultado que el obtenido sobre la ventana de MS-DOS. Una ventaja adicional de utilizar Matlab es que el comando se puede modificar a voluntad desde dentro del programa, mediante la instrucción eval. Por ejemplo, para generar un árbol de decisión con un umbral de confianza ajustable para la poda podemos teclear las siguientes instrucciones de Matlab:

>> conf = 0.30; >> orden = sprintf (!java weka.classifiers.trees.j48 t data/weather.arff C %f, conf); >> eval(orden); El resultado será similar al obtenido en el resto de pruebas Por último, será posible realizar un bucle para distintos valores del parámetro del clasificador, de la forma siguiente: >> cf = [0.05 0.10 0.15 0.20 0.25 0.30]; >> for i=1:6 >> orden = sprintf (!java weka.classifiers.trees.j48 t data/weather.arff C %f, cf(i)); >> eval(orden); >> end; 4. LECTURA AUTOMÁTICA DE RESULTADOS DE WEKA Comprobar los resultados de WEKA sobre la pantalla no es práctico cuando se realizan múltiples experimentos dentro de un bucle. Desde Matlab es posible leer automáticamente los resultados, siempre que éstos se hayan guardado anteriormente en un fichero. Para guardar los resultados en un fichero, basta con utilizar el operador de redirección de MS-DOS (símbolo >) que hace que los datos no se muestren en pantalla sino que se escriban en el fichero que se indique. Desde Matlab, bastaría con teclear un comando como el siguiente: >>!java weka.classifiers.trees.j48 t data\weather.arff > out.txt La redirección hace que los resultados se guarden en el fichero out.txt y que no aparezcan en pantalla. Para comprobar que todo ha funcionado correctamente, se buscará el fichero anterior desde el explorador de Windows y se abrirá con el programa Wordpad (el programa Notepad puede mostrar incorrectamente los saltos de línea). El último paso consiste en extraer automáticamente la información deseada del fichero de resultados. Supongamos que los datos que nos interesan son los porcentajes de clasificaciones correctas tanto sobre los datos de entrenamiento como en un experimento de validación cruzada. Tales datos aparecen en el siguiente punto de los resultados: 1. Porcentaje de clasificaciones correctas sobre los datos de entrenamiento: === Error on training data === Correctly Classified Instances 14 100 %

2. Porcentaje de clasificaciones correctas en un experimento de validación cruzada: === Stratified cross-validation === Correctly Classified Instances 9 64.2857 % Podemos escribir un programa Matlab que lea el fichero de resultados y busque precisamente esa información. Este programa se incluye como dato de la práctica. El programa es el siguiente: % lee resultados de WEKA function [porcent1, porcent2] = lee_weka (fichero) % abre fichero de resultados file = fopen(fichero, 'r'); % busca primer dato cadena = busca_comienzo('=== Error on training data ===', file); cadena = busca_comienzo('correctly Classified Instances', file); datos = sscanf(cadena(31:length(cadena)), '%f'); porcent1 = datos(2); % busca segundo dato cadena = busca_comienzo('=== Stratified cross-validation ===', file); cadena = busca_comienzo('correctly Classified Instances', file); datos = sscanf(cadena(31:length(cadena)), '%f'); porcent2 = datos(2); fclose(file); return % busca una cadena que comienza por unos ciertos caracteres function cadena = busca_comienzo(comienzo, file); carac = length(comienzo); seguir=1; while seguir==1 cadena = fgets(file); if (length(cadena)>=carac) if cadena(1:carac)==comienzo seguir=0; end end end return Y está disponible en la página web de la asignatura para evitar teclearlo: http://lorca.umh.es/isa/es/doct/ia/p2/lee_weka.m

La forma de utilizar el programa será la siguiente: En primer lugar, el programa se debe copiar en el directorio de la asignatura: C:\iarp\weka_java En Segundo lugar, se lanzará el programa desde Matlab de la forma siguiente: >> [porcent1, porcent2] = lee_weka('out.txt') porcent1 = 100 porcent2 = 64.2857 Una vez que somos capaces de leer los resultados, es posible lanzar un clasificador con distintos valores para sus parámetros en un bucle y almacenar todos los resultados. Se probará el siguiente programa Matlab: >> cf = [0.05 0.10 0.15 0.20 0.25 0.30]; >> for i=1:6 >> orden = sprintf (!java weka.classifiers.trees.j48 t data/weather.arff C %f > out.txt, cf(i)); >> eval(orden); >> [p1(i), p2(i)] = lee_weka( out.txt ); >> end; Una vez ejecutado el programa anterior, los resultados estarán disponibles en los vectores p1 y p2, y podrán ser mostrados, por ejemplo, mediante un comando plot: >> plot(p1, r-* ); >> plot(p2, g-o ); 100 95 90 85 80 75 70 65 60 55 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6

A ENTREGAR: EJERCICIO NÚMERO 1 A) Recuperar los ficheros datos_1.arff, datos_2.arff y datos_3.arff de la página web de la asignatura: http://lorca.umh.es/isa/es/doct/ia/p2/datos_1.arff http://lorca.umh.es/isa/es/doct/ia/p2/datos_2.arff http://lorca.umh.es/isa/es/doct/ia/p2/datos_3.arff B) Lanzar el programa WEKA dentro de un bucle, generando árboles de decisión para cada uno de los ficheros de datos y para cada uno de los siguientes valores del parámetro de confianza para la poda; [0.005 0.010 0.025 0.050 0.10 0.15 0.20 0.25 0.30]; C) Almacenar los resultados de clasificaciones correctas en un experimento de validación cruzada, mostrando posteriormente los resultados en un gráfico como el que se indica a continuación, donde Xxxxx Yyyyyy Zzzzzz se corresponden con el nombre y apellidos del alumno. El resultado final debe tener un aspecto como el siguiente: 98 Xxxxxx Yyyyyyy Zzzzzzz resultados en validacion cruzada (%) 97 96 95 94 93 datos 1 datos 2 datos 3 92 0.005 0.010 0.025 0.050 0.100 0.150 0.200 0.250 0.300 umbral de confianza para la poda

A ENTREGAR: EJERCICIO NÚMERO 2 A) Crear un programa lee_weka_plus.m tomando como base el programa lee_weka.m que, además de leer los valores de porcentajes de aciertos correctos, sea capaz de leer también el tamaño del árbol de decisión (el número de nodos).tal información se encuentra en el siguiente punto de los resultados: Size of the tree : 8 B) Lanzar de nuevo el programa WEKA dentro de un bucle, con los mismos ficheros de datos del ejercicio anterior, pero recopilando en este caso los resultados de número de nodos del árbol. El resultado se debe nombrar en un gráfico como el que se indica a continuación, donde Xxxxx Yyyyyy Zzzzzz se corresponden con el nombre y apellidos del alumno. El resultado final debe tener un aspecto como el siguiente: 120 100 datos 1 datos 2 datos 3 Xxxxxx Yyyyyyy Zzzzzzz numero de nodos del arbol 80 60 40 20 0 0.005 0.010 0.025 0.050 0.100 0.150 0.200 0.250 0.300 umbral de confianza para la poda