Вы находитесь на странице: 1из 68

MsterUniversitarioenEstadsticaAplicada

Aplicacindetcnicasde
MineradeDatos
adatosobtenidosporel
CentroAndaluzdeMedio
Ambiente(CEAMA)

Realizadopor

FranciscoJosGarcaGonzlez

Tutores:

SilviaGonzlezAguilera
JuanAntonioMaldonadoJurado

Granada,2013

Contenido

1.Introduccin...........................................................................................................4
2.Softwaredisponibleparaaplicartcnicasdemineradedatos...............................5
2.1.XLMiner..................................................................................................................5
2.2.Matlab....................................................................................................................6
2.3.IBMSPSSModeler.................................................................................................7
2.4.SASEnterpriseMiner.............................................................................................9
2.5.SalfordSystemsDataMining...............................................................................10
2.6.OracleDataMining..............................................................................................11
2.7.RapidMiner.........................................................................................................13
2.8.KNIME..................................................................................................................14
2.9.R...........................................................................................................................15
2.10.Orange...............................................................................................................16
2.11.WEKA.................................................................................................................18
3.IntroduccinaWEKA............................................................................................19
3.1.Introduccin........................................................................................................19
3.2.Losdatos..............................................................................................................20
3.3.SimpleCLI............................................................................................................21
3.4.Explorer................................................................................................................22
3.4.1.PestaaPreprocces......................................................................................23
3.4.2.PestaaClassify............................................................................................24
3.4.3.PestaaCluster.............................................................................................26
3.4.4.PestaaAssociate.........................................................................................26
3.4.5.PestaaSelectattributes..............................................................................27
3.4.6.PestaaVisualize..........................................................................................28
3.5.Experimenter.......................................................................................................29
3.5.1.PestaaSetup...............................................................................................29
3.5.2.PestaaRun..................................................................................................32
3.5.3.PestaaAnalyse............................................................................................32
3.6.KnowledgeFlow...................................................................................................33
4. Tcnicas de Clasificacin aplicadas a datos obtenidos por el Centro Andaluz de
MedioAmbiente......................................................................................................36
4.1.ElCentroAndaluzdeMedioAmbiente...............................................................36
4.2.Clasificadores.......................................................................................................37
4.2.1.Evaluacindelrendimientodeunclasificador............................................37
2

4.3.ClasificacinconWEKA........................................................................................38
4.4.Datosutilizados...................................................................................................40
4.5.Anlisisdelosdatos.............................................................................................42
Paso1:Cargadelficherodedatossimultaneos_2011.arff....................................42
Paso2:Discretizacindelosatributosdelfichero.................................................43
Paso3:Aplicacindemtodosdeclasificacin.....................................................45
4.6.Conclusiones........................................................................................................66
Bibliografa...............................................................................................................68

1.Introduccin
Hoy da nuestra sociedad genera grandes cantidades de informacin que unido al
aumento de las capacidades de almacenamiento, han hecho que todo tipo de
organizacionespuedandisponerdeunagrancantidadyvariedaddedatosrelativosa
suactividaddiaria.Estainformacinofrecealaempresaunavisinperspectiva(quse
est haciendo y cmo se est haciendo) y prospectiva (cmo puede evolucionar la
organizacin en un futuro a cortomedio plazo) y es por ello por lo que tiene una
funcinvitalenelprocesodetomadedecisiones.
Sinembargomuchadelainformacinrecogidaenlasbasesdedatosnoseencuentra
bienestructuradaresultandodifcildeexplotardesdeelpuntodevistaestadsticopor
loqueparasuutilizacinesnecesariounprocesodetratamientoyanlisisexhaustivo
delosdatosallrecogidosquellamaremosmineradedatos.
La minera de datos se engloba dentro de un proceso ms amplio conocido como
extraccindeconocimientoenbasesdedatos,sibienalgunasvecesydebidoaquela
fronteraentreambosconceptosnoesclara,suelenutilizarsecomosinnimos.

Imagen1:Fasesdelprocesodeextraccindeconocimientoenbasesdedatos

Enunprocesodemineradedatosserealizandiferentestareas:

Descriptivas:Paraidentificarpatronesqueexplicanoresumenlosdatos.

Predictivas: Permiten estimar valores futuros o desconocidos de variables de


inters,apartirdeotrasvariablesdelaBasedeDatos.

Paraconseguiresosobjetivos,elinvestigadorpuedeutilizardiferentestcnicascomo:

Sistemasdeagrupamiento:Consisteenobtenergruposnaturalesapartirdelos
datos.Tambinseconocecomosegmentacinoclustering.

Reglas de asociacin: Su objetivo es identificar relaciones no explcitas entre


variablescategricas.

Reglas de asociacin secuenciales:Caso particular de las reglas de asociacin,


enelquesebuscanrelacionestemporalesenlosdatos.

Correlaciones: Proporcionan informacin sobre el grado de similitud entre


variablescuantitativas.

Clasificacin: Cada objeto pertenece a una clase, indicada por el valor de un


atributo. El objetivo es predecir la clase a que pertenecen nuevos objetos a
partirdelasrestantesvariables.

Regresin:Suobjetivoespredecirelvalorquetomaunavariablecuantitativa
en nuevos objetos a partir de la informacin proporcionada por las restantes
variables.
4

2.Softwaredisponibleparaaplicar
tcnicasdemineradedatos
Actualmente existen varios paquetes y complementos, cada uno con sus propias
caractersticas, que permiten aplicar diferentes tcnicas de minera de datos al
conjunto de datos con el que trabajemos. Presentamos en este captulo algunos de
ellos.

2.1.XLMiner
XLMiner es un complemento para Excel, con
funcionamiento mediante macros, que permite muchos
tipos de anlisis tanto para datos de tipo corte
transversal,comosecuenciastemporales.

EntrelasprincipalescaractersticasdeXLMinerseencuentran:

Manejodebasesdedatos,conimputacindedatosfaltantes.
Realizacindepredicciones.
ModelosARIMA,Holtwinters,Polinomiales.
Arbolesdedecisin,anlisisclster.
Facilidadparalaentregadeinformes.
Redesneuronales.

Afavordeesteprogramasepuededecirque:

Posee un buen manual que se encuentra dentro de la seccin ayuda, que


describelosdistintosmtodosyparmetros.
Presenta opciones de configuracin y trabajo (interface) amigables para cada
mtodo.
Losformatosdepresentacinderesultadoscomogrficostablaseindicadores
decambiossonmuyordenadosytienenbuenformato.
Existenmuchosvideostutorialesparalosdistintosmtodosqueindicanpasoa
pasoqusenecesitahacer.

Encontradeesteprogramatenemosque:

XLMineresaccesiblecomoherramientadepruebaporunperiodolimitadode
30das.
Sedebepagarporteneraccesoalaversinquenolimitaeltamaodelabase
dedatos.
No posee indicadores de errores claros. Como XLMiner trabaja en base a
macros de Excel, al parametrizar alguna operacin con datos inadecuados, la
operacinseinterrumpe,siendoimposiblederecuperarloltimorealizado.

Finalmente el programa puede descargarse desde la web del creador


http://www.solver.com/xlminer/, tras rellenar el formulario para la versin prueba
queseencuentraalfinaldelapgina.

2.2.Matlab

MATLAB (abreviatura de MATrix LABoratory) es un entorno de


computacin y desarrollo de aplicaciones totalmente integrado
orientado para llevar a cabo proyectos en donde se encuentren
implicados elevados clculos matemticos y la visualizacin
grficadelosmismos.
Este programa dispone tambin de un amplio abanico de programas de apoyo
especializado, denominados Toolboxes, que extienden significativamente el nmero
de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la
actualidadprcticamentecasitodaslasreasprincipalesenelmundodelaingenieray
lasimulacin.
MATLABtambinseproveedeunlenguajedeprogramacinpropio,similaraldeotros
lenguajes como Fortran o C. A travs de este lenguaje, el usuario puede realizar
cualquiertipoderegresindisponibleobiencrearunprocesodevalidacincruzadaa
medida.

EnrelacinaestetrabajodestacaremoslassiguientesToolboxes:

Statistics Toolbox: Combina algoritmos estadsticos con interfaces grficas


interactivas.

Nnet: Herramientas para el procesado de redes neuronales. Se subdivide


principalmenteen:

nnet\nnetNeuralNetworkToolbox:
La Neural Network Toolbox es un paquete de Matlab que contiene una
serie de funciones para crear y trabajar con redes neurolales artificiales.
As pues, proporciona las herramientas para el diseo, la puesta en
prctica,lavisualizacin,ylasimulacinderedesneuronales.
Las redes neuronales son herramientas de gran alcance en situaciones
donde sera difcil o imposible el anlisis formal, por ejemplo el
reconocimiento de patrones y la identificaciny el control no linealesdel
sistema. La Neuronal Network Toolbox tambin proporciona una interfaz
grfica que permite disear y manejar las redes que el usuario desee. El
diseo modular, abierto, y extensible de la Neuronal Network Toolbox
simplifica la creacin de funciones y de redes. En resumen, como
principalescaractersticaspresenta:
6

Interfaz grfica (GUI) para crear, entrenar, y simular a sus redes


neuronales,ascomoayudaalusuariodelasarquitecturasderedes
supervisadasynosupervisadasmscomunes.
Un sistema sencillo para realizar el entrenamiento y creacin de
funcionesdeaprendizaje.
Representacin modular de la red, permitiendo un nmero
ilimitadodelaentradaquefijacapas,einterconexionesdelared,
ascomofuncionesparamejorarelentrenamiento,funcionamiento
yvisualizacindelamisma.
nnet\nncontrolNeuralNetworkToolboxControlSystemFunctions:
Proveeunconjuntodefuncionesparamedirycontrolarelsistemaderedes
neuronalesconstruido.
nnet\nndemosNeuralNetworkDemonstrations:
Conjuntodemuestrasderedesneuronales.

Finalmente,setratadeunprogramacomercialporloqueparasuusosehadepagar
una licencia. Para obtener ms informacin sobre MATLAB se puede acceder a la
pginaoficialdeestaherramienta:http://www.mathworks.es/products/matlab/

2.3.IBMSPSSModeler

Se trata de un producto de la empresa IBM SPSS que permite,


mediante una interfaz grfica, aplicar tcnicas de minera de
datos para descubrir patrones y tendencias en datos
estructuradosonoestructurados.
IBM SPSS es una empresa reconocida como lder en anlisis predictivo. Sus
aplicaciones tienen una buena visibilidad y fuerza de ventas en el mercado y es
consideradaporalgunosexpertoscomounodelosmejoresproveedoresdesoftware
demineradedatos.

ConIBMSPSSModelersepuedevisualizargrficamenteelprocesollevadoacabo,as
como crear nuevas funciones que se aaden a las ya implementadas. Adems se
proveedeunaseriedemdulosquepermitenrealizarunanlisisdemineradedatos
congrandesvolmenesdedatos.

Imagen2:DiagramadeflujodelprocesoconSPSSModeler

Enloreferidoatcnicasdemineradedatos,estaherramientaproporcionadiferentes
mtodossegnelprocesoquevayamosarealizar;algunasdeellasson:

Segmentacin:Kmedias,Kohonen,Bietpico,Anomala.

Asociacin:Apriori,GRI,CARMAyAnlisisdeSecuencia.

Clasificacin: Factorial, Discriminante, Red Neuronal, C5.0, GLM, Mquinas de


Vectores de Soporte, Redes Bayesianas, Modelos de auto aprendizaje, Vecino
msprximo,rboles,ListasdeDecisin,Seleccindecaractersticas,etc.

Prediccin: Regresin Lineal, Series Temporales, Regresin de Cox, Regresin


Logstica.

Automticos:Autonumrico,Autoclasificador,AutoAgrupacin,Modelizador
ARIMAautomtico.

Finalmente y al igual que en los programas anteriores se trata de un programa


comercialysehadepagarunalicenciaparasuuso.
ParaobtenermasinformacinsobreIBMSPSSModelersepuedeconsultarlawebdel
fabricante:http://www-01.ibm.com/software/analytics/spss/products/modeler/

