Está en la página 1de 42

MSTER OFICIAL DE LA UNIVERSIDAD DE GRANADA

"SOFT COMPUTING Y SISTEMAS INTELIGENTES"

M1. FUNDAMENTOS DE
MINERA DE DATOS

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


Dpto. Ciencias de la Computacin e I.A.
Universidad de Granada
18071 ESPAA

Contenido del Curso


Estudio prctico de
las tcnicas de
preparacin de
datos:
Limpieza
Transformacin
Reduccin de datos

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

Bibliografa
Bibliografa Minera de Datos con WEKA

Ian H. Witten & Eibe Frank


DATA MINING
Practical Machine Learning Tools and
Techniques
Second Edition
Morgan Kaufmann
2005

Preprocesamiento con WEKA

Introduccin a WEKA

Tcnicas bsicas de preprocesamiento en


WEKA

Reduccin de datos en WEKA


Discretizacin
Seleccin de Caractersticas
Seleccin de Instancias

Ejemplos Prcticos y Ejercicios


4

Introduccin a WEKA
WEKA es una recopilacin de algoritmos para
aprendizaje automtico y herramientas de
preprocesamiento de datos.
Adems proporciona soporte para todo el proceso
experimental: evaluacin, preparacin y
visualizacin de datos y resultados.
WEKA contiene mtodos de clasificacin, regresin,
clustering y reglas de asociacin

Introduccin a WEKA
Maneras de Interaccin:

Explorer: Se utiliza para


ejecutar y comparar
resultados sobre un nico
conjunto de datos.
Experimenter: Para
construir una
experimentacin completa y
almacenar resultados.
Knowledge Flow: IDEM a
experimenter pero
representa el experimento
con un grafo dirigido.
6

Introduccin a WEKA
Explorer

Cargar Datos
Soporta
ficheros en
formato ARFF,
CSV, Excel y
conexin jdbc
con BDs.

Introduccin a WEKA
Formato ARFF

@RELATION iris

@ATTRIBUTE
@ATTRIBUTE
@ATTRIBUTE
@ATTRIBUTE
@ATTRIBUTE

sepallength
sepalwidth
petallength
petalwidth
class

