Preprocesamiento Weka MD

Embed Size (px)

Citation preview

  • 8/9/2019 Preprocesamiento Weka MD

    1/42

    J.L. CUBERO, F. BERZAL, F. HERRERA

    Dpto. Ciencias de la Computación e I.A.

    Universidad de Granada18071 – ESPAÑA

    M1. FUNDAMENTOS DEMINERÍA DE DATOS

    MÁSTER OFICIAL DE LA UNIVERSIDAD DE GRANADA"SOFT COMPUTING Y SISTEMAS INTELIGENTES"

  • 8/9/2019 Preprocesamiento Weka MD

    2/42

    2

    Estudio práctico de

    las técnicas depreparación dedatos:

    LimpiezaTransformaciónReducción de datos

    Contenido del Curso

    http://www.cs.waikato.ac.nz/ml/weka/

  • 8/9/2019 Preprocesamiento Weka MD

    3/42

    3

    Bibliografía

    Bibliografía – Minería de Datos con WEKA

    Ian H. Witten & Eibe FrankDATA MININGPractical Machine Learning Tools andTechniquesSecond EditionMorgan Kaufmann

    2005

  • 8/9/2019 Preprocesamiento Weka MD

    4/424

    Preprocesamiento con WEKA

    Introducción a WEKA

    Técnicas básicas de preprocesamiento en

    WEKA

    Reducción de datos en WEKA

    Discretización Selección de Características Selección de Instancias

    Ejemplos Prácticos y Ejercicios

  • 8/9/2019 Preprocesamiento Weka MD

    5/425

    WEKA es una recopilación de algoritmos para

    aprendizaje automático y herramientas depreprocesamiento de datos.

     Además proporciona soporte para todo el procesoexperimental: evaluación, preparación y

    visualización de datos y resultados.

    Introducción a WEKA

    WEKAWEKA contienecontiene métodosmétodos dede clasificaciónclasificación , , regresiónregresión , ,clustering yclustering y reglasreglas dede asociaciónasociación

  • 8/9/2019 Preprocesamiento Weka MD

    6/42

    6

    Maneras de Interacción: Explorer: Se utiliza para

    ejecutar y compararresultados sobre un único

    conjunto de datos. Experimenter: Para

    construir unaexperimentación completa y

    almacenar resultados. Knowledge Flow: IDEM a

    experimenter perorepresenta el experimento

    con un grafo dirigido.

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    7/42

    7

    Explorer Cargar Datos Soporta

    ficheros enformato ARFF,CSV, Excel y

    conexión jdbccon BDs.

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    8/42

    8

    Formato ARFF @RELATION iris @ATTRIBUTE sepallength REAL @ATTRIBUTE sepalwidth REAL @ATTRIBUTE petallength REAL @ATTRIBUTE petalwidth REAL @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}

    @DATA

    5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 5.2,2.7,3.9,1.4,Iris-versicolor 5.0,2.0,3.5,1.0,Iris-versicolor 7.2,3.6,6.1,2.5,Iris-virginica 6.5,3.2,5.1,2.0,Iris-virginica

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    9/42

    9

    Explorer Construir un

    árbol de

    decisión Visualizar

    resultados de

    la ejecución

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    10/42

    10

    Explorer Formas de

    comprobar

    resultados (test): Solo entrenar Usar un conjunto

    de test específico

    k-cfv Particion

    determinada

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    11/42

    11

    Explorer Visualización

    de Datos Atributos vs.

    Atributos Detalle

    Introducción a WEKA

    Botónderecho

  • 8/9/2019 Preprocesamiento Weka MD

    12/42

    12

    Explorer Visualización

    de Resultados

    y modelos

    Introducción a WEKA

    Botónderecho

  • 8/9/2019 Preprocesamiento Weka MD

    13/42

    13

    Explorando Explorer (algoritmos más conocidos)

    Clasificación

    Introducción a WEKA

    BayesNet: Aprende redes Bayesianas

    NaiveBayes: Clasificador discriminador bayes standard

    Id3: Divide y Vencerás básico para árboles de decisión

    J48: C4.5

    RandomForest: Construye un Bosque Aleatorio

    JRip: Algoritmo RIPPER

    M5Rules: Construye reglas M5 desde árboles

    LinearRegression: Regresión linear standardMultilayerPerceptron: Red neuronal de retropropagación

    RBFNetwork: Red de función radio base

    SMO: Clasificación basada en vectores de soporte

    Ibk: k vecinos más cercanoLWL: Aprendizaje basado en pesos locales

  • 8/9/2019 Preprocesamiento Weka MD

    14/42

    14

    Explorando Explorer (algoritmos más conocidos)

    Clustering

    Asociación

    Introducción a WEKA

    CobWeb: Algoritmo CobWeb

    SimpleKMeans: Algoritmo k-Medias

    Apriori: Algoritmo Apriori

    PredictiveApriori: A priori con orden según acierto

    predictivo.

  • 8/9/2019 Preprocesamiento Weka MD

    15/42

    15

    Knowledge Flow

    Proporciona una alternativa a Explorer paraaquellos que piensan en términos de como losdatos fluyen a través del sistema.

    Permite crear configuraciones imposibles porExplorer .

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    16/42

    16

    Knowledge Flow: Ejemplo paso a paso (1)

    Objetivo: Cargar un fichero ARFF y llevar acabo una validación cruzada con C4.5

    Pulsar Arff Loader dentro de la pestaña DataSources. Pinchar en el panel de Dibujo.

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    17/42

    17

    Knowledge Flow: Ejemplo paso a paso (2)

    Con el botón derecho en el nodo Arff Loader , ira Configure. Por ejemplo, trabajaremos coniris.arff.

    Para indicar el atributo que será la clase,introducir un nodo Class Asigner (EtiquetaEvaluation).

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    18/42

    18

    Knowledge Flow: Ejemplo paso a paso (3)

    Para conectar ambos nodos, pulsar con elbotón derecho sobre Arff Loader y seleccionarla opción Conections->dataset.

    Configurar el Class Asigner para tomar elatributo Nom como clase.

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    19/42

    19

    Knowledge Flow: Ejemplo paso a paso (4)

    Hacer la misma operación para unCrossValidation Foldmaker.

    Configurarlo con 10 folds y poner una semillacualquiera.

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    20/42

    20

    Knowledge Flow: Ejemplo paso a paso (5)

    Introducir un nodo J48 (en pestaña classifiers). Conectarlo con CrossValidation Foldmaker 

    mediante la conexión trainingSet  y testSet .

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    21/42

    21

    Knowledge Flow: Ejemplo paso a paso (6)

    Introducir un nodo ClassifierPerformanceEvaluator (en pestaña evaluation).

    Conectarlo con J48 mediante la conexiónbatchClassifier .

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    22/42

    22

    Knowledge Flow: Ejemplo paso a paso (7)

    Para finalizar, incluimos un GraphViewer y unTextViewer conectados a J48 y ClassifierPerformanceEvaluator mediante conexionesgraph y text , respectivamente.

    Para ejecutar todo el experiento, seleccionarStart Loading en Arff Loader.

    Los resultados pueden verse en cualquiera delos dos visores finales

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    23/42

    23

    Knowledge Flow: Grafo final del ejemplo

    Introducción a WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    24/42

    24

    Knowledge Flow (componentes más útiles) Visualización

    Evaluación

    Introducción a WEKA

    DataVisualizer: Visualiza datos en 2D

    AtributteSummarizer: Histogramas, uno por atributo

    ModelPerformanceChart: Curvas ROC

    TextViewer: Visualiza datos o modelos en texto

    GraphViewer: Visualiza modelos de árboles

    CrossValidationFoldMaker: Divide datasets en folds

    TrainTestSplitMaker: Divide un dataset en train/test

    ClassAsigner: Asigna un atributo como clase

    ClassValuePicker: Elige un valor como clase positiva

    ClassifierPerformanceEvaluator: Recolecta estadísticas paraevaluación batch.

    IncrementalClassifierEvaluator: Recolecta estadísticas paraevaluación incremental.

    ClustererPerformanceEvaluator: Recolecta estadísticas paraclustering

    PreddictionAppender: añade predicciones de un clasificador a undataset

  • 8/9/2019 Preprocesamiento Weka MD

    25/42

  • 8/9/2019 Preprocesamiento Weka MD

    26/42

  • 8/9/2019 Preprocesamiento Weka MD

    27/42

  • 8/9/2019 Preprocesamiento Weka MD

    28/42

    28

    Ejemplo de Transformación Normalizado

    Filters

    Unsupervised   Atribute

    Normalize

    Preprocesamiento en WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    29/42

    29

    Discretización

    Discretize: Convierte atributos numéricos anominales. Especificar qué atributos, número de intervaloes,

    optimización de los mismos. Intervalos de igualanchura o frecuencia.

    PKIDiscretize: Discretiza con intervalos deigual frecuencia, y el número de intervalos esigual a la raiz cuadrada del número de valores.

    Reducción de Datos en WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    30/42

    30

    Selección de Características

    La Selección de Características se realizahaciendo una búsqueda en el espacio desubconjuntos de características y evaluando

    cada uno de ellos.

    Se consigue combinando uno de los 4

    evaluadores de subconjuntos con alguno de los7 métodos de búsqueda implementados.

    Reducción de Datos en WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    31/42

  • 8/9/2019 Preprocesamiento Weka MD

    32/42

    32

    Selección de Características Un método más rápido pero menos preciso

    consiste en evaluar los atributosindividualmente y ordenarlos, descartando

    atributos que caen debajo de un determinadoumbral.

    Se consigue seleccionando uno de los ochoevaluadores de atributos simple, usandodespués el método Ranker en la búsqueda.

    Reducción de Datos en WEKA

  • 8/9/2019 Preprocesamiento Weka MD

    33/42

    ó

  • 8/9/2019 Preprocesamiento Weka MD

    34/42

    34

    Selección de Instancias

    Los métodos clásicos de selección de instanciasno están incluidos en WEKA.

    Solamente tiene incluido el Muestreo

    Aleatorio. Se establece un porcentaje final de ejemplos Filter -> Unsupervised -> Instance -> Resample

    • No mantiene la proporción de clases Filter -> Supervised -> Instance -> Resample

    • Mantiene la proporción de clases

    Reducción de Datos en WEKA

    d ó d

  • 8/9/2019 Preprocesamiento Weka MD

    35/42

    35

    Selección de Instancias

    Se pueden simular dos métodos clásicos deselección de instancias aplicando unclasificador y quitando o dejando los ejemplos

    clasificados incorrectamente. Filters -> Unsupervised -> Instance ->

    RemoveMisclassified 

    CNN (Condensed Nearest Neighbour): Ib1 con invert = false ENN (Edited Nearest Neighbour): Ib3 con invert = true

    Reducción de Datos en WEKA

    Ej l 1

  • 8/9/2019 Preprocesamiento Weka MD

    36/42

    36

    Selección de características haciendo una búsqueda conun algoritmo genético del subconjunto de características

    y evaluando con Ib1 con el dataset sonar . Comparamoscon Ib1 sin selección anterior.

    Ejemplo 1

    Ej l 1

  • 8/9/2019 Preprocesamiento Weka MD

    37/42

    37

    Ejemplo 1

    Ej l 2

  • 8/9/2019 Preprocesamiento Weka MD

    38/42

    38

    Selección de instancias con CNN y ENN sobre Iris.

    Ejemplo 2

    Ej l 2

  • 8/9/2019 Preprocesamiento Weka MD

    39/42

    39

    Ejemplo 2

    CNN ENN

    Ej i i

  • 8/9/2019 Preprocesamiento Weka MD

    40/42

    40

    1.- Hay métodos que solo funcionan con datosde tipo nominal. Éste es el caso de ID3. Para

    trabajar con este algoritmo, hay quediscretizar todos los atributos reales. EnExplorer y utilizando el dataset glass, consigue

    ejecutar ID3 con una discretización previa. Losdatasets “extra” los puedes conseguir desdehttp://sci2s.ugr.es/keel/UCI.zip

    Ejercicios

  • 8/9/2019 Preprocesamiento Weka MD

    41/42

    http://sci2s ugr es

  • 8/9/2019 Preprocesamiento Weka MD

    42/42

    42Gracias !!!Gracias !!!

    http://sci2s.ugr.es