2.4.SASEnterpriseMiner
SAS Enterprise Miner agiliza el proceso de
minera de datos para crear modelos
predictivos y descriptivos de alta precisin
paragrandesvolmenesdedatos.Ofreceunasencillainterfazgrficaqueintegrael
conjuntodeherramientasnecesarioparalatomadedecisiones.

La solucin Enterprise Miner se basa en la metodologa SEMMA (Sample, Explore,


Modify,Model,Assess)desarrolladaporSASInstituteypuededefinirsedelasiguiente
forma:

Muestra(Sample):Consisteenidentificarlosdatos.

Explora(Explore):Sufuncinsetraduceenexplorarlosconjuntosdedatospara
observarhuellasinesperadas,relaciones,patrones,uobservacionesinusuales,
connodospararepresentarlosdatos,generarunaampliavariedaddeanlisis,
identificarlasvariablesimportantes,orealizaranlisisdeasociacin.

Modificar (Modify): Consiste en preparar los datos para el anlisis. Los nodos
pueden crear variablesadicionaleso transformar las variables existentes para
elanlisismediantelamodificacinolatransformacindelaformaenlaque
las variables se utilizan en el anlisis, filtrar los datos, sustituir los valores
perdidos,condensarycontraerlosdatosenpreparacinparaelmodeladode
series,orealizaranlisisdeconglomerados.

Modelo(Model):Dondeseadaptaelmodeloestadstico.Losnodospredicenla
variable objetivo en funcin de las variables de entrada mediante el uso de
cualquier mtodo: mnimos cuadrados o regresin logstica, rboles de
decisin,redesneuronales,redesdmneural,definidoporelusuario,conjunto,
vecinomscercano,oelmodeladodedosetapas.

Evaluar (Asses): Donde es posible comparar la exactitud entre los modelos


estadsticos,connodosparacomparareldesempeodelosdiversosmodelos
de clasificacin mediante la visualizacin de las estimaciones de probabilidad
encompetenciadelosgrficosdeelevacin,grficosROCytablasdeumbral.
Para diseos de modelado predictivo, el rendimiento de cada modelo y los
supuestos del modelo pueden ser verificados a partir de las parcelas de
prediccinygrficosdediagnstico.

Entrelasprincipalescaractersticasdeestaherramientadestacan:

Elaccesoalosdatos,lagestinylalimpiezaseintegranalaperfeccin,porlo
queesmsfcildeprepararlosdatosparaelanlisis.

Alta integracin con otras bases de datos debido a la gran experiencia de la


empresaparaoperarcongrandesvolmenesdedatos.

Proporciona slidas herramientas de modificacin y seleccin de los datos lo


que redundar en una mejora de su calidad, en un mejor modelado y en
resultadosmsfiables.

Unentornodinmicoeinteractivoqueestoptimizadoparavisualizarlosdatos
ycomprendersusrelaciones.
9

Ofrece uno de los conjuntos ms completos de algoritmos avanzados de


modelado predictivo y descriptivo, incluyendo rboles de decisin, splines de
regresin,redesneuronales,regresinlinealylogstica,regresinpormnimos
cuadrados parciales, y muchos ms. Tambin se incluyen modelos especficos
delaindustriatalescomolapuntuacindecrditoyratemakingparaelseguro.

Enresumen,setratadeunadelasherramientasconmspotenciadelmercadodesde
elpuntodevistadetrabajarcongrandesbasesdedatos;sinembargo,contrastaconel
altoprecioquesehadepagarporsulicencia.

Imagen3:ResultadodeaplicarunanlisisClusterconSASEnterpriseMiner

Para obtener ms informacin de esta herramienta se puede acceder a travs del


siguienteenlace:http://www.sas.com/technologies/analytics/datamining/miner/

2.5.SalfordSystemsDataMining
Salford Systems es una empresa especializada, entre
otrastareas,enlaelaboracindesoftwaredeminera
de datos y consultora. A este respecto ofrece los
siguientesproductos:

Software CART: ofrece una clasificacin multiplataforma robusta, con una


amplia variedad de anlisis de alta precisin de minera de datos. Es la nica
herramientabasadaenrbolesdedecisinsegnlametodologadesarrollada
porlaUniversidaddeStanfordylaUniversidaddeBerkeleyenCalifornia.

10

Imagen4:VentanaderesultadosenCART

TreeNet:Basadaenrbolesdedecisionesimpulsadas.TreeNetesunsistemade
aproximacin de funciones y que tambin sirve como herramienta de
exploracininicialdelosdatos.
RandomForests: Ofrece modelos predictivos de alto rendimiento e incorpora
nuevosanlisisdeclsterdemtricalibre.
SPM Salford Predictive Modeler: Cuenta con caractersticas adicionales
orientadasamejorarlosmodelospredictivos.

Parautilizarcadaunodeestosprogramassehadepagarsucorrespondientelicencia.

Finalmente para obtener informacin sobre cada uno de ellos se puede consultar la
webdeSalfordSystemsatravsdelenlace:http://www.salfordsystems.com/

2.6.OracleDataMining

Oracle Data Mining (ODM) es una herramienta de software


desarrollada por la empresa Oracle para aplicar tcnicas de
mineradedatosagrandesvolmenesdedatos.

Atravsdeestaherramientaserealizarelprocesodeimportacindelosdatos,su
preparacin,ascomoeldesarrolloydesplieguedelmodelo.
La herramienta ODM est basada en un esquema de flujo de trabajo, similar a otras
herramientas de minera de datos, siendo una extensin del SQLDeveloper,
permitiendoanalizarlosdatos,explorarlosdatos,construiryevaluarmodelosyaplicar
estosmodelosanuevosdatos,ascomocompartirestosmodelosenaplicacionesen
lnea entregando resultados en tiempo real. La herramienta integra todas las etapas

11

delprocesodelamineradedatosypermiteintegrarlosmodelosenotrasaplicaciones
conobjetivossimilares.
ODM funciona dentro de la base de datos de Oracle, as que no hay necesidad de
exportarlosarchivosaunpaquetedesoftwareestadsticofueradelabasededatos,lo
que reduce los costos y mejora la eficiencia. Con un lenguaje de procedimiento
integrado/ lenguaje de consulta estructurado (PL / SQL) e interfaces de Java de
programacin de aplicaciones (API), Oracle DM permite a los usuarios construir
modelos.
ODMofrecedosversiones,unaenlaqueatravsdeunainterfazgrficalosusuarios
podrn aplicar las tcnicas de mineras de datos que consideren necesarias y una
versin en la que los desarrolladores podrn utilizar la API de SQP para crear
aplicacionesamedida.

Imagen5:VentanaprincipaldeOracleDataMiner

SetratadelaherramientamspotenteparatrabajarconbasesdedatosdeOracle,si
bienhabrquepagarunalicenciaporsuuso.
Para obtener ms informacin sobre la herramienta se puede consultar su seccin
dentro de la web de Oracle a travs del siguiente enlace:
http://www.oracle.com/products/database/options/advancedanalytics/index.html

12

2.7.RapidMiner

Esta herramienta forma parte del proyecto Rapidi. Este


proyecto naci en 2006 como SpinOff de la Universidad de
Dortmund, donde se inaugur la primera versin del software
en2001.
Rapidicuentacondoscomponentes:

RapidMiner: Versin standalone para analistas. Implementa todos los


operadores de data mining, modelos predictivos, modelos descriptivos,
transformacindedatos,seriesdetiempo,etc.

RapidAnalytics:VersinServidordeRapidMiner.Permitetrabajocolaborativo,
escalable y concurrente de mltiples usuarios, capacidad de delegar en bases
de datos (InDatabase Mining) y otras mejoras de funcionalidad como:
plataforma Web de publicacin de informes, implementacin de sistemas de
scoring,diseoynavegacinWebdeinformes,Singlesignoneintegracinva
ServiciosWeb,entreotras.

RapidMiner permite el desarrollo de procesos de anlisis de datos mediante el


encadenamientodeoperadoresatravsdeunentornogrfico.
EntrelascaractersticasprincipalesdeRapidMinerdestacamosque:

EstdesarrolladoenJava.
Esmultiplataforma.
RepresentacininternadelosprocesosdeanlisisdedatosenficherosXML.
Permite a los experimentos componerse de un gran nmero de operadores
anidablesarbitrariamente,quesedetallanenarchivosXML.
Permiteeldesarrollodeprogramasatravsdeunlenguajedescript.
Puedeusarsedediversasmaneras:
AtravsdeunGUI.
Enlneadecomandos.
Enbatch(lotes)
Desdeotrosprogramas,atravsdellamadasasusbibliotecas.

Extensible.
Incluyegrficosyherramientasdevisualizacindedatos.
DisponedeunmdulodeintegracinconR.
Softwaredecdigoabierto.

Adems, esta aplicacin ofrece ms de 500 operadores para todos los principales
procedimientos de mquina de aprendizaje, y tambin combina esquemas de
aprendizajeyevaluadoresdeatributosdelentornodeaprendizajeWeka.

13

Imagen6:rbolesdedecisinconRapidminer

Finalmente,altratarsedeunsoftwarelibreydecdigoabiertopuedeserdescargado
atravsdelsiguienteenlace:http://rapidi.com/content/view/181/190/

2.8.KNIME

KNIME(KonstanzInformationMiner)esunaplataformade
cdigoabiertodefcilusoycomprensibleparaintegracin
dedatos,procesamiento,anlisisyexploracin.

Esta herramienta fue desarrollada originalmente en el departamento de


BioinformticayMineradeDatosdelaUniversidaddeConstanza,Alemania,bajola
supervisin del profesor Michael Berthold. En la actualidad, la empresa KNIME.com,
radicada en Zrich, Suiza, contina su desarrollo, adems de prestar servicios de
formacinyconsultora.
KNIMEofrecealosusuarioslacapacidaddecreardeformavisualflujosotuberasde
datos,ejecutarselectivamentealgunosotodoslospasosdeanlisis,yluegoestudiar
losresultados,modelosyvistasinteractivas.
Est desarrollado sobre la plataforma Eclipse y programado, esencialmente, en Java.
Comootrosentornosdeestetipo,suusosebasaeneldiseodeunflujodeejecucin
queplasmelasdistintasetapasdeunproyectodemineradedatos.
Paraello,KNIMEproporcionadistintosnodosagrupadosenfichas,comoporejemplo:
a) Entradadedatos[IO>Read]
b) Salidadedatos[IO>Write]

14

c) Preprocesamiento [Data Manipulation], para filtrar, discretizar, normalizar,


filtrar,seleccionarvariables,etc.
d) Minera de datos [Mining], para construir modelos (reglas de asociacin,
clustering,clasificacin,MDS,PCA)
e) Salida deresultados [Data Views] para mostrar resultados en pantalla (ya sea
deformatextualogrfica)

Por otro lado, a travs de plugins, los usuarios pueden aadir mdulos de texto,
imgenes,procesamientodeseriesdetiempoylaintegracindevariosproyectosde
cdigoabierto,talescomoellenguajedeprogramacinR,WEKA,elkitdedesarrollo
deQumicayLIBSVM.

Imagen7:rbolesdedecisinconKNIME

Finalmente se trata de una herramienta multiplataforma que puede ser descargada


juntoconsudocumentacinatravsdelenlacehttp://www.knime.org/.

2.9.R
Resunentornoestadsticotremendamentepotenteycompleto.Las
llamadasaRserealizanenlneadecomando,sibienexistenalgunas
interfaces grficas (Rcommander, etc) que facilitan el uso de este
programa. Fue desarrollado inicialmente por el Departamento de
EstadsticadelaUniversidaddeAuckland,NuevaZelanda,en1993.
R es un lenguaje de programacin y entorno de software de cdigo abierto para
computacin y grficos estadsticos. Proporciona mltiples tcnicas para simulacin,
modeladolinealynolineal,anlisisdeseriestemporales,pruebasestadsticasclsicas,
clasificacin,agrupacinenclsteres,etc.
ElentornodeRsecaracterizaporsuflexibilidadeincluye,entreotros:

Unbuengestordedatos.
Unconjuntodeoperadoresparaclculosenarrays(vectoresdegrantamao)
Unconjuntointegradodeherramientasdeanlisisdedatos.
15