REAL
REAL
REAL
REAL
{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

Introduccin a WEKA
Explorer

Construir un
rbol de
decisin
Visualizar
resultados de
la ejecucin

Introduccin a WEKA
Explorer

Formas de
comprobar
resultados (test):

Solo entrenar
Usar un conjunto
de test especfico
k-cfv
Particion
determinada

10

Introduccin a WEKA
Explorer

Visualizacin
de Datos

Botn
derecho

Atributos vs.
Atributos
Detalle

11

Introduccin a WEKA
Explorer

Visualizacin
de Resultados
y modelos
Botn
derecho

12

Introduccin a WEKA
Explorando Explorer

(algoritmos ms conocidos)

BayesNet: Aprende redes Bayesianas


NaiveBayes: Clasificador discriminador bayes standard
Id3: Divide y Vencers bsico para rboles de decisin
J48: C4.5
RandomForest: Construye un Bosque Aleatorio

Clasificacin

JRip: Algoritmo RIPPER


M5Rules: Construye reglas M5 desde rboles
LinearRegression: Regresin linear standard
MultilayerPerceptron: Red neuronal de retropropagacin
RBFNetwork: Red de funcin radio base
SMO: Clasificacin basada en vectores de soporte
Ibk: k vecinos ms cercano
LWL: Aprendizaje basado en pesos locales
13

Introduccin a WEKA
Explorando Explorer

(algoritmos ms conocidos)

CobWeb: Algoritmo CobWeb

Clustering
SimpleKMeans: Algoritmo k-Medias

Apriori: Algoritmo Apriori

Asociacin
PredictiveApriori: A priori con orden segn acierto
predictivo.
14

Introduccin a WEKA
Knowledge Flow

Proporciona una alternativa a Explorer para


aquellos que piensan en trminos de como los
datos fluyen a travs del sistema.

Permite crear configuraciones imposibles por


Explorer.

15

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (1)

Objetivo: Cargar un fichero ARFF y llevar a


cabo una validacin cruzada con C4.5

Pulsar Arff Loader dentro de la pestaa Data


Sources. Pinchar en el panel de Dibujo.

16

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (2)

Con el botn derecho en el nodo Arff Loader, ir


a Configure. Por ejemplo, trabajaremos con
iris.arff.

Para indicar el atributo que ser la clase,


introducir un nodo Class Asigner (Etiqueta
Evaluation).

17

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (3)

Para conectar ambos nodos, pulsar con el


botn derecho sobre Arff Loader y seleccionar
la opcin Conections->dataset.
Configurar el Class Asigner para tomar el
atributo Nom como clase.

18

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (4)

Hacer la misma operacin para un


CrossValidation Foldmaker.

Configurarlo con 10 folds y poner una semilla


cualquiera.

19

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (5)

Introducir un nodo J48 (en pestaa classifiers).


Conectarlo con CrossValidation Foldmaker
mediante la conexin trainingSet y testSet.

20

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (6)

Introducir un nodo Classifier


PerformanceEvaluator (en pestaa evaluation).

Conectarlo con J48 mediante la conexin


batchClassifier.

21

Introduccin a WEKA
Knowledge Flow:

Ejemplo paso a paso (7)

Para finalizar, incluimos un GraphViewer y un


TextViewer conectados a J48 y Classifier
PerformanceEvaluator mediante conexiones
graph y text, respectivamente.
Para ejecutar todo el experiento, seleccionar
Start Loading en Arff Loader.
Los resultados pueden verse en cualquiera de
los dos visores finales
22

Introduccin a WEKA
Knowledge Flow:

Grafo final del ejemplo

23

Introduccin a WEKA
Knowledge Flow

Visualizacin

(componentes ms tiles)

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

Evaluacin

ClassValuePicker: Elige un valor como clase positiva


ClassifierPerformanceEvaluator: Recolecta estadsticas para
evaluacin batch.
IncrementalClassifierEvaluator: Recolecta estadsticas para
evaluacin incremental.
ClustererPerformanceEvaluator: Recolecta estadsticas para
clustering
PreddictionAppender: aade predicciones de un clasificador a un
dataset

24

Preprocesamiento en WEKA
WEKA contiene mtodos de preprocesamiento para
tratar valores perdidos, transformar datos,
discretizar y seleccionar caractersticas e instancias
Todos estos mtodos estn en el apartado Filters.
La seleccin de caractersticas la trata aparte.
WEKA no contiene mtodos de seleccin de
instancias, pero pueden simularse.

25

Preprocesamiento en WEKA
Filters

(algoritmos ms conocidos)
Add: Aade un nuevo atributo
AddCluster: aade un atributo nominal para representar
clusters
AddNoise: Cambia un porcentaje de valores de un atributo
Remove: Borra atributos
RemoveType: Borra atributos de un tipo (nominal, real,)

Utilidades

SwapValues: Intercambia dos valores en un atributo


ClassOrder: Desordena el orden de los valores de clase
Randomize: Desordena el orden de las instancias
StratifiedRemoveFolds: Devuelve 1 fold de un dataset
RemovePercentage: Borra un porcentaje del dataset
RemoveRange: Borra un rango de instancias
RemoveWithValues: Borra instancias con ciertos valores
Normalize: Escalado de atributos numricos a un intervalo
26

Preprocesamiento en WEKA
Filters

(algoritmos ms conocidos)
Normalize: Escalado de atributos numricos a un intervalo
NominalToBinary: Transforma valores nominales a binarios

Transformaciones

RandomProjection: Proyecta los datos en dimensin n a


datos en dimensin m, siendo m < n
Standarize: Estandariza valores nmero a media 0 y
desviacin tpica 1

Tratamiento
de valores
perdidos

ReplaceMissingValues: Sustituye todos los valores perdidos


para atributos nominales y numricos con las modas y
medias de los datos de entrenamiento

27

Preprocesamiento en WEKA
Ejemplo de Transformacin

Normalizado

Filters
Unsupervised
Atribute
Normalize

28

Reduccin de Datos en WEKA


Discretizacin

Discretize: Convierte atributos numricos a


nominales.

Especificar qu atributos, nmero de intervaloes,


optimizacin de los mismos. Intervalos de igual
anchura o frecuencia.

PKIDiscretize: Discretiza con intervalos de


igual frecuencia, y el nmero de intervalos es
igual a la raiz cuadrada del nmero de valores.

29

Reduccin de Datos en WEKA


Seleccin de Caractersticas

La Seleccin de Caractersticas se realiza


haciendo una bsqueda en el espacio de
subconjuntos de caractersticas y evaluando
cada uno de ellos.

Se consigue combinando uno de los 4


evaluadores de subconjuntos con alguno de los
7 mtodos de bsqueda implementados.

30

Reduccin de Datos en WEKA


Seleccin de Caractersticas
CfsSubsetEval: Considera el valor predictivo individual de
cada atributo

Evaluador de
subconjuntos

ClassifierSubsetEval: Usar un clasificador para evaluar


ConsistencySubsetEval: Mide la consistencia en trminos
de las clases
WrapperSubsetEval: Usa un clasificador + validacin
cruzada
BestFirst: Greedy Incremental con backtracking

Mtodos de
bsqueda

ExhaustiveSearch: Fuerza bruta


GeneticSearch: Algoritmo gentico de bsqueda
GreedyStepWise: Greedy incremental sin backtracking
RaceSearch: Metodologa RaceSearch
RandomSearch: Bsqueda Aleatoria
RankSearch: Ordena los atributos y crea un ranking de
subconjuntos prometedores.
31

Reduccin de Datos en WEKA


Seleccin de Caractersticas

Un mtodo ms rpido pero menos preciso


consiste en evaluar los atributos
individualmente y ordenarlos, descartando
atributos que caen debajo de un determinado
umbral.

Se consigue seleccionando uno de los ocho


evaluadores de atributos simple, usando
despus el mtodo Ranker en la bsqueda.

32

Reduccin de Datos en WEKA


Seleccin de Caractersticas
ChiSquaredAttributeEval: Calcula la estadstica chicuadrado de cada atributo con respecto a la clase
GainRatioAttributeEval: Evaluacin por tasa de ganancias
InfoGainAttributeEval: Evaluacin por ganancia de
informacin

Evaluadores
de atributos
simples

OneRAttributeEval: Metodologa OneR


PrincipalComponents: Anlisis de principales componentes
y transformacin
ReliefFAttributeEval: Evaluados basado en instancias
SVMAttributeEval: Usar mquinas de soporte vectorial para
calcular los atributos
SymmetricalUncertAttributeEval: Evala atributos
basndose en incertidumbre simtrica
33

Reduccin de Datos en WEKA


Seleccin de Instancias

Los mtodos clsicos de seleccin de instancias


no estn incluidos en WEKA.
Solamente tiene incluido el Muestreo
Aleatorio.

Se establece un porcentaje final de ejemplos


Filter -> Unsupervised -> Instance -> Resample
No mantiene la proporcin de clases

Filter -> Supervised -> Instance -> Resample


Mantiene la proporcin de clases

34

Reduccin de Datos en WEKA


Seleccin de Instancias

Se pueden simular dos mtodos clsicos de


seleccin de instancias aplicando un
clasificador 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

35

Ejemplo 1

Seleccin de caractersticas haciendo una bsqueda con


un algoritmo gentico del subconjunto de caractersticas
y evaluando con Ib1 con el dataset sonar. Comparamos
con Ib1 sin seleccin anterior.

36

Ejemplo 1

37

Ejemplo 2

Seleccin de instancias con CNN y ENN sobre Iris.

38

Ejemplo 2

CNN

ENN
39

Ejercicios

1.- Hay mtodos que solo funcionan con datos


de tipo nominal. ste es el caso de ID3. Para
trabajar con este algoritmo, hay que
discretizar todos los atributos reales. En
Explorer y utilizando el dataset glass, consigue
ejecutar ID3 con una discretizacin previa. Los
datasets extra los puedes conseguir desde
http://sci2s.ugr.es/keel/UCI.zip

40

Ejercicios

2.- Combinar diferentes estrategias de


Seleccin de Caractersticas e Instancias con
Knowledge Flow utilizando como clasificador
J48 y cualquier dataset no estndar en WEKA.

41

http://sci2s.ugr.es

Gracias !!!
42

También podría gustarte