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
Clasificación Supervisada en ElviraRosa 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– NBayes– TreeAugmentedNB
Clasificación con Variables Discretas
DiscreteClassifier
Naive_Bayes TAN
CMutInfTAN
Classifier
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
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
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[])
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
Naive_Bayes I
Todas las variables predictoras son condicionalmente independientes dada la clase
C
X1 X2 Xn...
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();
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
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
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();
Otros modelos clasificatorios
Naive_Bayes:– wrapperSelectiveNaiveBayes (Langley y
Sage, 1994)– wrapperSemiNaiveBayes (Pazzani, 1997)
TAN:– wrapperTAN (Keogh y Pazzani, 1998)
Clasificación con Variables Continuas
Classifier
BClassifier
NBayes TreeAugmentedNB
Graph
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
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
NBayes
Todas las variables predictoras son condicionalmente independientes dada la clase
learnStructure(): aprende los Links necesarios para el modelo naïve Bayes
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
Preguntas