Funcionesgrficasparaanlisisyvisualizacindelosdatos.
Un lenguaje de programacin simple que incluye condicionales, bucles,
funcionesrecursivasdefinidasporelusuarioycapacidadesdeentradaysalida.

En relacin al proceso de minera de datos, R posee gran cantidad de paquetes


estadsticostilespararealizaresteproceso;enespecial,destacaremos:

Rattle: que ofrece al usuario una interfaz grfica para aplicar tcnicas de
mineradedatosagrandesbasesdedatos.

Imagen8:InterfazdeRattle

Caret: que, ms all de integrar diversos algoritmos, incluye funciones


auxiliares tiles para seleccionar modelos, comparar la importancia de
funciones,realizarvalidacionescruzadas,etc.,utilizandounasintaxiscoherente
yhomognea.

RDataMining. El objetivo de sus promotores es incluir en l algoritmos


publicadosquenotengantodavaimplementacinenR.

Se trata de un software libre, distribuido bajo licencia GPL, muy extendido en la


comunidaduniversitariayqueestllamadoacobrarunpapelcadavezmsrelevante
enelmundodelasaplicacionesprofesionalesydelaempresa.
Tanto el programa como los paquetes estadsticos y su documentacin asociada
puedendescargarseatravsdelawebdelproyectoR:http://www.rproject.org/.

2.10.Orange

Se trata de una suite para minera de datos y aprendizaje


automtico, desarrollado en la Facultad de Informtica de la
UniversidaddeLjubljana(Eslovenia)

16

Esta herramienta cuenta con un fcil y potente, rpido y verstil frontend de


programacin visual para el anlisis exploratorio de datos y visualizacin, y librerias
paraPythonysecuenciasdecomando.
Contiene un completo juego de componentes desarrollados en C++. para
preprocesamiento de datos, caractersticas de puntuacin y filtrado, modelado,
evaluacin del modelo y tcnicas de exploracin. A estos componentes se puede
accederdedosformas:

PormediodescriptsdesdePython.

Pormediodewidgets(componentesGUI),desdeCANVAS.

SetratadeunaaplicacinmultiplataformaysedistribuyebajolicenciaGPL.

Adems,orangeproporcionacomponentespara:

Entrada/salida de datos, soportando los formatos C4.5, assistant, retis y tab


(nativo)

Preprocesamientodedatos:seleccin,discretizacin,etc.

Modelado predictivo: rboles de clasificacin, regresin logstica, clasificador


deBayes,reglasdeasociacin,etc.

Mtodos de descripcin de los datos: mapas autoorganizados, kmeans


clustering,etc.

Tcnicasdevalidacindelmodelo,comolavalidacincruzada.

Imagen9:FlujodetrabajoyClusteringconOrange

17

Finalmente, si se desea descargar y conocer ms en profundidad la herramienta es


recomendablevisitarlapginawebdesuscreadores:http://orange.biolab.si/.

2.11.WEKA

WEKA, acrnimo de Waikato Environment for Knowledge


Analysis, es un conjunto de libreras JAVA para la
extraccin de conocimiento desde bases de datos. Est
constituido por una serie de paquetes de cdigo abierto
con diferentes tcnicas de preprocesado, clasificacin,
agrupamiento,asociacinyvisualizacin.
Se trata de un software desarrollado en la Universidad de Waikato (Nueva Zelanda)
bajolicenciaGNUGPLlocualhaimpulsadoqueseaunadelassuitesmsutilizadasen
elreaenlosltimosaos.Setratadeunaherramientadegranpotencia,sibienno
tieneimplementados,afechadehoy,algoritmosparalarealizacindeunmodelado
desecuencias.

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

Dado que este es el programa que utilizaremos en nuestro trabajo, pasamos a


estudiarloenprofundidadenelsiguienteapartado.

18

3.IntroduccinaWEKA

3.1.Introduccin
WEKA,acrnimodeWaikatoEnvironmentforKnowledgeAnalysis,esunentornopara
experimentacin de anlisis de datos que permite aplicar, analizar y evaluar las
tcnicas ms relevantes de anlisis de datos, principalmente las provenientes del
aprendizajeautomtico,sobrecualquierconjuntodedatosdelusuario.
Este programa se distribuye como software de libre distribucin (licencia GNUGPL)
desarrollado en Java y dispone de tres entornos de trabajo grficos y un entorno en
modo consola, permitiendo la implementacin de algoritmos para preprocesamiento
de datos, clasificacin, regresin, clustering, seleccin de atributos, reglas de
asociacin,etc.
EldesarrollodeWEKAseinicien1993enlaUniversidaddeWaikato(NuevaZelanda)
siendo la primera versin pblica Weka 2.1 la del ao 1996. Actualmente, la ltima
versindeWEKAesla3.6estandodisponibleparalosprincipalessistemasoperativos
tantolibrescomocomerciales.
WEKAsepuededescargarenlawebdelaUniversidaddeWaikatoatravsdelenlace
http://www.cs.waikato.ac.nz/ml/weka/. Se puede consultar desde el manual de
referencia para la aplicacin y otras publicaciones relacionadas, como descargar
ejemplospararealizarensayosconestaherramienta:

Imagen10:WebdeWEKA

19

El potencial usuario podr descargar e instalar WEKA siguiendo las directrices del
manualdereferencia.Unavezlainstalacinsehayarealizadodeformacorrectapodr
accederalaherramientacuyainterfazdeiniciosemuestraacontinuacin:

Imagen11:InterfazprincipaldeWEKA

A travs de la intefaz se puede acceder a las distintas aplicaciones que componen


WEKA; esto es, Simple Cli, Explorer, Experimenter y Knowledge Flow. Todas estas
herramientasseexplicarnenlossiguientespuntosdeestecaptulo.

3.2.Losdatos
WEKA utiliza un formato de datos denominado arff (Attribute Relation File Format).
Cadaunodeestosficherosconstade3partes:

Cabecera.Definidapor:@relation<nombreconjuntodedatos>
Declaracindeatributosovariables.Atravsde:
@attribute<nombrevariable><tipo>
siendoelvalordetipo:string,numeric,integer,dateonominal.
Seccindedatos.Definidosdelasiguienteforma:

@data
dondesetendrunalneaparacadaregistro,losvaloresestarnseparadospor
comasylosvaloresperdidosserepresentanmedianteelcarcter?.

Ademsesposibleescribircomentariosenesefichero,precedidosdelcaracter%.

20

Imagen12:Ejemplodeficherodedatosarff

3.3.SimpleCLI
Se trata de una de las aplicaciones a la que se puede acceder a travs de la interfaz
principaldeWEKA.

Imagen13:InterfazdeSimpleCLI

Simple CLI es la abreviatura de Simple CommandLine Interface (Interfaz Simple de


Lnea de Comandos) y se define como una ventana de comandos java. Nace con la
primeraversindeWEKAyatravsdeellaseejecutanlasclasesallimplementadas.
Hoy da y debido a la aparicin de las otras aplicaciones que componen WEKA es
menosutilizada,yaqueestasnuevasherramientasconstandeinterfacesgrficasque
facilitansuusoporpartedelusuario.
Enlainterfazsepuedenejecutarlossiguientescomandos:

java<nombredelaclase><args>:Permiteejecutarunadeterminadaclasede
WEKA.
break:Detienelatareaactual.
21

kill:Finalizalatareaactual.
cls:Limpiaelcontenidodelaconsola.
history:Muestraelhistorialdeordenesejecutadas.
exit:Saledelaaplicacin.

help<comando>:Proporcionaunabrevedescripcindecadamandato.

3.4.Explorer
Setratadeotradelasaplicacionesalaqueseaccedeatravsdelainterfazprincipal
deWEKA.Estaherramientapermite,entreotrastareas,llevaracabolaejecucinde
los algoritmos de anlisis implementados sobre los ficheros de entrada. A estas
funcionalidadessepuedeaccederatravsdelassiguientespestaas:
Preprocess: permite la visualizacin y preprocesado de los datos (aplicacin de
filtros)
Classify:tilparalaaplicacindealgoritmosdeclasificacinyregresin.
Cluster:conjuntodetcnicasdeagrupacin.
Associate:mtodosdeasociacin.
SelectAttributes:seleccindeatributos.
Visualize:visualizacindelosdatosporparejasdeatributos.

Al entrar en la aplicacin, la interfaz aparecer vaca, mientras que la pestaa


Preprocessestseleccionada.

Imagen14:InterfazdeExplorerconlapestaaPreprocessactivada

22

3.4.1.PestaaPreprocces
Estaeslaprimerapestaadelaaplicacinyesimprescindiblepararealizarcualquier
tipo de anlisis pues es en ella donde introduciremos los datos con los que vamos a
trabajar,bienatravsdeunfichero(Openfile),bienatravsdeunaurl(OpenURL),
basesdedatos(OpenDatabase)obienintroduciendolainformacindirectamenteen
laaplicacin(Generate)
SienlawebdeWEKAhemosdescargadopreviamenteelficheroweather.arff,ahora
podremoscargarlopulsandoelbotnOpenfile,siendoelresultadodeelloelquese
muestraenlasiguienteimagen.

Imagen15:PestaaPreprocessconelficheroweather.arffcargado

Una vez cargado el fichero se visualizan los atributos o variables del fichero y para
aquellos que seleccionemos (Attributes) podremos ver un resumen estadstico
(Selectedattribute)
Porotroladolasherramientasdepreprocesamientosedenominanfiltro(Filter)ycada
filtroactaenunodelossiguientesniveles:

Atributos: Actan en vertical en la base de datos, modificando un atributo


completo.Ejemplo:Filtrodediscretizacin.
Instancias: Actan en horizontal, seleccionando un grupo de registros
(instancias).Ejemplo:Filtrodeseleccinaleatoria.
23

ParavisualizarlosfiltrosbastarapulsarelbotnChoosedentrodelaseccinFilter.Es
ahdondeseleccionaremosquefiltroutilizarenfuncindenuestroobjetivo.Losfiltros
sedividenen:

No supervisados: en su funcionamiento no interviene ningn algoritmo


externo.
Supervisados:actanenconjuncinconclasificadoresparaanalizarsuefectoy
guiarsuactuacin.

Por ejemplo, el filtro no supervisado Discretice divide el recorrido del atributo


numricoenintervalos,quepuedenserdelamismaamplitudoconelmismonmero
deobservaciones(aproximadamente).Ademssecreaunatributonominalenelque
cadacategoracorrespondeaunintervalo.

Imagen16:SeleccindeltipodefiltroenlapestaaPreprocess

3.4.2.PestaaClassify
Enestapestaasepodrdefiniryresolverunproblemadeclasificacin.Puedeocurrir
que,enocasiones,elproblemadeclasificacinseformulecomounrefinamientoenel
anlisis, una vez que se han aplicado algoritmos no supervisados de agrupamiento y
asociacinparadescribirrelacionesdeintersenlosdatos.
Adems se busca construir un modelo que permita predecir la categora de las
instancias en funcin de una serie de atributos de entrada. En el caso de WEKA, la
claseessimplementeunodelosatributossimblicosdisponibles,queseconvierteen

24

lavariableobjetivoapredecir.Pordefecto,eselltimoatributo(ltimacolumna)ano
serqueseindiqueotroexplcitamente.

Imagen17:PestaaClassify

Al pulsar sobre la pestaa aparece por defecto el clasificador ZeroR, si bien podr
seleccionarseotropulsandoelbotnChoose.
En la parte inferior (Test options) se podrn incluir y modificar los parmetros
asociadosalclasificadoratravsdelasopciones:

Use training set: En esta opcin se entrenar el mtodo con todos los datos
disponiblesyluegoseaplicarsobrelosmismos.

Supplied test set: Marcando esta opcin tendremos la oportunidad de


seleccionarunficherodedatosconelqueseprobarelclasificadorobtenido
conelmtododeclasificacinusadoylosdatosiniciales.

Crossvalidation: La herramienta realizar una validacin cruzada estratificada


delnmerodeparticionesdado(Folds).

Percentagesplit:Sedefineunporcentajedelosdatosconelqueseconstruir
elclasificadoryconlaparterestanteserealizarnlaspruebas.

