Proyecto Elvira. Clasificadores En Elvira (definición y validación) Francisco Javier García Castellano

Documentos relacionados
Métodos para Determinar el Atributo Distinguido en Multiredes Bayesianas

Reconocimiento de Patrones

Precisión del Modelo

Módulo Minería de Datos Diplomado. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

Clasificación de documentos

Tema 5: Evaluación de Modelos de Clasificación Supervisada p. 1/2

Aprendiendo Redes Bayesianas para Clasificación: Buscando en el espacio de los Grafos Acíclicos Parcialmente Dirigidos

Evaluación de modelos

Restricciones Para El Aprendizaje de Redes Bayesianas

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //...

Aprendizaje Automático para el Análisis de Datos GRADO EN ESTADÍSTICA Y EMPRESA. Ricardo Aler Mur

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

int int. 1622

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Clasificación de estados cerebralesusando neuroimágenes funcionales

Práctica 5c. Práctica 5c. José M. Ordax

INSTITUTO TECNOLOGICO DE VILLAHERMOSA

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Clasificación de documentos en Weka WAIKATO ENVIRONMENT FOR KNOWLEDGE ANALYSIS

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Examen de Fundamentos de Computadores y Lenguajes

Análisis de Datos. Validación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

RELACIÒN ENTRE LA PROGRAMACIÒN ORIENTADA A OBJETOS Y LA ESTRUCTURADA

Agenda. Guía en 5 pasos para el diseño orientado a objetos

Práctica 3: Realce de imágenes

APRENDER A BUSCAR Y GESTIONAR INFORMACIÓN EN INTERNET

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Tema 6: Memoria dinámica

Methods of Classification in Mining of Meteorological Data

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

Análisis de Datos. Introducción al aprendizaje supervisado. Profesor: Dr. Wilfrido Gómez Flores

Introducción. Qué es Machine Learning?

Prueba N o 1. Programación II

Aprendizaje Automatizado

Tópicos Selectos en Aprendizaje Maquinal. Algoritmos para Reconocimiento de Patrones

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

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

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

Estructura de datos y Programación

15. Parámetros o argumentos

Práctica 2 Gráficos Vectoriales con SVG (versión )

Introduction to MLlib

// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal

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

Caso práctico Alquiler de películas en un vídeo-club

PUBLICACIÓN DEL ENUNCIADO: Semana del 10 de noviembre de ENTREGA: Clase de laboratorio de la semana del 8 de diciembre de 2003.

Introducción al Procesamiento de Lenguaje Natural. Grupo de PLN - InCo

11. Algunas clases estándar de Java (II)

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Tipos Recursivos de Datos

Tópicos Selectos en Aprendizaje Maquinal. Clasificación y Regresión con Datos Reales

Tipos de Datos Recursivos

4. Operadores Operador asignación

2ª Parte: Problemas (5 puntos sobre 10)

1. Algunas clases del paquete java.util

TEMA 3. CLASES. EJERCICIOS

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

Concurso: Cuánto sabes de JAVA?

Fundamentos de Programación

Proyecto Final - Reconocimiento de Patrones

Colas. 5.1 Implementación

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Unidad IV. Aplicaciones sobre Base de Datos

Federico Peinado

Comparación de métodos de aprendizaje sobre el mismo problema

Definición. Mónica E. García García Feb 07

ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS

Máquinas de vectores soporte con R

> t.test (datos_x, datos_y =NULL, alternative = "two.sided", mu = 0, paired =FALSE, var.equal = FALSE, conf.level= 0.95)

Programación Avanzada para Sistemas de Telecomunicación Arrays

IAAE - Inteligencia Artificial Aplicada a la Ingeniería

INFORMATICA II PRIMER PARCIAL

Clases, Objetos y Métodos (II)

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Programación. Test Autoevaluación Tema 3

Sesión 3. TEMA 5. DEFINICIONES DE CLASES

Los Constructores(1)

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2007.

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

PROGRAMACION I Archivos directos

Herramienta para la detección de TDAH y Estilos de Aprendizaje

Tipos primitivos y clases de interés

NEWTON TREES. Árboles de Estimación Estocástica de Probabilidades:

PRACTICA 4. MANEJO DE ARCHIVOS II

Examen Parcial. Attr1: A, B Attr2: A, B, C Attr3 1, 2, 3 Attr4; a, b Attr5: 1, 2, 3, 4

