1 / 19

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

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

mab
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Introducción • Variables discretas • DiscreteClassifier • Naive_Bayes • TAN • CMutInfTAN • Otros modelos clasificatorios • Variables continuas • BClassifier • NBayes • TreeAugmentedNB

  3. Clasificación con Variables Discretas Classifier DiscreteClassifier Naive_Bayes TAN CMutInfTAN

  4. 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

  5. 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

  6. 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[])

  7. 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

  8. Naive_Bayes I C • Todas las variables predictoras son condicionalmente independientes dada la clase X1 X2 ... Xn

  9. 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 instancia Naive_Bayes nb = new Naive_Bayes(cases, true); nb.structuralLearning(); nb.factorize();

  10. TAN I C • Las variables predictoras siguen una estructura de árbol: • todas las variables (excepto la variable raíz) tienen un padre además de la clase X1 X2 X3 X4

  11. 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

  12. 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();

  13. Otros modelos clasificatorios • Naive_Bayes: • wrapperSelectiveNaiveBayes (Langley y Sage, 1994) • wrapperSemiNaiveBayes (Pazzani, 1997) • TAN: • wrapperTAN (Keogh y Pazzani, 1998)

  14. Clasificación con Variables Continuas Classifier Graph BClassifier NBayes TreeAugmentedNB

  15. 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

  16. 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

  17. NBayes • Todas las variables predictoras son condicionalmente independientes dada la clase • learnStructure(): aprende los Links necesarios para el modelo naïve Bayes

  18. 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

  19. Preguntas

More Related