Para introducir ms opciones (Output Model, Output perclass stats, Output entropy
evaluation mesures, Output confusion matrix ) pulsaramos el botn More options.
FinalmenteypulsandoelbotnStartsepodrnvisualizarlosresultadosenlaseccin
ClassifieroutputenfuncindelquehayamosseleccionadoenlaseccinResultlist.

25

3.4.3.PestaaCluster
WEKAofrecedistintasposibilidadesdeaplicaralgoritmosdeclustering(oclasificacin
nosupervisada)sobrelosdatos.Lastcnicasdeclusteringseutilizanenbasesdedatos
nosupervisadasenlasquelavariableclasenoexiste(onosehadefinido).Aspuesel
objetivo fundamental de esta tcnica es descubrir (class discovery) dichas clases o
estructuras diferenciadas en los datos de estudio. El programa WEKA ofrece en la
pestaaClustervariosalgoritmosdecluster,entreelloseldeKmediasyelEM.

Imagen18:PestaaCluster

LadistribucindelasseccionesyopcionesdelaseccinClusteresmuysimilaraldela
pestaaClassify.Porlotanto,unavezelegidoelmtododeclustering,seseleccionan
las opciones pertinentes, con el botn Start se ejecuta el proceso y en las secciones
ResultlistyClustererouputsevisualizarnlosresultados.

3.4.4.PestaaAssociate
En esta pestaa el usuario podr realizar diferentes algoritmos de asociacin. Estos
algoritmos permiten la bsqueda automtica de reglas que relacionan conjuntos de
atributos entre s. Son algoritmos no supervisados, en el sentido de que no existen
relaciones conocidas a priori con las que contrastar la validez de los resultados, sino
queseevalasiesasreglassonestadsticamentesignificativas.

26

Imagen19:PestaaAssociate

Pulsando el botn Choose elegiremos el algoritmos de asociacin que deseemos y


pulsando Start obtendremos los resultados que se podrn visualizar a travs de las
seccionesResultlistyAssociatoroutput.

3.4.5.PestaaSelectattributes
Enestapestaatrataremosdedeterminarquatributosformarnpartedelmodelo;
es decir, eliminaremos aquellos atributos que resulten redundantes e irrelevantes.
Adems,sihayunnmeroexcesivodeatributospuedeconllevaraobtenerunmodelo
demasiadocomplejoyseproduzcasobreajuste.
EnWEKA,laseleccindeatributossepuedehacerdevariasmaneras,siendolams
directalaqueserealizaatravsdeestapestaa.Enellatenemosqueseleccionar:

Elmtododeevaluacin(AttributeEvaluator):eslafuncinquedeterminala
calidaddelconjuntodeatributosparadiscriminarlaclase.Sepuedendistinguir
entre los mtodos que directamente utilizan un clasificador especfico para
medir la calidad del subconjunto de atributos a travs de la tasa de error del
clasificadorylosqueno.
Elmtododebsqueda(SearchMethod):eslamaneraderealizarlabsqueda
deconjuntosdeformaeficiente.

Unavezseleccionadoalgunodeestosmtodospodremosdeterminarlaformaenque
seleccionaran los atributos (usando un conjunto completo de entrenamiento o
mediantevalidacincruzada)enlaseccinAttributeSelectionMode.
Finalmente los resultados obtenidos se podrn visualizar a travs de las secciones
ResultlistyAssociatoroutput.

27

Imagen20:PestaaSelectattributes

3.4.6.PestaaVisualize
Enltimolugar,aunquesuutilizacinpuedeserrecomendableenlasprimerasetapas
delprocesodeanlisis,seencuentralapestaaVisualize.
La herramienta de visualizacin de WEKA permite presentar grficos 2D interactivos
que relacionen pares de atributos, con la opcin de utilizar adems los colores para
aadir informacin de un tercer atributo. Adems, permite detectar grficamente la
existencia de asociaciones y correlaciones entre atributos, as como seleccionar
instanciasdeformagrfica,quepuedenseralmacenadasposteriormenteenformato
arff.
Al pulsar sobre la pestaa, aparecern los grficos correspondientes a todas las
combinaciones posibles de atributos. Debajo de ellos aparecen varias opciones de
edicindegrficos:

Plotsize:indicaeltamaodelgrficoenpxeles.
PointSize:defineeltamaodelpuntoenpxeles.
Jitter: Crea un ruido aleatorio a las muestras, de manera que espacia las
muestras que estn fsicamente muy prximas, esto tiene tilidad cuando se
concentrantantolospuntosquenoesposiblediscernirlacantidaddestosen
unrea.
Color:Indicaloscoloresqueseutilizarnparalasclasesdelosatributos.

Podremos visualizar los cambios efectuados en el diseo de los grficos pulsando


Update, modificar el nmero de atributos que se van a representan eligindolos a
travsdelbotnSelectattributeseindicareltamaodelasubmuestra(SubSample)

28


Imagen21:PestaaVisualize

Finalmente pulsando sobre cada grfico podemos verlo ampliado y modificar sus
atributos a travs de las opciones que existen al respecto, as como guardar en un
ficheroarfflosdatosallvisualizados.

3.5.Experimenter
SetratadeotradelasherramientasqueaparecenenlainterfazinicialdeWEKAycon
ellatrataremosdecompararelrendimientodelosdistintosalgoritmosimplementados
en la aplicacin. Adems permite aplicar diferentes algoritmos sobre diferentes
conjuntos de datos, lo que resulta muy til para realizar contrastes de hiptesis o
elaborar indicadores estadsticos; resultando de gran importancia en problemas de
clasificacinyregresin.
Al acceder a esta herramienta se visualizan, en la parte superior, tres pestaas que
analizamosacontinuacin:

3.5.1.PestaaSetup
Enella,Experimentersepuedeconfigurardedosformas,SimpleoAdvanced:

29

ConfiguracinSimple:
Es la configuracin que aparece por defecto cuando se pulsa la pestaa
Experimenter. En ella habr que definir un fichero configuracin que contendr
todoslosajustes,ficherosinvolucrados,notas,etc,pertenecientesalexperimento
yunficherodesalidadondeseguardarnlosresultados.

SeguidamenteenlaseccinExperimentTypeseintroducireltipodevalidacin
que tendr el experimento; esto es, validacincruzada estratificada,
entrenamiento con un porcentaje de la poblacin tomando ese porcentaje de
forma aleatoria y entrenamiento con un porcentaje de la poblacin tomando el
porcentajedeformaordenada.

En la seccin Datasets indicaremos qu archivos de datos formarn parte del


experimento y debajo se encuentra la opcin Use relative paths, que se utiliza
paraquelasreferenciasalosficherosseanrelativas.

Imagen22:PestaaSetupconconfiguracinSimple

En la seccin Iteration Control se introducir el nmero de repeticiones del


experimento, especificando si se quiere que se realicen primero los archivos de
datosolosalgoritmos.DebajodelaseccinAlgoritmselusuariopodrintroducir,
modificaroeliminarelalgoritmoquedesee.

ConfiguracinAdvanced:
Estaconfiguracinestorientadaarealizartareasespecficasmsconcretasque
las obtenidas a travs de un experimento sencillo. A travs de esta opcin es
posible repetir el experimento variando el tamao del conjunto de datos,
distribuir la ejecucin del experimento entre varios ordenadores o realizar
experimentosdemodoincremental.

30

Paracomenzaratrabajarsehadeintroducirelficheroconfiguracin,unfichero
de resultados e introducir y configurar el mtodo generador de resultados que
vamosautilizar.WEKApermitelossiguientesmtodos:

CrossValidationResultProducer: Genera resultados fruto de una validacin


cruzada.
AveragingResultProducer: Toma los resultados de un mtodo generador de
resultadosysecalculanlospromediosdelosresultados.
LearningRateResultProducer: Llama a un mtodo generador de resultados
parairrepitiendoelexperimentovariandoeltamaodelconjuntodedatos.
RandomSplitResultProducer:Creaunconjuntodeentrenamientoydeprueba
aleatorioparaunmtododeclasificacindado.
DatabaseResultProducer:Apartirdeunabasededatostomalosresultados
quecoincidenconlosobtenidosconunmtodogeneradorderesultados.

Imagen23:PestaaSetupconconfiguracinAdvanced.

Unavezseleccionadoelgeneradorderesultadospodemoseditaralgunasdesus
propiedades, adems de aadir algoritmos, en la seccin Generator properties,
mientrasqueenlaseccinRunssepuedeseleccionarlasiteracionesconlaquese
realizarelexperimento.
Una de las caractersticas ms interesantes del modo experimentador es que
permite distribuir la ejecucin de un experimento entre varios ordenadores
mediante Java RMI. Esta tarea se llevar a cabo en la seccin Distribute
experiment.
OtrasseccionesdelaherramientasonIterationcontrol,queesdondeseestablece
elordendelaiteracinyDatasets,dondesedefinenlosconjuntosdedatossobre
losqueactuarnlosalgoritmosdeaprendizaje.

31

3.5.2.PestaaRun
En esta pestaa el usuario ejecutar o detendr el experimento. En la seccin Log
aparecerciertainformacinsobreelprocesodeejecucin(horadeinicio,finalizacin,
posibleserrores,etc.)

Imagen24:PestaaRun

3.5.3.PestaaAnalyse
En esta pestaa analizaremos los datos; es decir, podremos ver los resultados de los
experimentos,realizarcontrastesestadsticos,etc.

Imagen25:PestaaAnalyse

32

Unavezseleccionados,enlaseccinSource,losdatosdelosresultados(pulsandoFile,
DatabaseoExperiment)sedefineeltestquequeremosrealizarenlaseccinConfigure
test;quetendrcomoopciones:

Testingwith:Seleccindeltestquevamosaaplicar.

Row:Definelosatributosqueactuarncomofilasenlamatrizderesultados.

Column: Define los atributos que actuarn como columnas en la matriz de


resultados.

Comparisonfields:Elatributoquevaasercomparadoenelcontraste.

Significance:Niveldesignificacinpararealizarelcontrasteestadstico.

Sorting(asc.)by:Obtenerlosresultadosordenadosdeformaascendentesegn
unatributo.

Test base: Seleccionamos qu algoritmo de los utilizados se usa de base para


realizareltest.

DisplayedColumns:Columnasquesevanamostrar.

Showstd.Deviations:Marcamossiqueremosquesemuestrenlasdesviaciones
tpicas.

OutputFormat:Sideseamosalmacenarlosresultadosdelexperimento.

Finalmente pulsando Perform test realizaremos el experimento cuyos resultados se


visualizarnenlaseccinTestoutput.

3.6.KnowledgeFlow
LaherramientaKnowledgeFlow(flujodeconocimiento)muestradeunaformagrfica
eldesarrollodelexperimentoqueserealizaenWEKA.Aspuessebasaensituarenel
panel de trabajo (Knowledge Flow Layout), elementos base (situados en la seccin
superior)demaneraquecreemosuncircuitooflujoquedefinanuestroexperimento.

Imagen26:InterfazdeKnowledgeFlow

33

Enlapartesuperiordelapantallaaparecenunconjuntodepestaas:

DataSources:Dondeelegiremoselficherodeentradadedatos.Existenvarias
opcionesyparaseleccionarlasbastaraconmarcarlasconelbotnizquierdoy
marcarellugardondelavamosasituardentrodelpaneldetrabajo.

Data Sinks: Donde elegiremos dnde se almacenarn los resultados del


experimento. La forma de seleccionarlos es anloga a la anteriormente
descrita.

Filters:Dondedefiniremoslosfiltrosqueaplicaremosalosdatos.

Classifiers:Enestecasoestableceremosalgoritmosdeclasificacinyregresin.

Associations:Seaplicarnmtodosdeasociacinalosdatos.

Evaluation:Dondeestablecerdistintastcnicasdeevaluacindelosresultados.

Visualize: Se podrn realizar los resultados y los grficos asociados al


experimento.