Transcripción:

Proyecto Elvira Clasificadores En Elvira (definición y validación) Francisco Javier García Castellano fjgc@decsai.ugr.es Uncertainty Treatment in Artificial Intelligence Research Group Department of Computer Science and Artificial Intelligence Granada University (Spain)

Classifier Interfaz: Classifier.java (elvira/learning/classification/ ) Métodos : learn: Construye el modelo (parámetros y estructura) classify: Categoriza una instancia.

Constructor Constructor propio de cada clasificador En el constructor se especifican la configuración a utilizar Naive_Bayes nb=new Naive_Bayes(); CMutInfTAN tan=new CMutInfTAN(casos, false);

Learn Void learn (DataBaseCases dbc, int classnumber); Aprende el clasificador a partir del conjunto que se le da como argumento. Se le indica también que variable es la clase. nb.learn(casos, clase); tan.learn(casos, clase);

Classify Vector classify (configuration instance, int classnumber) Categoriza la instancia. Devolviendo un vector con probabilidades para cada clase Vector salida=nb.learn(instancia, clase); for (int i=0;i<salida.size();i++) System.out.printl( Clase +i+ probabilidad +((Double)salida.elementAt(i)));

Validacion Clase: ClassifierValidation.java ( elvira/learning/classification) Utiliza ConfusionMatrix.java Métodos de Validación: Train & Test K-fold Cross-validation Leave One Out Test de rangos con signos de Wilcoxon para muestras pareadas

Constructor ClassifierValidator (Classifier c, DataBaseCases datos, int clase) validador con un clasificador no construido. Base de datos con todos los casos ClassifierValidator validator= new ClassifierValidator( (Classifier)nb, casos, clase);

Train & Test Vector trainandtest () Parte los datos en : entrenamiento y test (2/3 y1/3) Devuelve 2 matrices de confusión en un Vector Construye el clasificador y lo valida Vector resultv=validator.trainandtest(); cm=(confusionmatrix)resultv.elementat(1); System.out.println( Train Error="+cm.getError()+" Varianza:"+cm.getVariance()); cm.print(); cm=(confusionmatrix)resultv.elementat(1); System.out.println( Test Error="+cm.getError()+" Varianza:"+cm.getVariance()); cm.print();

K-fold ConfusionMatrix kfoldcrossvalidation (int k) K particiones Devuelve una matriz de confusión Construye el clasificador y lo valida k veces cm=validator.kfoldcrossvalidation(k); cm=(confusionmatrix)resultv.elementat(1); System.out.println( K-Fold Error="+cm.getError()+" Varianza:"+cm.getVariance()); cm.print();

Leave one out ConfusionMatrix leaveoneout () K-Fold Cross Validation con k=n, n número de casos Devuelve una matriz de confusión cm=validator.leavingoneout(); cm=(confusionmatrix)resultv.elementat(1); System.out.println( Leave One Out Error="+ cm.geterror()+" Varianza:"+cm.getVariance()); cm.print();

Wilcoxon double wilcoxonpairedsignedranktest (Vector lista1, Vector lista2); Éste método aplica el test de signos por rangos de Wilcoxon para muestras pareadas. Se aplica a 2 vectores de matrices de confusión (usa sus errores). El tamaño de la muestras tiene que estar entre 6 y 25, ambos incluidos. Devuelve el nivel de significación (0.05, 0.02, 0.01 ó 0)

Wilcoxon 2 Se usa K-Fold Cross-Validation Se hace la misma prueba para los dos clasificadores. Devolviendo Vectores. Se cambia de clasificador ClassifierValidator validator= new ClassifierValidator( (Classifier)nb, casos, clase); Vector matricesnb=validator.kfoldcrossvalidation_vector(k); validator.setclassifier((classifier)tan); Vector matricestan=validator.kfoldcrossvalidation_vector(k);

Wilcoxon 3 Se realiza el test De la lista de matrices se puede sacar la matriz media Si el resultados es distinto de 0, los resultados son significativos ConfusionMatrix medianb= new ConfusionMatrix ((FiniteStates)casos.getVariables().elementAt(clase)); medianb.average(matricesnb); ConfusionMatrix mediatan= new ConfusionMatrix ((FiniteStates)casos.getVariables().elementAt(clase)); mediatan.average(matricestan); double salida=validator.wilcoxonpairedsignedranktest (matricesnb, matricestan);