19
Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa, ccbpemaa }@si. ehu .es Intelligent Systems Group Universidad del País Vasco

Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa, ccbpemaa}@si.ehu.es

  • Upload
    mab

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa, ccbpemaa}@si.ehu.es. Intelligent Systems Group Universidad del País Vasco. Introducción. Variables discretas DiscreteClassifier Naive_Bayes TAN CMutInfTAN Otros modelos clasificatorios Variables continuas BClassifier - PowerPoint PPT Presentation

Citation preview

Page 1: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Clasificación Supervisada en ElviraRosa Blanco y Aritz Pérez {rosa, ccbpemaa}@si.ehu.es

Intelligent Systems Group

Universidad del País Vasco

Page 2: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Introducción

Variables discretas– DiscreteClassifier– Naive_Bayes– TAN

• CMutInfTAN

– Otros modelos clasificatorios Variables continuas

– BClassifier– NBayes– TreeAugmentedNB

Page 3: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Clasificación con Variables Discretas

DiscreteClassifier

Naive_Bayes TAN

CMutInfTAN

Classifier

Page 4: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

DiscreteClassifier I

Clase abstracta: DiscreteClassifier.java (elvira/learning/classification/supervised/discrete)

Constructor: indicar laplace Métodos:

– train(): construye el modelo• structuralLearning(): realiza el aprendizaje

estructural• factorize(): realiza el aprendizaje de los

parámetros

Page 5: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

DiscreteClassifier II

Métodos:– test(cases): testea el modelo– categorize(fichero_entrada, fichero_salida):

categoriza un fichero• assignClass(double[]): devuelve la clase más probable

para la instancia

– métodos de acceso Constructor:

– vacío– cases, laplace

Page 6: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Train() y Test()

Comunes a todos las subclases de DiscreteClassifier

train(): realiza el aprendizaje estructural y paramétrico mediante los métodos structuralLearning() y factorize()

test(cases): testea la bondad del clasificador en el conjunto de datos según el % de bien clasificados llamando al método assignClass(double[])

Page 7: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Categorize()

Común a todas las subclases de DiscreteClassifier

Genera un nuevo fichero a partir del fichero de entrada, en el que los casos han sido etiquetados

Page 8: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Naive_Bayes I

Todas las variables predictoras son condicionalmente independientes dada la clase

C

X1 X2 Xn...

Page 9: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Naive_Bayes II

structuralLearning(): aprende una Bnet según el modelo naïve Bayes

factorize(): asigna las probabilidades correspondientes en las tablas de probabilidad condicionada de los Nodes de la Bnet.

assignClass(double[]): devuelve la clase más probable para la instanciaNaive_Bayes nb = new Naive_Bayes(cases, true);nb.structuralLearning();nb.factorize();

Page 10: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

TAN I

Las variables predictoras siguen una estructura de árbol:– todas las variables (excepto la variable

raíz) tienen un padre además de la clase

C

X1 X2 X3 X4

Page 11: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

TAN II

Contiene los métodos comunes a los modelos con estructura de árbol:– factorize(): teniendo en cuenta la

estructura de árbol, calcula las tablas de probabilidad condicionada

– assignClass(double[]): a partir de las tablas de probabilidad condicionada, asigna una clase a un ejemplo

Page 12: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

CMutInfTAN

structuralLearning():– Aprende una estructura de árbol según el

algoritmo propuesto por Friedman et al. (1997)– Utiliza la información mútua de dos variables

predictoras dada la clase– Mantiene un vector donde relaciona las dos

variables predictoras con su información mútua dada la clase.CMutInfTAN tan = new CMutInfTAN(cases, true);tan.structuralLearning();tan.factorize();

Page 13: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Otros modelos clasificatorios

Naive_Bayes:– wrapperSelectiveNaiveBayes (Langley y

Sage, 1994)– wrapperSemiNaiveBayes (Pazzani, 1997)

TAN:– wrapperTAN (Keogh y Pazzani, 1998)

Page 14: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Clasificación con Variables Continuas

Classifier

BClassifier

NBayes TreeAugmentedNB

Graph

Page 15: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

BClassifier I

Clase abstracta: BClassifier.java (elvira/learning/classification/supervised/continuous)

Variables predictoras continuas, clase discreta

Distinto planteamiento: no se aprende una Bnet, mantiene una NodeList, sus Links y las tablas de probabilidad condicionada

Page 16: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

BClassifier II Constructor Métodos:

– learn(caselistmen): realiza el aprendizaje del modelo• learnStructure(): aprendizaje estructural• learnParameters(): aprendizaje paramétrico

– getCondProb(configuration): devuelve la probabilidad asociada a la configuration

– getClassification(configuration): devuelve un vector con las probabilidades asociadas a cada valor de la clase

– getClass(configuration): devuelve la clase más probable para la configuration

Page 17: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

NBayes

Todas las variables predictoras son condicionalmente independientes dada la clase

learnStructure(): aprende los Links necesarios para el modelo naïve Bayes

Page 18: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

TreeAugmentedNB

Adapta el modelo de naïve Bayes aumentado a árbol propuesto por Friedman et al. (1997)

Calcula la información mútua de dos variables continuas dada la clase (discreta) asumiendo normalidad

learnStructure(): aprende la estructura de árbol

Page 19: Clasificación Supervisada en Elvira Rosa Blanco y Aritz Pérez {rosa,  ccbpemaa}@si.ehu.es

Preguntas