Para aadir las especificaciones de cada uno de los elementos que hayamos
introducidoenelpaneldetrabajohabrquehacerdobleclicksobrecadaunodeellos.
Ahora bien, si queremos conectar dos elementos de ese panel de trabajo nos
situaramos sobre uno de ellos y haciendo click con el botn derecho del ratn
estableceremoslaordenquevamosarealizarygrficamenteseleccionaremossobre
quelementovamosaaplicarlo.
Porejemplo,siqueremosrealizarunprocesodevalidacincruzadasobreunconjunto
dedatosalmacenadosenunficheroarff,deberemosintroduciresosdoselementosen
el panel de trabajo, uno a travs de la pestaa DataSources (seleccionando Arff
Loader)yelotroatravsdelapestaaEvaluation(seleccionandoCrossValidation).
Unavezquehemosintroducidoelficheroconelquevamosatrabajarenelelemento
Arff Loader y dejado por defecto la configuracin de CrossValidation conectamos
ambos elementos pulsando el botn derecho sobre el elemento Arff Loader y
seleccionamos Dataset y seguidamente lo asignamos a CrossValidation. Este proceso
sevisualizaenlasiguienteimagen:

Imagen27:InterfazdeKnowledgeFlowunavezintroducidosdoselementos

34

Siguiendo este proceso podremos construir un proceso completo y finalmente, si


queremos ejecutar el experimenter seleccionaremos la opcin Start Loading en
ArffLoadertalquealejecutarsepodremosverlosresultadosobtenidosencualquiera
delosdosvisoresfinales.
Finalmente y a modo indicativo, algunas de las componentes ms utilizadas en las
reasdevisualizacinyevaluacinson:
a)reaVisualization:

DataVisualizer:Visualizadatosen2D.

AtributteSummarizer:Histogramas,unoporatributo.

ModelPerformanceChart:CurvasROC.

TextViewer:Visualizadatosomodelosentexto.

GraphViewer:Visualizamodelosderboles.

b)reaEvaluation:

CrossValidationFoldMaker:Dividedatasetsenfolds.

TrainTestSplitMaker:Divideundatasetentrain/test.

ClassAsigner:Asignaunatributocomoclase.

ClassValuePicker:Eligeunvalorcomoclasepositiva.

ClassifierPerformanceEvaluator:Recolectaestadsticasparaevaluacinbatch.

IncrementalClassifierEvaluator:
incremental.

ClustererPerformanceEvaluator:Recolectaestadsticasparaclustering.

PreddictionAppender:Aadeprediccionesdeunclasificadoraundataset.

Recolecta estadsticas para

evaluacin

En conclusin, la aplicacin KnowledgeFlow proporciona una alternativa a Explorer


paraaquellosquepiensanentrminosdecmolosdatosfluyenatravsdelsistema.

35

4.TcnicasdeClasificacinaplicadasa
datosobtenidosporelCentroAndaluz
deMedioAmbiente

4.1.ElCentroAndaluzdeMedioAmbiente

ElCentroAndaluzdeMedioAmbiente(CEAMA)es
un centro mixto Junta de Andaluca y Universidad
de Granada, abierto a la participacin y
colaboracin con otras instituciones de I+D y de
gestin preferentemente andaluzas. Se encuentra
ubicadoenlaciudaddeGranadayformapartede
la estructura de centros de investigacin
desarrolladaporelPlanAndaluzdeInvestigacin.

Este organismo naci en 1999 con la vocacin de facilitar el desarrollo de lneas de


investigacinque,porsusingularidadtemtica,organizativa,instrumentalocarcter
multidisciplinar,nopuedanrealizarseeficazmenteenotroscentros.
Desde Julio de 2011 el CEAMA ha pasado a integrarse dentro del Instituto
Interuniversitario de Investigacin del Sistema Tierra en Andaluca (instituto
coordinadoporlaUniversidaddeGranada).
Respecto a su estructura, el CEAMA es una organizacin abierta, lo que permite la
incorporacin de grupos de investigacin que de calidad debidamente acreditada,
cumplanconlascaractersticasanterioresyestnabiertosaltrabajoencolaboracin.
En 2013 los grupos de investigacin permanentes son Fsica de la Atmsfera,
MineralogayGeoqumicadelosAmbientesSedimentarioyMetamrfico,Anlisisde
Cuencas,DinmicadeFluidosAmbientales.SeccinMarinayEcologaTerrestre.Enesa
mismafechasedesarrollanlossiguientesgruposdecolaboracin:AnlisisEstadstico
deDatosMultivariantesyProcesosEstocsticos,ClculoEstocsticoeINVESPYME.
Adems,elCEAMAapoyaalaInvestigacinI+D+iatravsdesusinstalacionescomo
son el tnel de viento de capa lmite, el lidar (lser), el canal olacorriente, AllSky
Imager,etc.
Finalmente, para obtener ms informacin sobre los grupos de trabajo, las lneas de
investigacin seguidas, cursos de formacin y dems novedades asociadas a los
proyectos desarrollados en este centro se puede visitar su web
(http://www.ceama.es/)
En conclusin, el CEAMA es un centro de investigacin en temas ambientalesen sus
procesosfundamentalesyaplicados,ascomodelosmediosytcnicasquefacilitanel
usosostenibledelosrecursosnaturalesylamejoradelacalidaddevida.

36

4.2.Clasificadores
Aprender cmo clasificar objetos a una de las categoras o clases previamente
establecidas, es una caracterstica de la inteligencia de mximo inters para
investigadores, dado que la habilidad de realizar una clasificacin y de aprender a
clasificar,otorgaelpoderdetomardecisiones.
Definicin:SeaEunconjuntodedatos,elobjetivodelaclasificacinesaprenderuna
funcin,L:XY,denominadaclasificador,querepresentelacorrespondenciaexistente
enlosejemplosentrelosvectoresdeentradayelvalordesalidacorrespondiente.
Yesnominal,esdecir,puedetomarunconjuntodevaloresy1,y2,,yKdenominados
clasesoetiquetas.Lafuncinaprendidasercapazdedeterminarlaclaseparacada
nuevoejemplosinetiquetar.Elxitodeunalgoritmodeaprendizajeparaclasificacin
dependeengranmedidadelacalidaddelosdatosqueseleproporcionan.
Laaplicacindeunalgoritmodeaprendizajeclasificadortienecomoobjetivoextraer
conocimientodeunconjuntodedatosymodelardichoconocimientoparasuposterior
aplicacinenlatomadedecisiones.Existendistintasformasderepresentarelmodelo
generado.Entrelasestructurasmsutilizadasestnlarepresentacinproposicional,
los rboles de decisin, las reglas y listas de decisin, reglas con excepciones, reglas
jerrquicasdedecisin,reglasdifusasyprobabilidades,yredesbayesianas.

4.2.1.Evaluacindelrendimientodeunclasificador
Evaluar el comportamiento de los algoritmos de aprendizaje es un aspecto
fundamental; no slo es importante para comparar algoritmos entre s, sino que en
muchoscasosformapartedelpropioalgoritmodeaprendizaje.Laformamshabitual
demedirlaeficienciadeunclasificadoreslaprecisinpredictiva(accuracy).Cadavez
quesepresentaunnuevocasoaunclasificador,estedebetomarunadecisinsobrela
etiqueta que se le va a asignar. Considerando un error como una clasificacin
incorrecta de un ejemplo, se puede calcular fcilmente la tasa de error, o su
complementaria,latasadeacierto.
Definicin:Sedenominaprecisindeunclasificadoralresultadodedividirelnmero
declasificacionescorrectasporelnmerototaldemuestrasexaminadas.
Laprecisinesunabuenaestimacindecmosevaacomportarelmodeloparadatos
desconocidossimilaresalosdeprueba.Sinembargo,sisecalculalaprecisinsobreel
propioconjuntodedatosutilizadoparagenerarelmodelo,seobtieneconfrecuencia
unaprecisinmayoralareal,esdecir,sernestimacionesmuyoptimistasporutilizar
los mismos ejemplos en la induccin del algoritmo y en su comprobacin. La idea
bsicaesestimarelmodeloconunaporcindelosdatosyluegocomprobarsuvalidez
con el resto de los datos. Esta separacin es necesaria para garantizar la
independencia de la medida de precisin resultante; de no ser as, la precisin del
modelosersobreestimada.

37

Paratenerseguridaddequelasprediccionesseanrobustasyprecisas,seconsideran
dos etapas en el proceso de construccin de un modelo: entrenamiento y prueba,
partiendolosdatosendosconjuntos,unodeentrenamientoyotrodetest.

4.3.ClasificacinconWEKA
Para realizar una clasificacin, ser necesario elegir un clasificador y configurarlo en
funcindelasnecesidadesdelaimplementacin.WEKAposeecuatrotiposdemodo
deprueba:

Use training set: Esta opcin evala el clasificador sobre el mismo conjunto
sobreelqueseconstruyeelmodelopredictivoparadeterminarelerror,queen
estecasosedenomina"errorderesustitucin".Portanto, estaopcin puede
proporcionar una estimacin demasiado optimista del comportamiento del
clasificador al evaluarlo sobre el mismo conjunto sobre el que se hizo el
modelo.

Supplied test set: Evaluacin sobre un conjunto independiente. Esta opcin


permitecargarunconjuntonuevodedatos.Sobrecadadatoserealizaruna
prediccindeclaseparacontarloserrores.

Crossvalidation:Evaluacinconvalidacincruzada.Serealizarunavalidacin
cruzada estratificada del nmero de particiones dado (Folds). Una validacin
cruzada es estratificada cuando cada una de las partes conserva las
propiedadesdelamuestraoriginal(porcentajedeelementosdecadaclase)

Percentagesplit:Estaopcindividelosdatosendosgruposdeacuerdoconel
porcentaje indicado (%). El valor indicado es el porcentaje de instancias para
construir el modelo, que a continuacin es evaluado sobre las que se han
dejado aparte. Cuando el nmero de instancias es suficientemente elevado,
esta opcin es suficiente para estimar con precisin las prestaciones del
clasificadoreneldominio.

EnlasiguientefigurasepuedeverunejemplodeclasificacinhaciendousodeCross
validation.

38

Imagen28:Resultadodeaplicarvalidacincruzada

Seleccindeclasificadores
Elproblemadeclasificacinsiempreserealizasobreunatributosimblico,enelcaso
deutilizarunatributonumricoseprecisa,portanto,discretizarloantesenintervalos
querepresentarnlosvaloresdeclase.Existenochofamiliasdeclasificadores,perolos
ms utilizados son cuatro: los bayesianos, los metaclasificadores, las reglas y los
rbolesdedecisin.Acontinuacinseexplicarcadaunodeestosclasificadoresyse
pondrunejemploparafacilitarsucomprensin.

Bayesianos: La gran diferencia con otros mtodos, es que


cuantitativamente da una medida probabilstica de la importancia de esas
variables en el problema. Debe tenerse en cuenta que entre los atributos
del conjunto de entrenamiento no pueden existir correlaciones, puesto
queinvalidaraelresultado.

o Nave Bayes: Parte de la hiptesis de que todos los atributos son


independientes entre s, conocido el valor de la variable clase. El
algoritmo representa una distribucin de una mezcla de
componentes, donde cada componente dentro de todas las
variables se asumen independientes. Esta hiptesis de
independencia da lugar a un modelo de un nico nodo raz,
correspondiente a la clase, y en el que todos los atributos son
nodoshojaquetienencomonicoorigenalavariableclase.

39

Metaclasificadores: En esta familia, WEKA incluye todos aquellos


clasificadores complejos, es decir, aquellos que se obtienen mediante
composicin de clasificadores simples o que incluyen algn
preprocesamientodelosdatos.

o Stacking: Se basa en la combinacin de modelos, construyendo un


conjunto con los generados por diferentes algoritmos de
aprendizaje. Como cada uno de los modelos se aprende con un
mecanismo de aprendizaje diferente, se logra que los modelos del
conjuntoseandistintos.

Reglas:Existendiversosmtodosparagenerarreglasdeclasificacinen
losconjuntosdeentrenamiento.

o OneR: Este es uno de los clasificadores ms sencillos y rpidos,


aunqueenocasionessusresultadossonsorprendentementebuenos
encomparacinconalgoritmosmuchomscomplejos.Generauna
reglaporcadaatributoyescogeladelmenorerror.Sihayatributos
numricos,buscalosumbralesparahacerreglasconmejortasade
aciertos.

rbolesdedecisin:Losrbolessonunamaneraprcticaparavisualizarla
clasificacindeunconjuntodedatos.

Algoritmo J48: Es una implementacin del algoritmo C4.5, uno de


los algoritmos de minera de datos que ms se ha utilizado en
multitud de aplicaciones. Uno de los parmetros ms importantes
deestealgoritmoeselfactordeconfianzaparalapoda(confidence
level). Una explicacin simplificada es la siguiente: para cada
operacindepoda,definelaprobabilidaddeerrorquesepermitea
la hiptesis de que el empeoramiento debido a esta operacin es
significativo. Cuanto ms baja se haga esa probabilidad, se exigir
que la diferencia en los errores de prediccin antes y despus de
podar sea ms significativa para no podar. El valor por defecto de
este factor es del 25%, y conforme va bajando se permiten ms
operaciones de poda y por tanto llegar a rboles cada vez ms
pequeos.

4.4.Datosutilizados
Los datos con los que hemos realizado este trabajo proceden del Grupo de
Investigacin de Fsica de la Atmsfera del CEAMA. Este grupo tiene entre sus
objetivos:

Mediryanalizarlaradiacinatmosfrica.

Realizarestudiosdeteledeteccinaplicadaalacaracterizacindelaspartculas
atmosfricasensuspensinylasnubes.
40

Caracterizacin de la calidad del aire, as como el estudio y medida de los


intercambiosdedixidodecarbonoymetanoenecosistemasterrestres.

El fichero de datos contiene 11.149 observaciones relativas a niveles de radiacin y


grado de nubosidad en el cielo obtenidas a travs de la estacin del CEAMA a
diferenteshorasdeldadurantelos12mesesdelao2011.Ladescripcindecadauna
delasvariablesrecogidassemuestraacontinuacin:
Variable

Descripcin

YEAR

Ao

MONTH

Mes

DAY

Da

DAY_J

Dajuliano

HOUR

Hora

MIN

Minuto

SZA

nguloCenitalSolar

AZIMU

nguloAzimutal

TOA

RadiacinenTOA(cimadelaatmsfera)

UVER

RadiacinUltravioletaeritemtica

GLO

RadiacinGlobal

DIF

RadiacinDifusa

OKTAS

Oktas(medidadelanubosidad)

POR_1

Porcentajedecielocubiertoeneloctante1

POR_2

Porcentajedecielocubiertoeneloctante2

POR_3

Porcentajedecielocubiertoeneloctante3

POR_4

Porcentajedecielocubiertoeneloctante4

POR_5

Porcentajedecielocubiertoeneloctante5

POR_6

Porcentajedecielocubiertoeneloctante6

POR_7

Porcentajedecielocubiertoeneloctante7

POR_8

Porcentajedecielocubiertoeneloctante8

AOD_870 AerosolOpticalDepth870(profundidadpticadelaerosol)
AOD_675 AerosolOpticalDepth675
AOD_440 AerosolOpticalDepth440
AOD_380 AerosolOpticalDepth380
ALPHA

ngulodeelevacinsolar

41

4.5.Anlisisdelosdatos
Enprimerlugar,apartirdelficherodedatoshemosgeneradounavariablecategrica
(CATEG)apartirdelahorayelminuto,contrescategoras:

I:desdelamenorhoraobservadahastalas11.59.

II:desdelas12horashastalas14:59.

III:desdelas15horashastalaltimahoraobservada.

Sehaneliminadodelficherolasvariablesreferentesadasyminutos;estoes,YEAR,
MONTH,DAY,DAY_J,HOURyMIN.Todosestoscambioshanquedadoreflejadosenel
ficherosimultaneos_2011.arff.
Finalmente,elobjetivoquenosplanteamosconestetrabajoesaplicarlosmtodosde
clasificacin descritos anteriormente para el conjunto de datos y estudiar cuales son
losfactoresquecaracterizancadaunadelascategorasogruposhorariosquehemos
creado.
ElprocesoseharealizadoatravsdelainterfazExplorerdeWEKAysehadivididoen
lossiguientespasos:

Paso1:Cargadelficherodedatossimultaneos_2011.arff
Para cargar el fichero se utiliza el botn OPEN FILE de la interfaz Explorer (pestaa
Preprocess). Una vez seleccionado el fichero simultaneos_2011.arff se mostrar la
siguientepantalla:

Imagen29:PestaaPreprocessunavezintroducidoslosdatos

Pulsando el botn Edit podremos visualizar los datos del fichero con que vamos a
trabajar.

42

Imagen30:Datosconlosqueserealizarelestudio

Paso2:Discretizacindelosatributosdelfichero
Aldiscretizarsedivideelrecorridodelatributonumricoenintervalos,quepuedenser
delamismaamplitudoconelmismonmerodeobservaciones(aproximadamente).
En este proceso, adems, se crea un atributo nominal en el que cada categora
correspondeaunintervalo.
PararealizaresteprocesopulsamoselbotnFilteryseleccionamoslaopcinDiscretize
dentrodelosfiltrosnosupervisados.

Imagen31:SeleccindelfiltroDiscretize

43

En nuestro caso una vez seleccionado este filtro no modificaremos ninguno de sus
parmetros asociados. Si lo deseamos podemos hacerlo pulsando sobre el filtro
apareciendolasiguientepantalla:

Imagen32:ParmetrosdelfiltroDiscretize

donde:

attibuteIndices: ndices de los atributos sobre los que actuar el filtro. Por
defectotodos.

Bins:Nmerodecategorasdelatributoresultante.

desiredWeightOfInstancePerInterval: Nmero deseado de observaciones en


cadaintervalo.

FindNumBins:Determinaelnmerodeintervalosdeformaptima.

InvertSelection:InviertelaseleccindeatributosindicadoenattributeIndices.

MakeBinary: Convierte el atributo resultante en un conjunto de atributos


binarios.

UseEqualFrequency:Intervalosconigualfrecuencia,aunquedistintaamplitud.

Talycomosehacomentado,ennuestrocasonosehamodificadoningunodeestos
parmetros, por lo que una vez seleccionado el filtro y pulsado el botn Apply se
realiza el proceso de discretizacin en los datos; as pues, cada observacin de cada
unadelasvariablesseintroducirensucorrespondienteintervalo.

44

Imagen33:Datostraselprocesodediscretizacin

Paso3:Aplicacindemtodosdeclasificacin
A)MtododeclasificacinNaveBayes
Talycomosehadescritoanteriormente,estemtododeclasificacinformapartede
losclasificadoresBayesianos;esdecir,basadosenelTeoremadeBayes.Estatcnica
involucra una hiptesis de difcil cumplimiento y funciona bien con bases de datos
reales;enespecial,cuandosecombinaconprocedimientosdeseleccindeatributos
paraeliminarlaredundancia.
En nuestro caso, para aplicar estemtodo habr que dirigirse a la pestaa Classify y
traspulsarelbotnChoose,seleccionarlotalycomosemuestraenlaImagen34.

Imagen34:SeleccindelclasificadorNaiveBayes

45

Unavezelegidorealizaremosesteprocesoparatresdeloscuatromtodosdeprueba
descritos anteriormente. No lo haremos para caso Supplied test set puesto que no
poseemos un conjunto independiente sobre el que evaluar los resultados. As pues
tenemos:
A1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsarelbotnStartsemuestralasiguienteinformacin:

Imagen35:SalidadeaplicarNaiveBayesyunconjuntodeentrenamiento

Seguidamente vamos a analizar la salida resultante de aplicar el clasificador. De esa


formavamosadefinirlostrminosqueallaparecenyquesontilesparacomparar
losdistintosmtodosdeclasificacinquevamosaaplicar.
En la Imagen 35 se muestra que el 81,7472% de los casos se han clasificado
correctamentemientrasqueel18,2528%lohanhechodeformaincorrecta.
SeguidamentesemuestraelvalordelndiceKappa(0,7137).Estndiceesunamedida
deconcordanciaentrelascategoraspronosticadasporelclasificadorylascategoras
observadas,quetieneencuentalasposiblesconcordanciasdebidasalazar.Donde:

Sielvalores1:Concordanciaperfecta.
Sielvalores0:Concordanciadebidaalazar.

Sielvaloresnegativo:Concordanciamenorquelaquecabraesperarporazar.

Porlotanto,ennuestrocaso,tenemosunaltogradodeconcordancia.
46

Posteriormente aparecen ciertas medidas asociadas al error de la clasificacin. Estos


coeficientes se calculan a partir de unos valores di que se obtienen de la siguiente
formaparacadainstancia:
Seconstruyeunvectorbinarioquetieneununoenla posicin de la clase a
laquepertenecelainstanciaycerosenlasdems.
Sedeterminaelvectordeprobabilidadesdeasignacinalas distintas clases
queproporcionaelclasificador.
Serealizaladiferenciaentreelpardevectoresasociados.
Lascomponentesdelosvectoresdiferenciaproporcionanlosvaloresdi.
Para visualizar los valores di bastara con marcar la opcin Output predictions si
pulsamoselbotnMoreoptionsyseguidamenteStart.

Imagen36:SeleccindelaopcinOutputpredictions

Losindicadoresasociadosalerrordelaclasificacinson:
Meanabsoluteerror:
1

| |

0.1655.

47

Rootmeansquarederror:
1

0.2953.

Relativeabsoluteerror(%):

100

39.0479

Rootrelativesquarederror(%):

100

64.1547

Seguidamente aparecen el nmero total de casos (11.149) y un cuadro donde se


muestran una serie de indicadores relativos a la precisin de la clasificacin. Estos
coeficientessebasanenlosresultadosdelamatrizdeconfusinqueaparecealfinal
delasalida.Enestecaso,lamatrizdeconfusinmuestralasiguienteinformacin:

==ConfusionMatrix===
abc<classifiedas
4320751207|a=I
439212170|b=II
499692673|c=III

Esdecir,delos5.278casosdelgrupoI,4.320sehanclasificadocorrectamente,751se
hanclasificadodentrodelgrupoIIy207sehanclasificadodentrodelgrupoIII.Amodo
deresumenpodemosclasificarestosvalorescomo:

Verdaderos positivos (TP): Instancias correctamente reconocidas por el


sistema.Correspondenalosvaloresdeladiagonal(4.320,2.121y2.673).

Verdaderos negativos (TN): Instancias que son negativas y correctamente


reconocidascomotales.Siconsideramosnicamenteelestudioparaunaclase,
por ejemplo para la clase I, entonces los verdaderos negativos seran 2.121 y
2.673.

Falsospositivos(FP):Instanciasquesonnegativasperoelsistemadicequeno
loson.Porejemplo,tenemos439casosquepertenecenalgrupoIIyquehan
sidoclasificadascomoI.

48

Falsosnegativos(TN):Instanciasquesonpositivasyqueelsistemadiceque
no lo son. Por ejemplo existen 751 casos del grupo I que se han clasificado
dentrodelgrupoII.

Apartirdeestosvaloressecalculanlosindicadoresdeprecisinparacadaclase,que
sedefinencomo:

Tasadeverdaderospositivos:

Tasadefalsospositivos:

Medidadeprecisin:

Recall:

yesequivalentea:

MedidaF:

Elresultadodeestosindicadoressemuestraenlasalidadelclasificador,obteniendo:
==DetailedAccuracyByClass===

TPRateFPRatePrecisionRecallFMeasureROCAreaClass

0.8180.160.8220.8180.820.912I

0.8060.0960.7210.8060.7610.944II

0.8250.0350.9060.8250.8640.972III
WeightedAvg.0.8170.1090.8220.8170.8190.937

Mejoradeprecisindelclasificador

Hay que hacer que notar que un ejemplo de mtodo de aprendizaje que reduce su
calidad ante la presencia de atributos no relevantes es el mtodo Naive Bayes. Tal y
49

como hemos visto, al utilizar este mtodo mediante un conjunto de entrenamiento


hemosobtenidounaprecisindel81,7472%.

Seguidamentevamosacomprobarsilosatributosnorelevantesestnafectandoala
calidad del mtodo, por lo que vamos a efectuar un filtrado de atributos. Para ello
vamosalaseccinSelectAttributesdondeencontramosdosfamiliasdetcnicaspara
realizaresteproceso:

Filtros, donde se seleccionan y evalan los atributos en forma independiente


delalgoritmodeaprendizaje.
Wrappers (envoltorios), los cuales usan el desempeo de algn clasificador
paradeterminarlodeseabledeunsubconjunto.

Dadaslascaractersticasdelproblemaenestecasopodemosprobarconunatcnica
wrapper realizando una bsqueda exhaustiva. Para ello, pulsamos Choose de
AttributeEvaluator y seleccionamos el mtodo WrapperSubsetEval. Para configurarlo
pulsamos en la ventana de texto. Vamos a utilizar el propio NaiveBayes para el
wrapper, por lo que seleccionaremos el mtodo en classifier. Por otra parte, en
SearchMethod indicamos que queremos una bsqueda exhaustiva eligiendo
ExhaustiveSearch. Una vez configurada la herramienta, pulsamos el botn Start,
mostrndoselainformacindelaImagen37.

Imagen37:Pestaadeseleccindeatributos

Analizando los resultados de este mtodo de filtraje se recomienda no utilizar los


atributosTOA,OKTAS yALPHA.Paracomprobarlaveracidaddeestarecomendacin
50

volvemosalapantallaPreprocess,yeliminamoslosatributosdescartadosmarcndolos
enlapartedeAttributesypulsamosenRemove.
Finalmente, para conocer la precisin que obtiene NaiveBayes con este subconjunto
de atributos, volvemos a la ventana Classify y seleccionamos el mtodo NaiveBayes
usando un conjunto de entrenamiento. El resultado muestra que el porcentaje de
instancias correctamente clasificadas ha aumentado al 82,0522%. El resto de
indicadoressepuedenvisualizarenlasiguienteimagen:

Imagen38:ClasificadorNaiveBayesconunconjuntodeentrenamiento

A2)Usandovalidacincruzada.Supuestoquehemoseliminadoaquellosatributosque
disminuyenlaprecisindelosestimadoresdeigualformaquelohemoshechoenel
apartado anterior; seguidamente, seleccionamos el mtodo Crossvalidation,
manteniendoelnmerodeplieguesqueaparecenpordefecto(10).Pulsandoelbotn
Startsemuestralasiguienteinformacin:

51

Imagen39:ClasificadorNaiveBayesyvalidacincruzada

En este caso, el porcentaje de instancias clasificadas como correctas ha sido del


81,7024%,mientrasqueeldeclasificadasincorrectamenteesdel18,2976%.Elndice
Kappatomaelvalor0,7136porloqueexisteunaltogradodeconcordancia.

Finalmente, basndonos en los resultados de la matriz de confusin y a modo de


ejemplo tenemos que de los 3.241 casos pertenecientes al grupo III, 2.672 se han
clasificadocorrectamente,mientras497sehanclasificadocomoIy72comoII.

A3) Dividiendo el fichero de datos. Al igual que en los apartados anteriores hemos
eliminadoaquellosatributosquedisminuyenlaprecisindelosestimadores.

SeguidamenteseleccionamoselmtodoPercentagesplit.Atravsdeestemtodoel
fichero de datos se divide en dos partes, de acuerdo al porcentaje indicado (que
dejaremosenel66%).Unaseusaparaconstruirelclasificadorylaotraparaevaluarsu
rendimiento.

Tras pulsar el botn Start aparece la informacin que se muestra en la siguiente


imagen.

52

Imagen40:ClasificadorNaiveBayesyPercentagesplit

En este caso, el porcentaje de instancias clasificadas como correctas disminuye


respecto al anterior modelo utilizado pasando al 81,4297%, mientras que el de
clasificadasincorrectamenteesdel18,5703%.ElndiceKappatomaelvalor0,796por
loqueexisteunaltogradodeconcordancia.

Por otro lado y a modo de ejemplo, la tasa de instancias clasificadas correctamente


paralaclaseIesde0,81.Finalmente,delos862casospertenecientesalgrupoII,694
sehanclasificadocorrectamente,mientras152sehanclasificadocomoIy16comoIII.

53

B)MtododeclasificacinStacking
Tal y como hemos indicado anteriormente, Stacking es un metaclasificador, de
estructurabastantesencilla,quesebasaenlacombinacindemodelos,construyendo
un conjunto con los generados por diferentes algoritmos de aprendizaje. Como cada
uno de los modelos aprende a travs de un mecanismo de aprendizaje diferente, se
lograquelosmodelosdelconjuntoseandistintos.

Paranuestrospropsitos,vamosadefinirtresclasificadoresbase(NaiveBayes,OneRy
J48) y utilizar el clasificador J48 como meta clasificador para el conjunto de datos,
simultaneos_2011.arff,quehemosdiscretizadoenelapartadoanterior.

Comenzamos pulsando la pestaa Classify y pulsando sobre el botn Choose


seleccionamos el clasificador Stocking. Una vez elegido modificamos los parmetros
eligiendolosclasificadoresbaseyelmetaclasificadordefinidosenelprrafoanterior.

Imagen41:SeleccindeclasificadoresbaseymetaclasificadorparaelmtodoStocking

Unavezconfirmadosestoscambiosrealizaremosesteprocesoparalostresmtodos
de prueba con los que hemos realizado el anterior proceso de clasificacin. As pues
tenemos:

B1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsar el botn Start se muestran los modelos inducidos para cada clasificador
individual y para el modelo aprendido por el meta clasificador. El resultado final se
muestraenlaImagen42.

54

Imagen42:ResumendelosresultadosdeaplicarelmtodoStockingyunconjuntodeentrenamiento

Analizando los resultados se tiene que el porcentaje de instancias clasificadas como


correctas aumenta respecto al anterior mtodo de clasificacin obteniendo un
88,0169%,mientrasqueeldeclasificadasincorrectamenteesdel11,9831%.Elndice
Kappatomaelvalor0,8077porloqueexisteunaltogradodeconcordancia.

Por otro lado y a modo de ejemplo la tasa de instancias clasificadas correctamente


paralaclaseIesde0,945.Finalmente,delos2.633casospertenecientesalgrupoII,
1.985 se han clasificado correctamente, mientras 571 se han clasificado como I y 74
comoIII.

B2)Usandovalidacincruzada.Paraesteapartadomantenemoslamismaeleccinde
clasificadoresbaseymetaclasificadorquehemosrealizadoenelpuntoB1.
ParaaplicarestemtodopulsamoslaopcinCrossvalidationdentrodelaseccinTest
Option.Ademsmantendremoselnmerodeplieguesqueaparecenpordefecto(10)
ypulsandoelbotnStartsemuestralasiguienteinformacin:

55

Imagen43:ResumendelosresultadosdeaplicarelmtodoStockingyvalidacincruzada

A travs de los resultados de la Imagen 43 se aprecia que el nmero de casos


clasificados correctamente disminuye respecto al anterior modo de prueba,
obteniendo un porcentaje del 85,344%. El 14,656% de los casos o instancias se han
clasificadodeformaincorrecta.
El valor del ndice Kappa (0,7664) tambin disminuye respecto al anterior modo de
prueba.

Amododeejemplo,lamatrizdeconfusinmuestraquedelos5.278casosdelgrupoI,
4.752sehanclasificadodeformacorrecta,309lohanhechocomodelgrupoIIy217
comodelgrupoIII.

B3) Dividiendo el fichero de datos. Para realizar este apartado seleccionaremos el


modo de prueba Percentage split. A travs de este mtodo, el fichero de datos se
divideendospartes,deacuerdoalporcentajeindicado(quedejaremosenel66%).La
primera se utilizar para construir el clasificador y la segunda para evaluar su
rendimiento.

Tras pulsar el botn Start aparece la informacin que se muestra en la siguiente


imagen.

56

Imagen44:ResumendelosresultadosdeaplicarelmtodoStockingcondivisindelfichero

Enestecaso,elporcentajedeinstanciasclasificadascorrectamenteesdeun85,703%
mientrasqueel14,297%lohansidodeformaerrnea,teniendocomoporcentajede
errorabsolutorelativo30,5271%.
El valor del ndice Kappa es de 0,7714 por lo que existe alto grado de concordancia
entrelascategoraspronosticadasporelclasificadorylascategorasobservadas.

Finalmente,atravsdelamatrizdeconfusinseobtieneentreotrascosas,quedelos
1.153casosdelgrupoIII,989sehanclasificadocorrectamente,132sehanclasificado
comodelgrupoIy32lohanhechocomodelgrupoII.

57

C)MtododeclasificacinOneR
Esteclasificadoresunodelosmssencillosyrpidos.Susresultadospuedensermuy
buenos en comparacin con otros algoritmos mucho ms complejos y su objetivo es
seleccionarelatributoquemejorexplicalaclasedesalida.

Para seleccionar este mtodo habr que elegirlo dentro de la seccin rules al pulsar
sobreelbotnChoosequeseencuentradentrodelapartadoClassifier.

Imagen45:SeleccindelmtodoOneR

Una vez seleccionado el mtodo de clasificacin y para cada modo de prueba


obtenemoslossiguientesresultados:

C1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsar el botn Start se muestra informacin sobre el atributo que mejor explica la
clase de salida, en este caso, POR_3 e indicadores asociados la calidad de la
clasificacintalycomosemuestraenlaImagen46.

58

Imagen46:AplicacindelclasificadorOneRyunconjuntodeentrenamiento

Analizando estos resultados, vemos que la mejor prediccin posible con un solo
atributoeslavariablePOR_3conlossiguientesumbrales:

===Classifiermodel(fulltrainingset)===

POR_3:
'(inf9.9]' >I
'(9.919.8]' >III
'(19.829.7]' >III
'(29.739.6]' >III
'(39.649.5]' >III
'(49.559.4]' >III
'(59.469.3]' >III
'(69.379.2]' >III
'(79.289.1]' >III
'(89.1inf)' >III
(7085/11149instancescorrect)

Esdecir,pordebajodelvalor9,9lasinstanciasseclasificarncomoIporencimadeese
valorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.

La tasa de aciertos sobre el propio conjunto de entrenamiento es del 63.5483% y


respectoalamatrizdeconfusintenemosquedelos2.630casosdelgrupoII,1.198se
han clasificado como I y 1.432 como III, por lo que no existe ninguno de estos casos
quesehayaclasificadodeformacorrecta.

59

C2) Usando validacin cruzada. En este caso seleccionamos el mtodo Cross


validation, manteniendo el nmero de pliegues que aparecen por defecto (10).
PulsandoelbotnStartsemuestralasiguienteinformacin:

Imagen47:AplicacindelclasificadorOneRyvalidacincruzada.

Analizando la salida obtenemos los mismos indicadores y resultados que al usar un


conjunto de entrenamiento en el modo de prueba. Es decir, la mejor prediccin
posibleconunsoloatributoeslavariablePOR_3obteniendolosmismosumbralesque
enelapartadoanterior.Aspuespordebajodelvalor9,9lasinstanciasseclasificarn
comoIporencimadeesevalorcomoIII.Noencontrandoningnvalorparaclasificar
dentrodelgrupoII.

La tasa de aciertos sobre el propio conjunto de entrenamiento es del 63.5483% y


respectoalamatrizdeconfusintenemosquedelos3.241casosdelgrupoIII,2.465
sehanclasificadodeformacorrectay776sehanclasificadocomoIyningunocomoII.

C3) Dividiendo el fichero de datos. Para realizar este apartado seleccionaremos el


modo de prueba Percentage split. A travs de este mtodo el fichero de datos se
divideendospartes,deacuerdoalporcentajeindicado(quedejaremosenel66%).La
primera se utilizar para construir el clasificador y la segunda para evaluar su
rendimiento.

TraspulsarelbotnStartaparecelainformacinquesemuestraenlaImagen48.
60

Imagen48:AplicacindelclasificadorOneRcondivisindeficheros

La mejor prediccin posible con un solo atributo es la variable POR_3 con los
siguientesumbrales:

===Classifiermodel(fulltrainingset)===

POR_3:
'(inf9.9]' >I
'(9.919.8]' >III
'(19.829.7]' >III
'(29.739.6]' >III
'(39.649.5]' >III
'(49.559.4]' >III
'(59.469.3]' >III
'(69.379.2]' >III
'(79.289.1]' >III
'(89.1inf)' >III
(7085/11149instancescorrect)

Porlotanto,pordebajodelvalor9,9loscasosseclasificarncomoIporencimadeese
valorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.

La tasa de aciertos sobre el propio conjunto de entrenamiento es del 64,6004% y


respecto a la matriz deconfusin tenemos que de los 862 casos del grupo II, 384 se
hanclasificadocomoIy478comoIII,porloquenoexisteningunodeestoscasosque
sehayaclasificadodeformacorrecta.

61

D)AlgoritmodeclasificacinJ48
El algoritmo J48 implementado en Weka es una versin del clsico algoritmo de
rbolesdedecisinC4.5propuestoporQuilan.Losrbolesdedecisinentrandentro
de los mtodos de clasificacin supervisada, es decir, se tiene una variable
dependienteoclase,yelobjetivodelclasificadoresdeterminarelvalordedichaclase
paracasosnuevos.

Paraaplicarestealgoritmoanuestrosdatosdiscretizadosnossituamosenlapestaa
Classify y dentro de la seccin Classifier pulsamos Choose, seguidamente
seleccionamosJ48enTrees.

Imagen49:SeleccindelalgoritmoJ48.

Si pulsramos sobre la ventana que contiene el nombre del mtodo podramos


modificar los parmetros especficos de este algoritmo. En este caso dejaremos los
valorespordefecto.

Una vez seleccionado este mtodo de clasificacin y para cada modo de prueba
obtenemoslossiguientesresultados:

D1) Usando un conjunto de entrenamiento. Seleccionamos como opcin de


evaluacin (Test options) la opcin Use training set y una vez pulsado Start se
muestranlosresultadosdelaImagen50.
62

Imagen50:ResultadodeaplicarelalgoritmoJ48yunconjuntodeentrenamiento

Entrelosresultadosqueseobtienen,apartedelosindicadoressobrelaprecisindela
clasificacin, tenemos que el programa genera el rbol de decisin para nuestros
datos.Partedeeserbolsemuestraacontinuacin.

===Classifiermodel(fulltrainingset)===

J48prunedtree

POR_2='(inf9.9]'
|POR_3='(inf9.9]'
||POR_7='(inf10]'
|||POR_4='(inf9.9]'
||||POR_1='(inf11.7]'
|||||POR_8='(inf10]'
||||||AZIMU='(inf11.100981]':II(241.0/50.0)
||||||AZIMU='(11.10098122.200872]'
|||||||UVER='(inf23862.3]'
||||||||GLO='(inf139.104]':II(0.0)
||||||||GLO='(139.104258.588]':II(0.0)

...

Y entre la informacin que se puede obtener tenemos que si POR_2 = '(inf9.9]',


POR_3 = '(inf9.9]', POR_7 = '(inf10]', POR_4 = '(inf9.9]', POR_1 = '(inf11.7]',
POR_8 = '(inf10]' y AZIMU = '(inf11.100981]' entonces las instancias se clasifican
dentrodelgrupoII.
63

Tambin podemos visualizar el rbol de forma grfica si pulsamos el botn derecho


sobreeltextotrees.J48delacajaResultlistyseleccionamoslaopcinVisualizeTree.
Sinembargoydebidoalgrannmeroderamasyhojasquesegeneranconnuestros
datosnosevisualizadeformacorrectaporloqueestaformadevisualizacinsertil
cuandoelnmeroderamasyhojasseabastanteinferioralactual.

Respecto a los resultados de la evaluacin hemos obtenido que el 87,7209% de las


instanciassehanclasificadocorrectamentemientrasqueel12,2791%lohanhechode
formaincorrecta.

El ndice Kappa toma un valor de 0,8044 por lo que existe un alto grado de
concordancia entre las categoras pronosticadas por el clasificador y las categoras
observadas.

El error absoluto relativo es de un 27,0636% y respecto a la matriz de confusin


tenemos que delos 5.278 casos del grupo I, 4.886 se han clasificado correctamente,
199comoIIy193comoIII.

D2) Usando validacin cruzada. Para este caso seleccionamos el mtodo Cross
validation y mantenemos el nmero de pliegues que aparecen por defecto (10). Al
pulsar el botn Start se genera un nuevo rbol de decisin y el resumen de los
indicadoressobrelacalidaddelaclasificacin.

Imagen51:ResultadodeaplicarelalgoritmoJ48yvalidacincruzada

64


En este caso el porcentaje de casos clasificados correctamente es del 83,7474 %,
siendoeldemalclasificadosel16,2526%.ElndiceKappatomaelvalor0,7411quees
inferioraldelanteriormododeprueba.

Respecto a los niveles de precisin por clase las tasas verdaderos positivos para las
clasesIyIIson0,897y0,844respectivamente,mientrasqueparalaclaseIIesde0,71.

A travs de la matriz de confusin se muestra que de 2.630 instancias del grupo II,
1.868sehanclasificadocorrectamentemientrasque597sehanclasificadocomoIy
165lohanhechocomoIII.

D3) Dividiendo el fichero de datos. En este apartado seleccionaremos el modo de


pruebaPercentagesplit.Deestaformaelficherodedatossedivideendospartesde
acuerdoalporcentajeindicado(quedejaremosenel66%).Laprimeraseutilizarpara
construirelclasificadorylasegundaparaevaluarsurendimiento.

TraspulsarelbotnStartsegeneraelcorrespondienterboldedecisinyelconjunto
deindicadoressobrelacalidaddelaclasificacin,loquesemuestraenlaImagen52.

Imagen52:ResultadodeaplicarelalgoritmoJ48condivisindelficherodedatos

En esta situacin, el nmero de casos clasificados correctamente es del 83,5927%


mientrasquelosclasificadosincorrectamentesonel16,4073%.
65

El valor del ndice Kappa toma un valor de 0,7384 lo que significa queexiste un alto
grado de concordancia entre las categoras pronosticadas por el clasificador y las
categorasobservadas.

Finalmente y a modo de ejemplo, la matriz de confusin muestra que de los 1.776


casosdelgrupoI,1.610sehanclasificadodeformacorrecta,111lohanhechocomo
delgrupoIIy55comodelgrupoIII.

4.6.Conclusiones

Losresultadosobtenidosenlosanterioresprocesosdeclasificacinseresumenenla
siguientetabla:

Clasificador
NaveBayes
NaveBayes
(mejorade
precisin)
NaveBayes
(mejorade
precisin)
NaveBayes
(mejorade
precisin)
Stacking
Stacking
Stacking
OneR
OneR
OneR
J48
J48
J48

Modode Instanciasbien Instanciasmal ndice


prueba
clasificadas(%) clasificadas(%) Kappa
Conjuntode
81,7472
18,2528
0,7137
entrenamiento

Error
absoluto
0,1655

Conjuntode
entrenamiento

82,6522

17,9478

0,7186

0,1646

Validacin
cruzada

81,7024

18,2976

0,7136

0,1671

Divisindel
fichero

81,4297

18,5703

0,7096

0,1681

88,0169

11,9831

0,8077

0,1244

85,344

14,656

0,7664

0,1275

85,703

14,297

0,7714

0,1295

63,5483

36,4517

0,3937

0,243

63,5483

36,4517

0,3937

0,243

64,6004

35,3996

0,41

0,236

87,7209

12,2791

0,8044

0,1147

83,7474

16,2526

0,7411

0,1381

83,5927

16,4073

0,7384

0,1459

Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero
Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero
Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero

66

TantoelclasificadorNaveBayes,comoelStackingyelJ48ofrecenunporcentajede
instanciascorrectamenteclasificadassuperioral81%,sibien,comosehacomprobado
con el clasificador OneR existe un atributo (POR_3) que permite clasificar de forma
correctaentornoaun64%delasinstancias.

En relacin a los diferentes modos de prueba, es el basado en la muestra de


entrenamiento el que ofrece mejores resultados para cada uno de los clasificadores.
Estoeslgicopuestoqueesteclasificadorseevalaenelmismoconjuntosobreelque
secreelmodelodeclasificacinproduciendounasobreestimacindelosresultados.
Sin embargo esta situacin no es ratificada por el clasificador OneR donde el
porcentajedeinstanciasbienclasificadasmedianteunadivisindelfichero(64,6004%)
essuperioralobtenidomedianteelconjuntodeentrenamiento(63,5483%).

En relacin al tipo de clasificador, es el metaclasificador Stacking el que mejores


resultadosofrece,concretamentelosvaloresdelosndicesKappaparacadamodode
prueba (0,8077, 0,7664 y 0,7714) son superiores a sus correspondientes modos de
pruebadelosotrosclasificadores.

RespectoalusodeunconjuntodeentrenamientoparaunmtodoStackinghayque
hacer notar que no deben usarse los mismos datos con que se entrenaron las bases
porque precisamente Stacking trata de corregir sus sesgos, aprende cmo cometen
errores (y pueden tener memoria del conjunto de entrenamiento). Por lo tanto es
recomendableutilizarparaelanlisislosotrosmodosdeprueba.

Finalmente,eselclasificadordeNaveBayeselquepeoresresultadoshaofrecido,an
habiendoeliminadoaquellosatributosquenosonrelevantesyqueafectanalacalidad
del mtodo. An as, los resultados obtenidos por este estimador resultan de gran
utilidad,yaqueesteclasificadorofreceunamedidaprobabilsticadelaimportanciade
lasvariablesqueintervienenenelproblema.

67

Bibliografa

RemcoR.Bouckaert,EibeFrank,MarkHall,RichardKirkby,PeterReutemann,
Alex Seewald, David Scuse. WEKA Manual for versin 3.7.8. University of
Waikato,2011.
Blanquero Bravo, Rafael. Introduccin a la minera de datos. Universidad de
Sevilla.Ao2010.http://rblanque.us.es
Blanquero Bravo, Rafael. Introduccin a WEKA. Universidad de Sevilla. Ao
2010.http://rblanque.us.es
GarcaMorate,Diego.ManualdeWeka.2005.
Ian H. Witten, Eibe Frank, and Mark A. Hall. Data Mining: Practical Machine
LearningToolsandTechniques.MorganKaufmann,Burlington,MA, 3edition,
2011.
J.L. Cubero, F, Berzal, F. Herrera. Fundamentos de Minera de datos. Mster
OficialdelaUniversidaddeGranadaenSoftComputingySistemasInteligentes.
2010.
Hernndez,J.yFerri,C.IntroduccinaWeka..CursodeDoctoradoExtraccin
Automtica de Conocimiento en Bases de Datos e Ingeniera del Software.
UniversitatPolitcnicadeValncia,Marzo2006.
GrahamWilliams.DataMiningwithRattleandR:TheArtofExcavatingDatafor
KnowledgeDiscovery.Springer,2011.
Lan Huang, David Milne, Eibe Frank, and Ian H. Witten. Learning a concept
based document similarity measure. Journal of the American Society for
InformationScienceandTechnology,2012.
Geoff Holmes. Developing data mining applications. In International
ConferenceonKnowledgeDiscoveryandDataMining,page225.ACM,2012.
J.HernndezOrallo,M.J.RamrezQuintana,C.FerriRamrez.Introduccinala
MineradeDatos.PearsonPrenticeHall,2004.
Albert Bifet, Geoff Holmes, Bernhard Pfahringer, and Eibe Frank. Fast
perceptron decision tree learning from evolving data streams. In Proc 14th
PacificAsiaConferenceonKnowledgeDiscoveryandDataMining,Hyderabad,
India,pages299310.Springer,2010.
C. Apte. The big (data) dig, OR/MS Today, Febrero 2003.
http://www.lionhrtpub.com/orms/orms203/frdatamining.html
M. Berthold, D.J. Hand. Intelligent Data Analysis: An Introduction. Springer,
1999.
D.Hand,H.Mannila,P.Smyth.PrinciplesofDataMining.TheMITPress,2001.
T. Hastie, R. Tibshirani, J. Friedman. The elements of Statistical Learning.
Springer,2001.

68

Вам также может понравиться