mineria de datos - tecnicas.pdf

68
Granada, 2013 Aplicación de técnicas de Minería de Datos a datos obtenidos por el Centro Andaluz de Medio Ambiente (CEAMA) Realizado por Francisco José García González Tutores: Silvia González Aguilera Juan Antonio Maldonado Jurado Máster Universitario en Estadística Aplicada

Upload: cachojj

Post on 03-Oct-2015

70 views

Category:

Documents


8 download

TRANSCRIPT

  • Granada,2013

    AplicacindetcnicasdeMineradeDatosadatosobtenidosporelCentroAndaluzdeMedioAmbiente(CEAMA)

    RealizadoporFranciscoJosGarcaGonzlez

    Tutores:SilviaGonzlezAguilera

    JuanAntonioMaldonadoJurado

    MsterUniversitarioenEstadsticaAplicada

  • 2

    Contenido1.Introduccin...........................................................................................................42.Softwaredisponibleparaaplicartcnicasdemineradedatos...............................52.1.XLMiner..................................................................................................................52.2.Matlab....................................................................................................................62.3.IBMSPSSModeler.................................................................................................72.4.SASEnterpriseMiner.............................................................................................92.5.SalfordSystemsDataMining...............................................................................102.6.OracleDataMining..............................................................................................112.7.RapidMiner.........................................................................................................132.8.KNIME..................................................................................................................142.9.R...........................................................................................................................152.10.Orange...............................................................................................................162.11.WEKA.................................................................................................................18

    3.IntroduccinaWEKA............................................................................................193.1.Introduccin........................................................................................................193.2.Losdatos..............................................................................................................203.3.SimpleCLI............................................................................................................213.4.Explorer................................................................................................................223.4.1.PestaaPreprocces......................................................................................233.4.2.PestaaClassify............................................................................................243.4.3.PestaaCluster.............................................................................................263.4.4.PestaaAssociate.........................................................................................263.4.5.PestaaSelectattributes..............................................................................273.4.6.PestaaVisualize..........................................................................................28

    3.5.Experimenter.......................................................................................................293.5.1.PestaaSetup...............................................................................................293.5.2.PestaaRun..................................................................................................323.5.3.PestaaAnalyse............................................................................................32

    3.6.KnowledgeFlow...................................................................................................334. Tcnicas de Clasificacin aplicadas a datos obtenidos por el CentroAndaluz deMedioAmbiente......................................................................................................364.1.ElCentroAndaluzdeMedioAmbiente...............................................................364.2.Clasificadores.......................................................................................................374.2.1.Evaluacindelrendimientodeunclasificador............................................37

  • 3

    4.3.ClasificacinconWEKA........................................................................................384.4.Datosutilizados...................................................................................................404.5.Anlisisdelosdatos.............................................................................................42Paso1:Cargadelficherodedatossimultaneos_2011.arff....................................42Paso2:Discretizacindelosatributosdelfichero.................................................43Paso3:Aplicacindemtodosdeclasificacin.....................................................45

    4.6.Conclusiones........................................................................................................66Bibliografa...............................................................................................................68

  • 4

    1.IntroduccinHoy da nuestra sociedad genera grandes cantidades de informacin que unido alaumento de las capacidades de almacenamiento, han hecho que todo tipo deorganizacionespuedandisponerdeunagrancantidadyvariedaddedatosrelativosasuactividaddiaria.Estainformacinofrecealaempresaunavisinperspectiva(quseest haciendo y cmo se est haciendo) y prospectiva (cmo puede evolucionar laorganizacin en un futuro a cortomedio plazo) y es por ello por lo que tiene unafuncinvitalenelprocesodetomadedecisiones.Sinembargomuchadelainformacinrecogidaenlasbasesdedatosnoseencuentrabienestructuradaresultandodifcildeexplotardesdeelpuntodevistaestadsticoporloqueparasuutilizacinesnecesariounprocesodetratamientoyanlisisexhaustivodelosdatosallrecogidosquellamaremosmineradedatos.Laminera de datos se engloba dentro de un procesoms amplio conocido comoextraccindeconocimientoenbasesdedatos,sibienalgunasvecesydebidoaquelafronteraentreambosconceptosnoesclara,suelenutilizarsecomosinnimos.

    Imagen1:Fasesdelprocesodeextraccindeconocimientoenbasesdedatos

    Enunprocesodemineradedatosserealizandiferentestareas: Descriptivas:Paraidentificarpatronesqueexplicanoresumenlosdatos. Predictivas:Permitenestimar valores futurosodesconocidosde variablesde

    inters,apartirdeotrasvariablesdelaBasedeDatos.Paraconseguiresosobjetivos,elinvestigadorpuedeutilizardiferentestcnicascomo:

    Sistemasdeagrupamiento:Consisteenobtenergruposnaturalesapartirdelosdatos.Tambinseconocecomosegmentacinoclustering.

    Reglasde asociacin: Suobjetivo es identificar relacionesno explcitas entrevariablescategricas.

    Reglasdeasociacinsecuenciales:Casoparticularde lasreglasdeasociacin,enelquesebuscanrelacionestemporalesenlosdatos.

    Correlaciones: Proporcionan informacin sobre el grado de similitud entrevariablescuantitativas.

    Clasificacin:Cadaobjetopertenece auna clase, indicadaporel valordeunatributo. El objetivo es predecir la clase a que pertenecen nuevos objetos apartirdelasrestantesvariables.

    Regresin:Suobjetivoespredecirelvalorquetomaunavariablecuantitativaennuevosobjetosapartirde la informacinproporcionadapor las restantesvariables.

  • 5

    2.SoftwaredisponibleparaaplicartcnicasdemineradedatosActualmente existen varios paquetes y complementos, cada uno con sus propiascaractersticas, que permiten aplicar diferentes tcnicas de minera de datos alconjuntodedatos conelque trabajemos.Presentamoseneste captuloalgunosdeellos.

    2.1.XLMiner

    XLMiner es un complemento para Excel, confuncionamientomediantemacros, que permitemuchostipos de anlisis tanto para datos de tipo cortetransversal,comosecuenciastemporales.

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

    Afavordeesteprogramasepuededecirque: Posee un buenmanual que se encuentra dentro de la seccin ayuda, que

    describelosdistintosmtodosyparmetros. Presentaopcionesdeconfiguraciny trabajo (interface)amigablesparacada

    mtodo. Losformatosdepresentacinderesultadoscomogrficostablaseindicadores

    decambiossonmuyordenadosytienenbuenformato. Existenmuchosvideostutorialesparalosdistintosmtodosqueindicanpasoa

    pasoqusenecesitahacer.Encontradeesteprogramatenemosque:

    XLMineresaccesiblecomoherramientadepruebaporunperiodolimitadode30das.

    Sedebepagarporteneraccesoalaversinquenolimitaeltamaodelabasededatos.

    No posee indicadores de errores claros. Como XLMiner trabaja en base amacrosdeExcel,alparametrizaralgunaoperacin condatos inadecuados, laoperacinseinterrumpe,siendoimposiblederecuperarloltimorealizado.

  • 6

    Finalmente el programa puede descargarse desde la web del creadorhttp://www.solver.com/xlminer/, tras rellenar el formulario para la versin pruebaqueseencuentraalfinaldelapgina.

    2.2.MatlabMATLAB (abreviatura deMATrix LABoratory) es un entorno decomputacin y desarrollo de aplicaciones totalmente integradoorientadopara llevara caboproyectosendonde seencuentrenimplicados elevados clculos matemticos y la visualizacingrficadelosmismos.

    Este programa dispone tambin de un amplio abanico de programas de apoyoespecializado, denominados Toolboxes, que extienden significativamente el nmerode funciones incorporadas en el programa principal. Estos Toolboxes cubren en laactualidadprcticamentecasitodaslasreasprincipalesenelmundodelaingenieraylasimulacin.MATLABtambinseproveedeunlenguajedeprogramacinpropio,similaraldeotroslenguajes como Fortran o C. A travs de este lenguaje, el usuario puede realizarcualquiertipoderegresindisponibleobiencrearunprocesodevalidacincruzadaamedida.EnrelacinaestetrabajodestacaremoslassiguientesToolboxes:

    Statistics Toolbox: Combina algoritmos estadsticos con interfaces grficasinteractivas.

    Nnet: Herramientas para el procesado de redes neuronales. Se subdivideprincipalmenteen: nnet\nnetNeuralNetworkToolbox:

    LaNeuralNetwork Toolbox es un paquete deMatlab que contiene unaseriede funcionespara crear y trabajar con redesneurolales artificiales.As pues, proporciona las herramientas para el diseo, la puesta enprctica,lavisualizacin,ylasimulacinderedesneuronales.Las redes neuronales son herramientas de gran alcance en situacionesdonde sera difcil o imposible el anlisis formal, por ejemplo elreconocimientodepatronesy la identificacinyelcontrolno linealesdelsistema. LaNeuronalNetwork Toolbox tambin proporciona una interfazgrficaquepermitedisear ymanejar las redesqueelusuariodesee.Eldiseo modular, abierto, y extensible de la Neuronal Network Toolboxsimplifica la creacin de funciones y de redes. En resumen, comoprincipalescaractersticaspresenta:

  • 7

    Interfaz grfica (GUI) para crear, entrenar, y simular a sus redesneuronales,ascomoayudaalusuariodelasarquitecturasderedes supervisadasynosupervisadasmscomunes.

    Un sistema sencillo para realizar el entrenamiento y creacin defuncionesdeaprendizaje.

    Representacin modular de la red, permitiendo un nmeroilimitadode laentradaquefijacapas,e interconexionesde lared,ascomofuncionesparamejorarelentrenamiento,funcionamientoyvisualizacindelamisma.

    nnet\nncontrolNeuralNetworkToolboxControlSystemFunctions:Proveeunconjuntodefuncionesparamedirycontrolarelsistemaderedesneuronalesconstruido.

    nnet\nndemosNeuralNetworkDemonstrations:Conjuntodemuestrasderedesneuronales.

    Finalmente,setratadeunprogramacomercialpor loqueparasuusosehadepagaruna licencia. Para obtenerms informacin sobreMATLAB se puede acceder a lapginaoficialdeestaherramienta:http://www.mathworks.es/products/matlab/

    2.3.IBMSPSSModeler

    Se tratadeunproductode laempresa IBMSPSSquepermite,mediante una interfaz grfica, aplicar tcnicas deminera dedatos para descubrir patrones y tendencias en datosestructuradosonoestructurados.

    IBM SPSS es una empresa reconocida como lder en anlisis predictivo. Susaplicaciones tienen una buena visibilidad y fuerza de ventas en el mercado y esconsideradaporalgunosexpertoscomounode losmejoresproveedoresdesoftwaredemineradedatos.

  • 8

    ConIBMSPSSModelersepuedevisualizargrficamenteelprocesollevadoacabo,ascomo crear nuevas funciones que se aaden a las ya implementadas. Adems seproveedeunaseriedemdulosquepermitenrealizarunanlisisdemineradedatoscongrandesvolmenesdedatos.

    Imagen2:DiagramadeflujodelprocesoconSPSSModeler

    Enloreferidoatcnicasdemineradedatos,estaherramientaproporcionadiferentesmtodossegnelprocesoquevayamosarealizar;algunasdeellasson:

    Segmentacin:Kmedias,Kohonen,Bietpico,Anomala. Asociacin:Apriori,GRI,CARMAyAnlisisdeSecuencia. Clasificacin:Factorial,Discriminante,RedNeuronal,C5.0,GLM,Mquinasde

    VectoresdeSoporte,RedesBayesianas,Modelosdeautoaprendizaje,Vecinomsprximo,rboles,ListasdeDecisin,Seleccindecaractersticas,etc.

    Prediccin:Regresin Lineal, Series Temporales,RegresindeCox,RegresinLogstica.

    Automticos:Autonumrico,Autoclasificador,AutoAgrupacin,ModelizadorARIMAautomtico.

    Finalmente y al igual que en los programas anteriores se trata de un programacomercialysehadepagarunalicenciaparasuuso.ParaobtenermasinformacinsobreIBMSPSSModelersepuedeconsultarlawebdelfabricante:http://www-01.ibm.com/software/analytics/spss/products/modeler/

  • 9

    2.4.SASEnterpriseMinerSAS Enterprise Miner agiliza el proceso deminera de datos para crear modelospredictivos y descriptivos de alta precisin

    paragrandesvolmenesdedatos.Ofreceunasencilla interfazgrfica que integraelconjuntodeherramientasnecesarioparalatomadedecisiones.La solucin EnterpriseMiner se basa en lametodologa SEMMA (Sample, Explore,Modify,Model,Assess)desarrolladaporSASInstituteypuededefinirsedelasiguienteforma:

    Muestra(Sample):Consisteenidentificarlosdatos. Explora(Explore):Sufuncinsetraduceenexplorarlosconjuntosdedatospara

    observarhuellas inesperadas,relaciones,patrones,uobservaciones inusuales,connodospararepresentarlosdatos,generarunaampliavariedaddeanlisis,identificarlasvariablesimportantes,orealizaranlisisdeasociacin.

    Modificar (Modify):Consisteenpreparar losdatosparaelanlisis.Losnodospuedencrearvariablesadicionaleso transformar lasvariablesexistentesparaelanlisismediante lamodificacino latransformacinde laformaen laquelas variables se utilizan en el anlisis, filtrar los datos, sustituir los valoresperdidos,condensarycontraer losdatosenpreparacinparaelmodeladodeseries,orealizaranlisisdeconglomerados.

    Modelo(Model):Dondeseadaptaelmodeloestadstico.Losnodospredicenlavariable objetivo en funcin de las variables de entradamediante el uso decualquier mtodo: mnimos cuadrados o regresin logstica, rboles dedecisin,redesneuronales,redesdmneural,definidoporelusuario,conjunto,vecinomscercano,oelmodeladodedosetapas.

    Evaluar (Asses): Donde es posible comparar la exactitud entre losmodelosestadsticos,connodosparacomparareldesempeode losdiversosmodelosde clasificacinmediante lavisualizacinde lasestimacionesdeprobabilidadencompetenciade losgrficosdeelevacin,grficosROCytablasdeumbral.Para diseos demodelado predictivo, el rendimiento de cadamodelo y lossupuestos del modelo pueden ser verificados a partir de las parcelas deprediccinygrficosdediagnstico.

    Entrelasprincipalescaractersticasdeestaherramientadestacan:

    Elaccesoalosdatos,lagestinylalimpiezaseintegranalaperfeccin,porloqueesmsfcildeprepararlosdatosparaelanlisis.

    Alta integracin conotrasbasesdedatosdebido a la granexperienciade laempresaparaoperarcongrandesvolmenesdedatos.

    Proporciona slidasherramientasdemodificaciny seleccinde losdatos loque redundar en unamejora de su calidad, en unmejormodelado y enresultadosmsfiables.

    Unentornodinmicoeinteractivoqueestoptimizadoparavisualizarlosdatosycomprendersusrelaciones.

  • 10

    Ofrece uno de los conjuntos ms completos de algoritmos avanzados demodeladopredictivoydescriptivo, incluyendorbolesdedecisin, splinesderegresin,redesneuronales,regresinlinealylogstica,regresinpormnimoscuadradosparciales,ymuchosms.Tambinse incluyenmodelosespecficosdelaindustriatalescomolapuntuacindecrditoyratemakingparaelseguro.

    Enresumen,setratadeunadelasherramientasconmspotenciadelmercadodesdeelpuntodevistadetrabajarcongrandesbasesdedatos;sinembargo,contrastaconelaltoprecioquesehadepagarporsulicencia.

    Imagen3:ResultadodeaplicarunanlisisClusterconSASEnterpriseMiner

    Para obtenerms informacin de esta herramienta se puede acceder a travs delsiguienteenlace:http://www.sas.com/technologies/analytics/datamining/miner/2.5.SalfordSystemsDataMining

    Salford Systemsesunaempresaespecializada,entreotrastareas,enlaelaboracindesoftwaredeminerade datos y consultora. A este respecto ofrece lossiguientesproductos:

    Software CART: ofrece una clasificacin multiplataforma robusta, con una

    ampliavariedaddeanlisisdealtaprecisindemineradedatos.Es lanicaherramientabasadaenrbolesdedecisinsegn lametodologadesarrolladaporlaUniversidaddeStanfordylaUniversidaddeBerkeleyenCalifornia.

  • 11

    Imagen4:VentanaderesultadosenCART

    TreeNet:Basadaenrbolesdedecisionesimpulsadas.TreeNetesunsistemadeaproximacin de funciones y que tambin sirve como herramienta deexploracininicialdelosdatos.

    RandomForests:Ofrecemodelos predictivos de alto rendimiento e incorporanuevosanlisisdeclsterdemtricalibre.

    SPM Salford Predictive Modeler: Cuenta con caractersticas adicionalesorientadasamejorarlosmodelospredictivos.

    Parautilizarcadaunodeestosprogramassehadepagarsucorrespondientelicencia.Finalmenteparaobtener informacin sobrecadaunodeellos sepuedeconsultar lawebdeSalfordSystemsatravsdelenlace:http://www.salfordsystems.com/

    2.6.OracleDataMiningOracle Data Mining (ODM) es una herramienta de softwaredesarrollada por la empresa Oracle para aplicar tcnicas demineradedatosagrandesvolmenesdedatos.

    Atravsdeestaherramientaserealizarelprocesode importacinde losdatos,supreparacin,ascomoeldesarrolloydesplieguedelmodelo.LaherramientaODMestbasadaenunesquemade flujode trabajo,similaraotrasherramientas de minera de datos, siendo una extensin del SQLDeveloper,permitiendoanalizarlosdatos,explorarlosdatos,construiryevaluarmodelosyaplicarestosmodelosanuevosdatos,ascomocompartirestosmodelosenaplicacionesenlneaentregando resultadosen tiempo real.Laherramienta integra todas lasetapas

  • 12

    delprocesodelamineradedatosypermiteintegrarlosmodelosenotrasaplicacionesconobjetivossimilares.ODM funciona dentro de la base de datos deOracle, as que no hay necesidad deexportarlosarchivosaunpaquetedesoftwareestadsticofueradelabasededatos,loque reduce los costos y mejora la eficiencia. Con un lenguaje de procedimientointegrado/ lenguaje de consulta estructurado (PL / SQL) e interfaces de Java deprogramacin de aplicaciones (API), Oracle DM permite a los usuarios construirmodelos.ODMofrecedosversiones,unaen laqueatravsdeuna interfazgrfica losusuariospodrn aplicar las tcnicas demineras de datos que consideren necesarias y unaversin en la que los desarrolladores podrn utilizar la API de SQP para crearaplicacionesamedida.

    Imagen5:VentanaprincipaldeOracleDataMiner

    SetratadelaherramientamspotenteparatrabajarconbasesdedatosdeOracle,sibienhabrquepagarunalicenciaporsuuso.Para obtenerms informacin sobre la herramienta se puede consultar su seccindentro de la web de Oracle a travs del siguiente enlace:http://www.oracle.com/products/database/options/advancedanalytics/index.html

  • 13

    2.7.RapidMinerEsta herramienta forma parte del proyecto Rapidi. Esteproyecto naci en 2006 como SpinOff de la Universidad deDortmund,donde se inaugur laprimeraversindel softwareen2001.

    Rapidicuentacondoscomponentes: RapidMiner: Versin standalone para analistas. Implementa todos los

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

    RapidAnalytics:VersinServidordeRapidMiner.Permitetrabajocolaborativo,escalableyconcurrentedemltiplesusuarios,capacidaddedelegarenbasesde datos (InDatabase Mining) y otras mejoras de funcionalidad como:plataformaWebdepublicacinde informes, implementacinde sistemasdescoring,diseoynavegacinWebdeinformes,SinglesignoneintegracinvaServiciosWeb,entreotras.

    RapidMiner permite el desarrollo de procesos de anlisis de datos mediante elencadenamientodeoperadoresatravsdeunentornogrfico.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 ofrecems de 500 operadores para todos los principalesprocedimientos de mquina de aprendizaje, y tambin combina esquemas deaprendizajeyevaluadoresdeatributosdelentornodeaprendizajeWeka.

  • 14

    Imagen6:rbolesdedecisinconRapidminer

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

    2.8.KNIMEKNIME(Konstanz InformationMiner)esunaplataformadecdigoabiertodefcilusoycomprensiblepara integracindedatos,procesamiento,anlisisyexploracin.

    Esta herramienta fue desarrollada originalmente en el departamento deBioinformticayMineradeDatosde laUniversidaddeConstanza,Alemania,bajo lasupervisindelprofesorMichaelBerthold.En laactualidad, laempresaKNIME.com,radicada en Zrich, Suiza, contina su desarrollo, adems de prestar servicios deformacinyconsultora.KNIMEofrecealosusuarioslacapacidaddecreardeformavisualflujosotuberasdedatos,ejecutarselectivamentealgunosotodos lospasosdeanlisis,y luegoestudiarlosresultados,modelosyvistasinteractivas.Estdesarrollado sobre laplataformaEclipseyprogramado,esencialmente,en Java.Comootrosentornosdeestetipo,suusosebasaeneldiseodeunflujodeejecucinqueplasmelasdistintasetapasdeunproyectodemineradedatos.Paraello,KNIMEproporcionadistintosnodosagrupadosenfichas,comoporejemplo:

    a) Entradadedatos[IO>Read]b) Salidadedatos[IO>Write]

  • 15

    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) Salidaderesultados [DataViews]paramostrarresultadosenpantalla (yaseadeformatextualogrfica)

    Por otro lado, a travs de plugins, los usuarios pueden aadirmdulos de texto,imgenes,procesamientodeseriesdetiempoy la integracindevariosproyectosdecdigoabierto,talescomoel lenguajedeprogramacinR,WEKA,elkitdedesarrollodeQumicayLIBSVM.

    Imagen7:rbolesdedecisinconKNIME

    Finalmente se tratadeunaherramientamultiplataformaquepuede serdescargadajuntoconsudocumentacinatravsdelenlacehttp://www.knime.org/.

    2.9.RResunentornoestadsticotremendamentepotenteycompleto.LasllamadasaRserealizanenlneadecomando,sibienexistenalgunasinterfaces grficas (Rcommander, etc) que facilitan el uso de esteprograma. Fue desarrollado inicialmente por el Departamento deEstadsticadelaUniversidaddeAuckland,NuevaZelanda,en1993.

    R es un lenguaje de programacin y entorno de software de cdigo abierto paracomputacin y grficosestadsticos.Proporcionamltiples tcnicaspara simulacin,modeladolinealynolineal,anlisisdeseriestemporales,pruebasestadsticasclsicas,clasificacin,agrupacinenclsteres,etc.ElentornodeRsecaracterizaporsuflexibilidadeincluye,entreotros:

    Unbuengestordedatos. Unconjuntodeoperadoresparaclculosenarrays(vectoresdegrantamao) Unconjuntointegradodeherramientasdeanlisisdedatos.

  • 16

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

    funcionesrecursivasdefinidasporelusuarioycapacidadesdeentradaysalida.En relacin al proceso de minera de datos, R posee gran cantidad de paquetesestadsticostilespararealizaresteproceso;enespecial,destacaremos:

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

    Imagen8:InterfazdeRattle

    Caret: que, ms all de integrar diversos algoritmos, incluye funcionesauxiliares tiles para seleccionar modelos, comparar la importancia defunciones,realizarvalidacionescruzadas,etc.,utilizandounasintaxiscoherenteyhomognea.

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

    Se trata de un software libre, distribuido bajo licencia GPL, muy extendido en lacomunidaduniversitariayqueestllamadoacobrarunpapelcadavezmsrelevanteenelmundodelasaplicacionesprofesionalesydelaempresa.Tanto el programa como los paquetes estadsticos y su documentacin asociadapuedendescargarseatravsdelawebdelproyectoR:http://www.rproject.org/.

    2.10.Orange

    Se trata de una suite para minera de datos y aprendizajeautomtico, desarrollado en la Facultad de Informtica de laUniversidaddeLjubljana(Eslovenia)

  • 17

    Esta herramienta cuenta con un fcil y potente, rpido y verstil frontend deprogramacin visualparael anlisisexploratoriodedatos y visualizacin, y libreriasparaPythonysecuenciasdecomando.Contiene un completo juego de componentes desarrollados en C++. parapreprocesamiento de datos, caractersticas de puntuacin y filtrado, modelado,evaluacin del modelo y tcnicas de exploracin. A estos componentes se puedeaccederdedosformas:

    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

  • 18

    Finalmente, si se desea descargar y conocerms en profundidad la herramienta esrecomendablevisitarlapginawebdesuscreadores:http://orange.biolab.si/.

    2.11.WEKA

    WEKA,acrnimodeWaikatoEnvironment forKnowledgeAnalysis, es un conjunto de libreras JAVA para laextraccin de conocimiento desde bases de datos. Estconstituido por una serie de paquetes de cdigo abiertocon diferentes tcnicas de preprocesado, clasificacin,agrupamiento,asociacinyvisualizacin.

    Se tratadeun softwaredesarrolladoen laUniversidaddeWaikato (NuevaZelanda)bajolicenciaGNUGPLlocualhaimpulsadoqueseaunadelassuitesmsutilizadasenelreaen losltimosaos.Setratadeunaherramientadegranpotencia,sibiennotiene implementados,a fechadehoy,algoritmospara larealizacindeunmodeladodesecuencias.Tanto laaplicacincomo losmanualesdereferenciasepuedendescargaratravsdelawebdelproyecto:http://www.cs.waikato.ac.nz/ml/weka/.Dado que este es el programa que utilizaremos en nuestro trabajo, pasamos aestudiarloenprofundidadenelsiguienteapartado.

  • 19

    3.IntroduccinaWEKA3.1.IntroduccinWEKA,acrnimodeWaikatoEnvironmentforKnowledgeAnalysis,esunentornoparaexperimentacin de anlisis de datos que permite aplicar, analizar y evaluar lastcnicas ms relevantes de anlisis de datos, principalmente las provenientes delaprendizajeautomtico,sobrecualquierconjuntodedatosdelusuario.Esteprograma sedistribuye como softwarede libredistribucin (licenciaGNUGPL)desarrolladoen Javaydisponede tresentornosde trabajogrficosyunentornoenmodoconsola,permitiendo la implementacindealgoritmosparapreprocesamientode datos, clasificacin, regresin, clustering, seleccin de atributos, reglas deasociacin,etc.EldesarrollodeWEKAseinicien1993enlaUniversidaddeWaikato(NuevaZelanda)siendo la primeraversinpblicaWeka2.1 ladelao1996.Actualmente, laltimaversindeWEKAesla3.6estandodisponibleparalosprincipalessistemasoperativostantolibrescomocomerciales.WEKAsepuededescargarenlawebdelaUniversidaddeWaikatoatravsdelenlacehttp://www.cs.waikato.ac.nz/ml/weka/. Se puede consultar desde el manual dereferencia para la aplicacin y otras publicaciones relacionadas, como descargarejemplospararealizarensayosconestaherramienta:

    Imagen10:WebdeWEKA

  • 20

    El potencial usuario podr descargar e instalarWEKA siguiendo las directrices delmanualdereferencia.Unavezlainstalacinsehayarealizadodeformacorrectapodraccederalaherramientacuyainterfazdeiniciosemuestraacontinuacin:

    Imagen11:InterfazprincipaldeWEKA

    A travs de la intefaz se puede acceder a las distintas aplicaciones que componenWEKA; esto es, Simple Cli, Explorer, Experimenter y Knowledge Flow. Todas estasherramientasseexplicarnenlossiguientespuntosdeestecaptulo.

    3.2.LosdatosWEKAutilizaun formatodedatosdenominadoarff (AttributeRelationFileFormat).Cadaunodeestosficherosconstade3partes:

    Cabecera.Definidapor:@relation Declaracindeatributosovariables.Atravsde:

    @attributesiendoelvalordetipo:string,numeric,integer,dateonominal.

    Seccindedatos.Definidosdelasiguienteforma: @data dondesetendrunalneaparacadaregistro,losvaloresestarnseparadospor comasylosvaloresperdidosserepresentanmedianteelcarcter?.Ademsesposibleescribircomentariosenesefichero,precedidosdelcaracter%.

  • 21

    Imagen12:Ejemplodeficherodedatosarff3.3.SimpleCLISe tratadeunade lasaplicacionesa laquesepuedeaccedera travsde la interfazprincipaldeWEKA.

    Imagen13:InterfazdeSimpleCLI

    Simple CLI es la abreviatura de Simple CommandLine Interface (Interfaz Simple deLneadeComandos) y sedefine comouna ventanade comandos java.Nace con laprimeraversindeWEKAyatravsdeellaseejecutan lasclasesall implementadas.Hoy da y debido a la aparicin de las otras aplicaciones que componenWEKA esmenosutilizada,yaqueestasnuevasherramientasconstandeinterfacesgrficasquefacilitansuusoporpartedelusuario.Enlainterfazsepuedenejecutarlossiguientescomandos:

    java:PermiteejecutarunadeterminadaclasedeWEKA.

    break:Detienelatareaactual.

  • 22

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

    3.4.ExplorerSetratadeotradelasaplicacionesalaqueseaccedeatravsdelainterfazprincipaldeWEKA.Estaherramientapermite,entreotrastareas, llevaracabo laejecucindelos algoritmos de anlisis implementados sobre los ficheros de entrada. A estasfuncionalidadessepuedeaccederatravsdelassiguientespestaas:

    Preprocess:permite lavisualizacinypreprocesadode losdatos (aplicacindefiltros)

    Classify:tilparalaaplicacindealgoritmosdeclasificacinyregresin. Cluster:conjuntodetcnicasdeagrupacin. Associate:mtodosdeasociacin. SelectAttributes:seleccindeatributos. Visualize:visualizacindelosdatosporparejasdeatributos.

    Al entrar en la aplicacin, la interfaz aparecer vaca, mientras que la pestaaPreprocessestseleccionada.

    Imagen14:InterfazdeExplorerconlapestaaPreprocessactivada

  • 23

    3.4.1.PestaaPreproccesEstaes laprimerapestaade laaplicacinyes imprescindiblepararealizarcualquiertipodeanlisispuesesenelladonde introduciremos losdatoscon losquevamosatrabajar,bienatravsdeunfichero(Openfile),bienatravsdeunaurl(OpenURL),basesdedatos(OpenDatabase)obienintroduciendolainformacindirectamenteenlaaplicacin(Generate)Sien lawebdeWEKAhemosdescargadopreviamenteel ficheroweather.arff,ahorapodremoscargarlopulsandoelbotnOpen file,siendoelresultadodeelloelquesemuestraenlasiguienteimagen.

    Imagen15:PestaaPreprocessconelficheroweather.arffcargado

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

    Atributos:Actan en verticalen labasededatos,modificandoun atributocompleto.Ejemplo:Filtrodediscretizacin.

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

  • 24

    ParavisualizarlosfiltrosbastarapulsarelbotnChoosedentrodelaseccinFilter.Esahdondeseleccionaremosquefiltroutilizarenfuncindenuestroobjetivo.Losfiltrossedividenen:

    No supervisados: en su funcionamiento no interviene ningn algoritmoexterno.

    Supervisados:actanenconjuncinconclasificadoresparaanalizarsuefectoyguiarsuactuacin.

    Por ejemplo, el filtro no supervisado Discretice divide el recorrido del atributonumricoenintervalos,quepuedenserdelamismaamplitudoconelmismonmerodeobservaciones(aproximadamente).Ademssecreaunatributonominalenelquecadacategoracorrespondeaunintervalo.

    Imagen16:SeleccindeltipodefiltroenlapestaaPreprocess

    3.4.2.PestaaClassifyEnestapestaasepodrdefiniryresolverunproblemadeclasificacin.Puedeocurrirque,enocasiones,elproblemadeclasificacinseformulecomounrefinamientoenelanlisis,unavezquesehanaplicadoalgoritmosnosupervisadosdeagrupamientoyasociacinparadescribirrelacionesdeintersenlosdatos.Adems se busca construir un modelo que permita predecir la categora de lasinstanciasen funcindeuna seriede atributosdeentrada. Enel casodeWEKA, laclaseessimplementeunodelosatributossimblicosdisponibles,queseconvierteen

  • 25

    lavariableobjetivoapredecir.Pordefecto,eselltimoatributo(ltimacolumna)anoserqueseindiqueotroexplcitamente.

    Imagen17:PestaaClassify

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

    Use training set:Enestaopcin seentrenarelmtodo con todos losdatosdisponiblesyluegoseaplicarsobrelosmismos.

    Supplied test set: Marcando esta opcin tendremos la oportunidad deseleccionarunficherodedatosconelqueseprobarelclasificadorobtenidoconelmtododeclasificacinusadoylosdatosiniciales.

    Crossvalidation:Laherramienta realizarunavalidacincruzadaestratificadadelnmerodeparticionesdado(Folds).

    Percentagesplit:Sedefineunporcentajedelosdatosconelqueseconstruirelclasificadoryconlaparterestanteserealizarnlaspruebas.

    Para introducirmsopciones (OutputModel,Outputperclass stats,Outputentropyevaluation mesures, Output confusion matrix ) pulsaramos el botnMore options.FinalmenteypulsandoelbotnStartsepodrnvisualizar losresultadosen laseccinClassifieroutputenfuncindelquehayamosseleccionadoenlaseccinResultlist.

  • 26

    3.4.3.PestaaClusterWEKAofrecedistintasposibilidadesdeaplicaralgoritmosdeclustering(oclasificacinnosupervisada)sobrelosdatos.Lastcnicasdeclusteringseutilizanenbasesdedatosnosupervisadasenlasquelavariableclasenoexiste(onosehadefinido).Aspueselobjetivo fundamental de esta tcnica es descubrir (class discovery) dichas clases oestructuras diferenciadas en los datos de estudio. El programaWEKA ofrece en lapestaaClustervariosalgoritmosdecluster,entreelloseldeKmediasyelEM.

    Imagen18:PestaaCluster

    LadistribucindelasseccionesyopcionesdelaseccinClusteresmuysimilaraldelapestaaClassify.Porlotanto,unavezelegidoelmtododeclustering,seseleccionanlasopcionespertinentes,conelbotnStartseejecutaelprocesoyen lasseccionesResultlistyClustererouputsevisualizarnlosresultados.3.4.4.PestaaAssociateEn estapestaa elusuariopodr realizardiferentes algoritmosde asociacin. Estosalgoritmospermiten labsqueda automticade reglasque relacionan conjuntosdeatributos entre s. Son algoritmosno supervisados, en el sentidodequeno existenrelacionesconocidasaprioricon lasquecontrastar lavalidezde los resultados,sinoqueseevalasiesasreglassonestadsticamentesignificativas.

  • 27

    Imagen19:PestaaAssociatePulsando el botn Choose elegiremos el algoritmos de asociacin que deseemos ypulsando Start obtendremos los resultados que se podrn visualizar a travs de lasseccionesResultlistyAssociatoroutput.3.4.5.PestaaSelectattributesEnestapestaatrataremosdedeterminarquatributosformarnpartedelmodelo;es decir, eliminaremos aquellos atributos que resulten redundantes e irrelevantes.Adems,sihayunnmeroexcesivodeatributospuedeconllevaraobtenerunmodelodemasiadocomplejoyseproduzcasobreajuste.EnWEKA, laseleccindeatributossepuedehacerdevariasmaneras,siendo lamsdirectalaqueserealizaatravsdeestapestaa.Enellatenemosqueseleccionar:

    Elmtododeevaluacin (AttributeEvaluator):es la funcinquedetermina lacalidaddelconjuntodeatributosparadiscriminarlaclase.Sepuedendistinguirentre losmtodos que directamente utilizan un clasificador especfico paramedir lacalidaddelsubconjuntodeatributosa travsde la tasadeerrordelclasificadorylosqueno.

    Elmtododebsqueda(SearchMethod):eslamaneraderealizarlabsquedadeconjuntosdeformaeficiente.

    Unavezseleccionadoalgunodeestosmtodospodremosdeterminarlaformaenqueseleccionaran los atributos (usando un conjunto completo de entrenamiento omediantevalidacincruzada)enlaseccinAttributeSelectionMode.Finalmente los resultados obtenidos se podrn visualizar a travs de las seccionesResultlistyAssociatoroutput.

  • 28

    Imagen20:PestaaSelectattributes3.4.6.PestaaVisualizeEnltimolugar,aunquesuutilizacinpuedeserrecomendableenlasprimerasetapasdelprocesodeanlisis,seencuentralapestaaVisualize.LaherramientadevisualizacindeWEKApermitepresentargrficos2D interactivosque relacionenparesdeatributos,con laopcindeutilizaradems loscoloresparaaadir informacindeun terceratributo.Adems,permitedetectargrficamente laexistencia de asociaciones y correlaciones entre atributos, as como seleccionarinstanciasdeformagrfica,quepuedenseralmacenadasposteriormenteenformatoarff.Al pulsar sobre la pestaa, aparecern los grficos correspondientes a todas lascombinaciones posibles de atributos. Debajo de ellos aparecen varias opciones deedicindegrficos:

    Plotsize:indicaeltamaodelgrficoenpxeles. PointSize:defineeltamaodelpuntoenpxeles. Jitter: Crea un ruido aleatorio a las muestras, de manera que espacia las

    muestrasqueestn fsicamentemuyprximas,esto tienetilidad cuando seconcentrantantolospuntosquenoesposiblediscernirlacantidaddestosenunrea.

    Color:Indicaloscoloresqueseutilizarnparalasclasesdelosatributos.Podremos visualizar los cambios efectuados en el diseo de los grficos pulsandoUpdate,modificar el nmero de atributos que se van a representan eligindolos atravsdelbotnSelectattributeseindicareltamaodelasubmuestra(SubSample)

  • 29

    Imagen21:PestaaVisualizeFinalmente pulsando sobre cada grfico podemos verlo ampliado y modificar susatributos a travs de las opciones que existen al respecto, as como guardar enunficheroarfflosdatosallvisualizados.

    3.5.ExperimenterSetratadeotradelasherramientasqueaparecenenlainterfazinicialdeWEKAyconellatrataremosdecompararelrendimientodelosdistintosalgoritmosimplementadosen la aplicacin. Adems permite aplicar diferentes algoritmos sobre diferentesconjuntos de datos, lo que resultamuy til para realizar contrastes de hiptesis oelaborar indicadoresestadsticos; resultandode gran importanciaen problemasdeclasificacinyregresin.Al accederaestaherramienta se visualizan,en laparte superior, trespestaasqueanalizamosacontinuacin:3.5.1.PestaaSetupEnella,Experimentersepuedeconfigurardedosformas,SimpleoAdvanced:

  • 30

    ConfiguracinSimple:Es la configuracin que aparece por defecto cuando se pulsa la pestaaExperimenter.Enellahabrquedefinirun fichero configuracinque contendrtodoslosajustes,ficherosinvolucrados,notas,etc,pertenecientesalexperimentoyunficherodesalidadondeseguardarnlosresultados.Seguidamenteen laseccinExperimentTypese introducireltipodevalidacinque tendr el experimento; esto es, validacincruzada estratificada,entrenamiento con un porcentaje de la poblacin tomando ese porcentaje deformaaleatoriayentrenamiento conunporcentajede lapoblacin tomandoelporcentajedeformaordenada.En la seccin Datasets indicaremos qu archivos de datos formarn parte delexperimento y debajo se encuentra la opcinUse relative paths, que se utilizaparaquelasreferenciasalosficherosseanrelativas.

    Imagen22:PestaaSetupconconfiguracinSimpleEn la seccin Iteration Control se introducir el nmero de repeticiones delexperimento,especificando si sequiereque se realicenprimero losarchivosdedatosolosalgoritmos.DebajodelaseccinAlgoritmselusuariopodrintroducir,modificaroeliminarelalgoritmoquedesee. ConfiguracinAdvanced:Estaconfiguracinestorientadaarealizartareasespecficasmsconcretasquelas obtenidas a travs de un experimento sencillo. A travs de esta opcin esposible repetir el experimento variando el tamao del conjunto de datos,distribuir la ejecucin del experimento entre varios ordenadores o realizarexperimentosdemodoincremental.

  • 31

    Paracomenzaratrabajarsehade introducirel ficheroconfiguracin,un ficherode resultados e introducir y configurar elmtodo generador de resultados quevamosautilizar.WEKApermitelossiguientesmtodos:

    CrossValidationResultProducer: Genera resultados fruto de una validacin

    cruzada. AveragingResultProducer:Toma los resultadosdeunmtodogeneradorde

    resultadosysecalculanlospromediosdelosresultados. LearningRateResultProducer: Llama a unmtodo generador de resultados

    parairrepitiendoelexperimentovariandoeltamaodelconjuntodedatos. RandomSplitResultProducer:Creaunconjuntodeentrenamientoydeprueba

    aleatorioparaunmtododeclasificacindado. DatabaseResultProducer:Apartirdeunabasededatostoma losresultados

    quecoincidenconlosobtenidosconunmtodogeneradorderesultados.

    Imagen23:PestaaSetupconconfiguracinAdvanced.Unavezseleccionadoelgeneradorderesultadospodemoseditaralgunasdesuspropiedades, adems de aadir algoritmos, en la seccinGenerator properties,mientrasqueenlaseccinRunssepuedeseleccionarlasiteracionesconlaqueserealizarelexperimento.Una de las caractersticas ms interesantes del modo experimentador es quepermite distribuir la ejecucin de un experimento entre varios ordenadoresmediante Java RMI. Esta tarea se llevar a cabo en la seccin Distributeexperiment.OtrasseccionesdelaherramientasonIterationcontrol,queesdondeseestableceelordendelaiteracinyDatasets,dondesedefinenlosconjuntosdedatossobrelosqueactuarnlosalgoritmosdeaprendizaje.

  • 32

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

    Imagen24:PestaaRun

    3.5.3.PestaaAnalyseEnestapestaaanalizaremos losdatos;esdecir,podremosver losresultadosde losexperimentos,realizarcontrastesestadsticos,etc.

    Imagen25:PestaaAnalyse

  • 33

    Unavezseleccionados,enlaseccinSource,losdatosdelosresultados(pulsandoFile,DatabaseoExperiment)sedefineeltestquequeremosrealizarenlaseccinConfiguretest;quetendrcomoopciones:

    Testingwith:Seleccindeltestquevamosaaplicar. Row:Definelosatributosqueactuarncomofilasenlamatrizderesultados. Column: Define los atributos que actuarn como columnas en lamatriz de

    resultados. Comparisonfields:Elatributoquevaasercomparadoenelcontraste. Significance:Niveldesignificacinpararealizarelcontrasteestadstico. Sorting(asc.)by:Obtenerlosresultadosordenadosdeformaascendentesegn

    unatributo. Testbase:Seleccionamosqualgoritmode losutilizadosseusadebasepara

    realizareltest. DisplayedColumns:Columnasquesevanamostrar. Showstd.Deviations:Marcamossiqueremosquesemuestrenlasdesviaciones

    tpicas. OutputFormat:Sideseamosalmacenarlosresultadosdelexperimento.

    Finalmente pulsando Perform test realizaremos el experimento cuyos resultados sevisualizarnenlaseccinTestoutput.

    3.6.KnowledgeFlowLaherramientaKnowledgeFlow(flujodeconocimiento)muestradeunaformagrficaeldesarrollodelexperimentoqueserealizaenWEKA.Aspuessebasaensituarenelpanel de trabajo (Knowledge Flow Layout), elementos base (situados en la seccinsuperior)demaneraquecreemosuncircuitooflujoquedefinanuestroexperimento.

    Imagen26:InterfazdeKnowledgeFlow

  • 34

    Enlapartesuperiordelapantallaaparecenunconjuntodepestaas: DataSources:Dondeelegiremoselficherodeentradadedatos.Existenvarias

    opcionesyparaseleccionarlasbastaraconmarcarlasconelbotnizquierdoymarcarellugardondelavamosasituardentrodelpaneldetrabajo.

    Data Sinks: Donde elegiremos dnde se almacenarn los resultados delexperimento. La forma de seleccionarlos es anloga a la anteriormentedescrita.

    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 hayamosintroducidoenelpaneldetrabajohabrquehacerdobleclicksobrecadaunodeellos.Ahora bien, si queremos conectar dos elementos de ese panel de trabajo nossituaramos sobre uno de ellos y haciendo click con el botn derecho del ratnestableceremos laordenquevamosarealizarygrficamenteseleccionaremossobrequelementovamosaaplicarlo.Porejemplo,siqueremosrealizarunprocesodevalidacincruzadasobreunconjuntodedatosalmacenadosenunficheroarff,deberemosintroduciresosdoselementosenel panel de trabajo, uno a travs de la pestaa DataSources (seleccionando ArffLoader)yelotroatravsdelapestaaEvaluation(seleccionandoCrossValidation).UnavezquehemosintroducidoelficheroconelquevamosatrabajarenelelementoArff Loader y dejado por defecto la configuracin de CrossValidation conectamosambos elementos pulsando el botn derecho sobre el elemento Arff Loader yseleccionamosDatasetyseguidamente loasignamosaCrossValidation.Esteprocesosevisualizaenlasiguienteimagen:

    Imagen27:InterfazdeKnowledgeFlowunavezintroducidosdoselementos

  • 35

    Siguiendo este proceso podremos construir un proceso completo y finalmente, siqueremos ejecutar el experimenter seleccionaremos la opcin Start Loading enArffLoadertalquealejecutarsepodremosver losresultadosobtenidosencualquieradelosdosvisoresfinales.Finalmente y amodo indicativo, algunas de las componentesms utilizadas en lasreasdevisualizacinyevaluacinson: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: Recolecta estadsticas para evaluacin

    incremental. ClustererPerformanceEvaluator:Recolectaestadsticasparaclustering. PreddictionAppender:Aadeprediccionesdeunclasificadoraundataset.

    En conclusin, la aplicacin KnowledgeFlow proporciona una alternativa a Explorerparaaquellosquepiensanentrminosdecmolosdatosfluyenatravsdelsistema.

  • 36

    4.TcnicasdeClasificacinaplicadasadatosobtenidosporelCentroAndaluzdeMedioAmbiente4.1.ElCentroAndaluzdeMedioAmbiente

    ElCentroAndaluzdeMedioAmbiente(CEAMA)esun centromixto JuntadeAndaluca yUniversidadde Granada, abierto a la participacin ycolaboracin con otras instituciones de I+D y degestin preferentemente andaluzas. Se encuentraubicadoen laciudaddeGranadayformapartedela estructura de centros de investigacin

    desarrolladaporelPlanAndaluzdeInvestigacin.

    Esteorganismonacien1999 con la vocacinde facilitareldesarrollode lneasdeinvestigacinque,porsusingularidadtemtica,organizativa, instrumentalocarctermultidisciplinar,nopuedanrealizarseeficazmenteenotroscentros.Desde Julio de 2011 el CEAMA ha pasado a integrarse dentro del InstitutoInteruniversitario de Investigacin del Sistema Tierra en Andaluca (institutocoordinadoporlaUniversidaddeGranada).Respecto a su estructura, el CEAMA es una organizacin abierta, lo que permite laincorporacin de grupos de investigacin que de calidad debidamente acreditada,cumplanconlascaractersticasanterioresyestnabiertosaltrabajoencolaboracin.En 2013 los grupos de investigacin permanentes son Fsica de la Atmsfera,MineralogayGeoqumicade losAmbientesSedimentarioyMetamrfico,AnlisisdeCuencas,DinmicadeFluidosAmbientales.SeccinMarinayEcologaTerrestre.Enesamismafechasedesarrollan lossiguientesgruposdecolaboracin:AnlisisEstadsticodeDatosMultivariantesyProcesosEstocsticos,ClculoEstocsticoeINVESPYME.Adems,elCEAMAapoyaa la Investigacin I+D+iatravsdesus instalacionescomoson el tnel de viento de capa lmite, el lidar (lser), el canal olacorriente, AllSkyImager,etc.Finalmente,paraobtenerms informacinsobre losgruposde trabajo, las lneasdeinvestigacin seguidas, cursos de formacin y dems novedades asociadas a losproyectos desarrollados en este centro se puede visitar su web(http://www.ceama.es/)Enconclusin,elCEAMAesuncentrode investigacinen temasambientalesensusprocesosfundamentalesyaplicados,ascomodelosmediosytcnicasquefacilitanelusosostenibledelosrecursosnaturalesylamejoradelacalidaddevida.

  • 37

    4.2.ClasificadoresAprender cmo clasificar objetos a una de las categoras o clases previamenteestablecidas, es una caracterstica de la inteligencia de mximo inters parainvestigadores, dado que la habilidad de realizar una clasificacin y de aprender aclasificar,otorgaelpoderdetomardecisiones.Definicin:SeaEunconjuntodedatos,elobjetivode laclasificacinesaprenderunafuncin,L:XY,denominadaclasificador,querepresentelacorrespondenciaexistenteenlosejemplosentrelosvectoresdeentradayelvalordesalidacorrespondiente.Yesnominal,esdecir,puedetomarunconjuntodevaloresy1,y2,,yKdenominadosclasesoetiquetas.La funcinaprendidasercapazdedeterminar laclaseparacadanuevoejemplosinetiquetar.Elxitodeunalgoritmodeaprendizajeparaclasificacindependeengranmedidadelacalidaddelosdatosqueseleproporcionan.Laaplicacindeunalgoritmodeaprendizajeclasificadortienecomoobjetivoextraerconocimientodeunconjuntodedatosymodelardichoconocimientoparasuposterioraplicacinenlatomadedecisiones.Existendistintasformasderepresentarelmodelogenerado. Entre lasestructurasmsutilizadasestn larepresentacinproposicional,losrbolesdedecisin, las reglasy listasdedecisin, reglasconexcepciones, reglasjerrquicasdedecisin,reglasdifusasyprobabilidades,yredesbayesianas.4.2.1.EvaluacindelrendimientodeunclasificadorEvaluar el comportamiento de los algoritmos de aprendizaje es un aspectofundamental;no sloes importantepara compararalgoritmosentre s, sinoqueenmuchoscasosformapartedelpropioalgoritmodeaprendizaje.Laformamshabitualdemedirlaeficienciadeunclasificadoreslaprecisinpredictiva(accuracy).Cadavezquesepresentaunnuevocasoaunclasificador,estedebetomarunadecisinsobrelaetiqueta que se le va a asignar. Considerando un error como una clasificacinincorrecta de un ejemplo, se puede calcular fcilmente la tasa de error, o sucomplementaria,latasadeacierto.Definicin:Sedenominaprecisindeunclasificadoralresultadodedividirelnmerodeclasificacionescorrectasporelnmerototaldemuestrasexaminadas.Laprecisinesunabuenaestimacindecmosevaacomportarelmodeloparadatosdesconocidossimilaresalosdeprueba.Sinembargo,sisecalculalaprecisinsobreelpropioconjuntodedatosutilizadoparagenerarelmodelo,seobtieneconfrecuenciaunaprecisinmayoralareal,esdecir,sernestimacionesmuyoptimistasporutilizarlosmismos ejemplos en la induccin del algoritmo y en su comprobacin. La ideabsicaesestimarelmodeloconunaporcindelosdatosyluegocomprobarsuvalidezcon el resto de los datos. Esta separacin es necesaria para garantizar laindependencia de lamedida de precisin resultante; de no ser as, la precisin delmodelosersobreestimada.

  • 38

    Paratenerseguridaddeque lasprediccionesseanrobustasyprecisas,seconsiderandos etapas en el proceso de construccin de unmodelo: entrenamiento y prueba,partiendolosdatosendosconjuntos,unodeentrenamientoyotrodetest.4.3.ClasificacinconWEKAPara realizaruna clasificacin, sernecesarioelegirun clasificadory configurarloenfuncinde lasnecesidadesde la implementacin.WEKAposeecuatrotiposdemododeprueba:

    Use training set: Esta opcin evala el clasificador sobre elmismo conjuntosobreelqueseconstruyeelmodelopredictivoparadeterminarelerror,queenestecasosedenomina"errorderesustitucin".Portanto,estaopcinpuedeproporcionar una estimacin demasiado optimista del comportamiento delclasificador al evaluarlo sobre el mismo conjunto sobre el que se hizo elmodelo.

    Supplied test set: Evaluacin sobreun conjunto independiente. Estaopcin

    permitecargarunconjuntonuevodedatos.Sobrecadadatoserealizarunaprediccindeclaseparacontarloserrores.

    Crossvalidation:Evaluacinconvalidacincruzada.Serealizarunavalidacin

    cruzadaestratificadadelnmerodeparticionesdado (Folds).Unavalidacincruzada es estratificada cuando cada una de las partes conserva laspropiedadesdelamuestraoriginal(porcentajedeelementosdecadaclase)

    Percentagesplit:Estaopcindividelosdatosendosgruposdeacuerdoconel

    porcentaje indicado (%).Elvalor indicadoeselporcentajede instanciasparaconstruir elmodelo, que a continuacin es evaluado sobre las que se handejado aparte. Cuando el nmero de instancias es suficientemente elevado,esta opcin es suficiente para estimar con precisin las prestaciones delclasificadoreneldominio.

    EnlasiguientefigurasepuedeverunejemplodeclasificacinhaciendousodeCrossvalidation.

  • 39

    Imagen28:ResultadodeaplicarvalidacincruzadaSeleccindeclasificadoresElproblemadeclasificacinsiempreserealizasobreunatributosimblico,enelcasodeutilizarunatributonumricoseprecisa,portanto,discretizarloantesenintervalosquerepresentarnlosvaloresdeclase.Existenochofamiliasdeclasificadores,perolosms utilizados son cuatro: los bayesianos, los metaclasificadores, las reglas y losrbolesdedecisin.Acontinuacinseexplicarcadaunodeestosclasificadoresysepondrunejemploparafacilitarsucomprensin.

    Bayesianos: La gran diferencia con otros mtodos, es quecuantitativamentedaunamedidaprobabilsticade la importanciadeesasvariablesenelproblema.Debe tenerseencuentaqueentre losatributosdelconjuntodeentrenamientonopueden existir correlaciones, puestoqueinvalidaraelresultado.

    o NaveBayes: Parte de la hiptesis de que todos los atributos son

    independientesentre s, conocidoel valorde la variable clase. Elalgoritmo representa una distribucin de una mezcla decomponentes, donde cada componente dentro de todas lasvariables se asumen independientes. Esta hiptesis deindependencia da lugar a un modelo de un nico nodo raz,correspondiente a la clase, y en el que todos los atributos sonnodoshojaquetienencomonicoorigenalavariableclase.

  • 40

    Metaclasificadores: En esta familia, WEKA incluye todos aquellosclasificadores complejos, es decir, aquellos que se obtienen mediantecomposicin de clasificadores simples o que incluyen algnpreprocesamientodelosdatos.

    o Stacking:Sebasaen lacombinacindemodelos,construyendoun

    conjunto con los generados por diferentes algoritmos deaprendizaje. Como cada uno de losmodelos se aprende con unmecanismodeaprendizajediferente, se lograque losmodelosdelconjuntoseandistintos.

    Reglas:Existendiversosmtodosparagenerarreglasdeclasificacinen

    losconjuntosdeentrenamiento.

    o OneR: Este es uno de los clasificadores ms sencillos y rpidos,aunqueenocasionessusresultadossonsorprendentementebuenosencomparacinconalgoritmosmuchomscomplejos.Generaunareglaporcadaatributoyescogeladelmenorerror.Sihayatributosnumricos,busca losumbralesparahacerreglasconmejortasadeaciertos.

    rbolesdedecisin:Losrbolessonunamaneraprcticaparavisualizarla

    clasificacindeunconjuntodedatos.

    o Algoritmo J48: Esuna implementacindel algoritmoC4.5,unodelos algoritmos deminera de datos que ms se ha utilizado enmultituddeaplicaciones.Unode losparmetrosms importantesdeestealgoritmoeselfactordeconfianzaparalapoda(confidencelevel). Una explicacin simplificada es la siguiente: para cadaoperacindepoda,definelaprobabilidaddeerrorquesepermitealahiptesisdequeelempeoramientodebido aestaoperacinessignificativo.Cuantomsbajasehaga esaprobabilidad,seexigirque ladiferenciaen loserroresdeprediccin antes ydespusdepodar seams significativaparanopodar.Elvalorpordefectodeeste factor es del 25%, y conforme va bajando se permitenmsoperaciones de poda y por tanto llegar a rboles cada vez mspequeos.

    4.4.DatosutilizadosLos datos con los que hemos realizado este trabajo proceden del Grupo deInvestigacin de Fsica de la Atmsfera del CEAMA. Este grupo tiene entre susobjetivos:

    Mediryanalizarlaradiacinatmosfrica. Realizarestudiosdeteledeteccinaplicadaalacaracterizacindelaspartculas

    atmosfricasensuspensinylasnubes.

  • 41

    Caracterizacin de la calidad del aire, as como el estudio ymedida de losintercambiosdedixidodecarbonoymetanoenecosistemasterrestres.

    El ficherodedatos contiene11.149observaciones relativas anivelesde radiacin ygrado de nubosidad en el cielo obtenidas a travs de la estacin del CEAMA adiferenteshorasdeldadurantelos12mesesdelao2011.Ladescripcindecadaunadelasvariablesrecogidassemuestraacontinuacin:

    Variable DescripcinYEAR AoMONTH MesDAY DaDAY_J DajulianoHOUR HoraMIN MinutoSZA nguloCenitalSolarAZIMU nguloAzimutalTOA RadiacinenTOA(cimadelaatmsfera)UVER RadiacinUltravioletaeritemticaGLO RadiacinGlobalDIF RadiacinDifusaOKTAS Oktas(medidadelanubosidad)POR_1 Porcentajedecielocubiertoeneloctante1POR_2 Porcentajedecielocubiertoeneloctante2POR_3 Porcentajedecielocubiertoeneloctante3POR_4 Porcentajedecielocubiertoeneloctante4POR_5 Porcentajedecielocubiertoeneloctante5POR_6 Porcentajedecielocubiertoeneloctante6POR_7 Porcentajedecielocubiertoeneloctante7POR_8 Porcentajedecielocubiertoeneloctante8AOD_870 AerosolOpticalDepth870(profundidadpticadelaerosol)AOD_675 AerosolOpticalDepth675AOD_440 AerosolOpticalDepth440AOD_380 AerosolOpticalDepth380ALPHA ngulodeelevacinsolar

  • 42

    4.5.AnlisisdelosdatosEnprimerlugar,apartirdelficherodedatoshemosgeneradounavariablecategrica(CATEG)apartirdelahorayelminuto,contrescategoras:

    I:desdelamenorhoraobservadahastalas11.59. II:desdelas12horashastalas14:59. III:desdelas15horashastalaltimahoraobservada.

    Sehaneliminadodelfichero lasvariablesreferentesadasyminutos;estoes,YEAR,MONTH,DAY,DAY_J,HOURyMIN.Todosestoscambioshanquedadoreflejadosenelficherosimultaneos_2011.arff.Finalmente,elobjetivoquenosplanteamosconestetrabajoesaplicarlosmtodosdeclasificacindescritosanteriormenteparaelconjuntodedatosyestudiarcualessonlosfactoresquecaracterizancadaunadelascategorasogruposhorariosquehemoscreado.ElprocesoseharealizadoatravsdelainterfazExplorerdeWEKAysehadivididoenlossiguientespasos:Paso1:Cargadelficherodedatossimultaneos_2011.arffPara cargar el fichero seutiliza elbotnOPEN FILEde la interfaz Explorer (pestaaPreprocess). Una vez seleccionado el fichero simultaneos_2011.arff semostrar lasiguientepantalla:

    Imagen29:PestaaPreprocessunavezintroducidoslosdatos

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

  • 43

    Imagen30:DatosconlosqueserealizarelestudioPaso2:DiscretizacindelosatributosdelficheroAldiscretizarsedivideelrecorridodelatributonumricoenintervalos,quepuedenserde lamismaamplitudoconelmismonmerodeobservaciones(aproximadamente).En este proceso, adems, se crea un atributo nominal en el que cada categoracorrespondeaunintervalo.PararealizaresteprocesopulsamoselbotnFilteryseleccionamoslaopcinDiscretizedentrodelosfiltrosnosupervisados.

    Imagen31:SeleccindelfiltroDiscretize

  • 44

    En nuestro caso una vez seleccionado este filtro nomodificaremos ninguno de susparmetros asociados. Si lo deseamos podemos hacerlo pulsando sobre el filtroapareciendolasiguientepantalla:

    Imagen32:ParmetrosdelfiltroDiscretize

    donde:

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

    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,ennuestrocasonosehamodificadoningunodeestosparmetros, por lo que una vez seleccionado el filtro y pulsado el botn Apply serealizaelprocesodediscretizacinen losdatos;aspues,cadaobservacindecadaunadelasvariablesseintroducirensucorrespondienteintervalo.

  • 45

    Imagen33:Datostraselprocesodediscretizacin

    Paso3:Aplicacindemtodosdeclasificacin A)MtododeclasificacinNaveBayesTalycomosehadescritoanteriormente,estemtododeclasificacinformapartedelosclasificadoresBayesianos;esdecir,basadosenelTeoremadeBayes.Estatcnicainvolucra una hiptesis de difcil cumplimiento y funciona bien con bases de datosreales;enespecial,cuandosecombinaconprocedimientosdeseleccindeatributosparaeliminarlaredundancia.Ennuestrocaso,paraaplicarestemtodohabrquedirigirsea lapestaaClassifyytraspulsarelbotnChoose,seleccionarlotalycomosemuestraenlaImagen34.

    Imagen34:SeleccindelclasificadorNaiveBayes

  • 46

    Unavezelegidorealizaremosesteprocesoparatresdeloscuatromtodosdepruebadescritos anteriormente.No lo haremos para caso Supplied test set puesto que noposeemos un conjunto independiente sobre el que evaluar los resultados.As puestenemos:A1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsetypulsarelbotnStartsemuestralasiguienteinformacin:

    Imagen35:SalidadeaplicarNaiveBayesyunconjuntodeentrenamiento

    Seguidamentevamosaanalizar la salida resultantedeaplicarel clasificador.Deesaformavamosadefinir lostrminosqueallaparecenyquesontilesparacompararlosdistintosmtodosdeclasificacinquevamosaaplicar.En la Imagen 35 se muestra que el 81,7472% de los casos se han clasificadocorrectamentemientrasqueel18,2528%lohanhechodeformaincorrecta.SeguidamentesemuestraelvalordelndiceKappa(0,7137).Estndiceesunamedidadeconcordanciaentre lascategoraspronosticadasporelclasificadory lascategorasobservadas,quetieneencuentalasposiblesconcordanciasdebidasalazar.Donde: Sielvalores1:Concordanciaperfecta. Sielvalores0:Concordanciadebidaalazar. Sielvaloresnegativo:Concordanciamenorquelaquecabraesperarporazar.Porlotanto,ennuestrocaso,tenemosunaltogradodeconcordancia.

  • 47

    Posteriormenteaparecenciertasmedidasasociadasalerrorde laclasificacin.Estoscoeficientes se calculan a partir de unos valores di que se obtienen de la siguienteformaparacadainstancia: 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 sipulsamoselbotnMoreoptionsyseguidamenteStart.

    Imagen36:SeleccindelaopcinOutputpredictions

    Losindicadoresasociadosalerrordelaclasificacinson: Meanabsoluteerror:

    1|| 0.1655.

  • 48

    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 semuestran una serie de indicadores relativos a la precisin de la clasificacin. Estoscoeficientessebasanen losresultadosde lamatrizdeconfusinqueaparecealfinaldelasalida.Enestecaso,lamatrizdeconfusinmuestralasiguienteinformacin:

    ==ConfusionMatrix=== abc

  • 49

    Falsosnegativos (TN): Instanciasquesonpositivasyqueelsistemadicequeno lo son. Por ejemplo existen 751 casos del grupo I que se han clasificadodentrodelgrupoII.

    Apartirdeestosvaloressecalculan los indicadoresdeprecisinparacadaclase,quesedefinencomo:

    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.972IIIWeightedAvg.0.8170.1090.8220.8170.8190.937MejoradeprecisindelclasificadorHayquehacerquenotarqueunejemplodemtododeaprendizajeque reduce sucalidadante lapresenciadeatributosno relevanteseselmtodoNaiveBayes.Taly

  • 50

    comohemos visto, alutilizarestemtodomedianteun conjuntodeentrenamientohemosobtenidounaprecisindel81,7472%.Seguidamentevamosacomprobarsi losatributosnorelevantesestnafectandoa lacalidaddelmtodo,por loque vamos aefectuarun filtradode atributos.ParaellovamosalaseccinSelectAttributesdondeencontramosdosfamiliasdetcnicaspararealizaresteproceso:

    Filtros,donde se seleccionanyevalan losatributosen forma independientedelalgoritmodeaprendizaje.

    Wrappers (envoltorios), los cuales usan el desempeo de algn clasificadorparadeterminarlodeseabledeunsubconjunto.

    Dadas lascaractersticasdelproblemaenestecasopodemosprobarconunatcnicawrapper realizando una bsqueda exhaustiva. Para ello, pulsamos Choose deAttributeEvaluator y seleccionamoselmtodoWrapperSubsetEval.Para configurarlopulsamos en la ventana de texto. Vamos a utilizar el propio NaiveBayes para elwrapper, por lo que seleccionaremos el mtodo en classifier. Por otra parte, enSearchMethod indicamos que queremos una bsqueda exhaustiva eligiendoExhaustiveSearch. Una vez configurada la herramienta, pulsamos el botn Start,mostrndoselainformacindelaImagen37.

    Imagen37:PestaadeseleccindeatributosAnalizando los resultados de estemtodo de filtraje se recomienda no utilizar losatributosTOA,OKTASyALPHA.Paracomprobar laveracidaddeestarecomendacin

  • 51

    volvemosalapantallaPreprocess,yeliminamoslosatributosdescartadosmarcndolosenlapartedeAttributesypulsamosenRemove.Finalmente,paraconocer laprecisinqueobtieneNaiveBayesconeste subconjuntode atributos, volvemos a la ventanaClassify y seleccionamoselmtodoNaiveBayesusando un conjunto de entrenamiento. El resultadomuestra que el porcentaje deinstancias correctamente clasificadas ha aumentado al 82,0522%. El resto deindicadoressepuedenvisualizarenlasiguienteimagen:

    Imagen38:ClasificadorNaiveBayesconunconjuntodeentrenamientoA2)Usandovalidacincruzada.Supuestoquehemoseliminadoaquellosatributosquedisminuyen laprecisinde losestimadoresde igualformaque lohemoshechoenelapartado anterior; seguidamente, seleccionamos el mtodo Crossvalidation,manteniendoelnmerodeplieguesqueaparecenpordefecto(10).PulsandoelbotnStartsemuestralasiguienteinformacin:

  • 52

    Imagen39:ClasificadorNaiveBayesyvalidacincruzadaEn este caso, el porcentaje de instancias clasificadas como correctas ha sido del81,7024%,mientrasqueeldeclasificadas incorrectamenteesdel18,2976%.El ndiceKappatomaelvalor0,7136porloqueexisteunaltogradodeconcordancia.Finalmente, basndonos en los resultados de lamatriz de confusin y amodo deejemplo tenemos que de los 3.241 casos pertenecientes al grupo III, 2.672 se hanclasificadocorrectamente,mientras497sehanclasificadocomoIy72comoII.A3)Dividiendoel ficherodedatos.Al igualqueen losapartadosanterioreshemoseliminadoaquellosatributosquedisminuyenlaprecisindelosestimadores.SeguidamenteseleccionamoselmtodoPercentagesplit.Atravsdeestemtodoelfichero de datos se divide en dos partes, de acuerdo al porcentaje indicado (quedejaremosenel66%).Unaseusaparaconstruirelclasificadorylaotraparaevaluarsurendimiento.Tras pulsar el botn Start aparece la informacin que semuestra en la siguienteimagen.

  • 53

    Imagen40:ClasificadorNaiveBayesyPercentagesplitEn este caso, el porcentaje de instancias clasificadas como correctas disminuyerespecto al anterior modelo utilizado pasando al 81,4297%, mientras que el declasificadasincorrectamenteesdel18,5703%.ElndiceKappatomaelvalor0,796porloqueexisteunaltogradodeconcordancia.Porotro ladoyamododeejemplo, la tasade instancias clasificadas correctamenteparalaclaseIesde0,81.Finalmente,delos862casospertenecientesalgrupoII,694sehanclasificadocorrectamente,mientras152sehanclasificadocomoIy16comoIII.

  • 54

    B)MtododeclasificacinStackingTal y como hemos indicado anteriormente, Stacking es un metaclasificador, deestructurabastantesencilla,quesebasaenlacombinacindemodelos,construyendounconjuntocon losgeneradospordiferentesalgoritmosdeaprendizaje.Comocadaunode losmodelosaprendea travsdeunmecanismodeaprendizajediferente,selograquelosmodelosdelconjuntoseandistintos.Paranuestrospropsitos,vamosadefinirtresclasificadoresbase(NaiveBayes,OneRyJ48) y utilizar el clasificador J48 comometa clasificador para el conjunto de datos,simultaneos_2011.arff,quehemosdiscretizadoenelapartadoanterior.Comenzamos pulsando la pestaa Classify y pulsando sobre el botn Chooseseleccionamos el clasificador Stocking.Una vez elegidomodificamos losparmetroseligiendolosclasificadoresbaseyelmetaclasificadordefinidosenelprrafoanterior.

    Imagen41:SeleccindeclasificadoresbaseymetaclasificadorparaelmtodoStocking

    Unavezconfirmadosestoscambiosrealizaremosesteprocesopara lostresmtodosdepruebacon losquehemosrealizadoelanteriorprocesodeclasificacin.Aspuestenemos:B1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsetypulsar el botn Start se muestran los modelos inducidos para cada clasificadorindividual yparaelmodelo aprendidoporelmeta clasificador. El resultado final semuestraenlaImagen42.

  • 55

    Imagen42:ResumendelosresultadosdeaplicarelmtodoStockingyunconjuntodeentrenamiento

    Analizando los resultados se tienequeelporcentajede instancias clasificadas comocorrectas aumenta respecto al anterior mtodo de clasificacin obteniendo un88,0169%,mientrasqueeldeclasificadas incorrectamenteesdel11,9831%.El ndiceKappatomaelvalor0,8077porloqueexisteunaltogradodeconcordancia.Porotro lado y amododeejemplo la tasade instancias clasificadas correctamentepara laclase Iesde0,945.Finalmente,de los2.633casospertenecientesalgrupo II,1.985sehanclasificadocorrectamente,mientras571 sehanclasificadocomo Iy74comoIII.B2)Usandovalidacincruzada.ParaesteapartadomantenemoslamismaeleccindeclasificadoresbaseymetaclasificadorquehemosrealizadoenelpuntoB1.ParaaplicarestemtodopulsamoslaopcinCrossvalidationdentrodelaseccinTestOption.Ademsmantendremoselnmerodeplieguesqueaparecenpordefecto(10)ypulsandoelbotnStartsemuestralasiguienteinformacin:

  • 56

    Imagen43:ResumendelosresultadosdeaplicarelmtodoStockingyvalidacincruzadaA travs de los resultados de la Imagen 43 se aprecia que el nmero de casosclasificados correctamente disminuye respecto al anterior modo de prueba,obteniendounporcentajedel85,344%. El14,656%de loscasoso instanciassehanclasificadodeformaincorrecta.El valordel ndiceKappa (0,7664) tambindisminuye respecto al anteriormododeprueba.Amododeejemplo,lamatrizdeconfusinmuestraquedelos5.278casosdelgrupoI,4.752sehanclasificadodeformacorrecta,309lohanhechocomodelgrupoIIy217comodelgrupoIII.B3)Dividiendo el fichero de datos. Para realizar este apartado seleccionaremos elmodo de prueba Percentage split.A travs de estemtodo, el fichero de datos sedivideendospartes,deacuerdoalporcentajeindicado(quedejaremosenel66%).Laprimera se utilizar para construir el clasificador y la segunda para evaluar surendimiento.Tras pulsar el botn Start aparece la informacin que semuestra en la siguienteimagen.

  • 57

    Imagen44:ResumendelosresultadosdeaplicarelmtodoStockingcondivisindelficheroEnestecaso,elporcentajedeinstanciasclasificadascorrectamenteesdeun85,703%mientrasqueel14,297%lohansidodeformaerrnea,teniendocomoporcentajedeerrorabsolutorelativo30,5271%.Elvalordel ndiceKappaesde0,7714por loqueexistealtogradode concordanciaentrelascategoraspronosticadasporelclasificadorylascategorasobservadas.Finalmente,atravsdelamatrizdeconfusinseobtieneentreotrascosas,quedelos1.153casosdelgrupoIII,989sehanclasificadocorrectamente,132sehanclasificadocomodelgrupoIy32lohanhechocomodelgrupoII.

  • 58

    C)MtododeclasificacinOneREsteclasificadoresunodelosmssencillosyrpidos.Susresultadospuedensermuybuenosencomparacinconotrosalgoritmosmuchomscomplejosysuobjetivoesseleccionarelatributoquemejorexplicalaclasedesalida.Para seleccionarestemtodohabrqueelegirlodentrode la seccin rulesalpulsarsobreelbotnChoosequeseencuentradentrodelapartadoClassifier.

    Imagen45:SeleccindelmtodoOneRUna vez seleccionado el mtodo de clasificacin y para cada modo de pruebaobtenemoslossiguientesresultados:C1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsetypulsarelbotn Start semuestra informacin sobreel atributoquemejorexplica laclase de salida, en este caso, POR_3 e indicadores asociados la calidad de laclasificacintalycomosemuestraenlaImagen46.

  • 59

    Imagen46:AplicacindelclasificadorOneRyunconjuntodeentrenamiento

    Analizando estos resultados, vemos que la mejor prediccin posible con un soloatributoeslavariablePOR_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,9lasinstanciasseclasificarncomoIporencimadeesevalorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.La tasa de aciertos sobre el propio conjunto de entrenamiento es del 63.5483% yrespectoalamatrizdeconfusintenemosquedelos2.630casosdelgrupoII,1.198sehanclasificadocomo Iy1.432como III,por loquenoexisteningunodeestoscasosquesehayaclasificadodeformacorrecta.

  • 60

    C2) Usando validacin cruzada. En este caso seleccionamos el mtodo Crossvalidation, manteniendo el nmero de pliegues que aparecen por defecto (10).PulsandoelbotnStartsemuestralasiguienteinformacin:

    Imagen47:AplicacindelclasificadorOneRyvalidacincruzada.

    Analizando la salidaobtenemos losmismos indicadores y resultadosque alusarunconjunto de entrenamiento en el modo de prueba. Es decir, la mejor prediccinposibleconunsoloatributoeslavariablePOR_3obteniendolosmismosumbralesqueenelapartadoanterior.Aspuespordebajodelvalor9,9lasinstanciasseclasificarncomoIporencimadeesevalorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.La tasa de aciertos sobre el propio conjunto de entrenamiento es del 63.5483% yrespectoa lamatrizdeconfusintenemosquede los3.241casosdelgrupoIII,2.465sehanclasificadodeformacorrectay776sehanclasificadocomoIyningunocomoII.C3) Dividiendo el fichero de datos. Para realizar este apartado seleccionaremos elmodo de prueba Percentage split. A travs de estemtodo el fichero de datos sedivideendospartes,deacuerdoalporcentajeindicado(quedejaremosenel66%).Laprimera se utilizar para construir el clasificador y la segunda para evaluar surendimiento.TraspulsarelbotnStartaparecelainformacinquesemuestraenlaImagen48.

  • 61

    Imagen48:AplicacindelclasificadorOneRcondivisindeficherosLa mejor prediccin posible con un solo atributo es la variable POR_3 con lossiguientesumbrales:

    ===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,9loscasosseclasificarncomoIporencimadeesevalorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.La tasa de aciertos sobre el propio conjunto de entrenamiento es del 64,6004% yrespectoa lamatrizdeconfusin tenemosquede los862casosdelgrupo II,384sehanclasificadocomoIy478comoIII,porloquenoexisteningunodeestoscasosquesehayaclasificadodeformacorrecta.

  • 62

    D)AlgoritmodeclasificacinJ48El algoritmo J48 implementado en Weka es una versin del clsico algoritmo derbolesdedecisinC4.5propuestoporQuilan.Losrbolesdedecisinentrandentrode los mtodos de clasificacin supervisada, es decir, se tiene una variabledependienteoclase,yelobjetivodelclasificadoresdeterminarelvalordedichaclaseparacasosnuevos.Paraaplicarestealgoritmoanuestrosdatosdiscretizadosnossituamosen lapestaaClassify y dentro de la seccin Classifier pulsamos Choose, seguidamenteseleccionamosJ48enTrees.

    Imagen49:SeleccindelalgoritmoJ48.Si pulsramos sobre la ventana que contiene el nombre del mtodo podramosmodificar los parmetros especficos de este algoritmo. En este caso dejaremos losvalorespordefecto.Una vez seleccionado este mtodo de clasificacin y para cada modo de pruebaobtenemoslossiguientesresultados:D1) Usando un conjunto de entrenamiento. Seleccionamos como opcin deevaluacin (Test options) la opcin Use training set y una vez pulsado Start semuestranlosresultadosdelaImagen50.

  • 63

    Imagen50:ResultadodeaplicarelalgoritmoJ48yunconjuntodeentrenamientoEntrelosresultadosqueseobtienen,apartedelosindicadoressobrelaprecisindelaclasificacin, tenemos que el programa genera el rbol de decisin para nuestrosdatos.Partedeeserbolsemuestraacontinuacin.

    ===Classifiermodel(fulltrainingset)===J48prunedtreePOR_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]' yAZIMU = '(inf11.100981]' entonces las instancias se clasificandentrodelgrupoII.

  • 64

    Tambinpodemosvisualizarelrbolde formagrfica sipulsamoselbotnderechosobreeltextotrees.J48de lacajaResultlistyseleccionamos laopcinVisualizeTree.Sinembargoydebidoalgrannmeroderamasyhojasquesegeneranconnuestrosdatosnosevisualizadeformacorrectaporloqueestaformadevisualizacinsertilcuandoelnmeroderamasyhojasseabastanteinferioralactual.Respecto a los resultadosde laevaluacinhemosobtenidoqueel87,7209%de lasinstanciassehanclasificadocorrectamentemientrasqueel12,2791%lohanhechodeformaincorrecta.El ndice Kappa toma un valor de 0,8044 por lo que existe un alto grado deconcordancia entre las categoras pronosticadas por el clasificador y las categorasobservadas.El error absoluto relativo es de un 27,0636% y respecto a lamatriz de confusintenemosquede los5.278casosdelgrupo I,4.886sehanclasificadocorrectamente,199comoIIy193comoIII.D2) Usando validacin cruzada. Para este caso seleccionamos el mtodo Crossvalidation ymantenemos el nmero de pliegues que aparecen por defecto (10).Alpulsar el botn Start se genera un nuevo rbol de decisin y el resumen de losindicadoressobrelacalidaddelaclasificacin.

    Imagen51:ResultadodeaplicarelalgoritmoJ48yvalidacincruzada

  • 65

    En este caso el porcentaje de casos clasificados correctamente es del 83,7474 %,siendoeldemalclasificadosel16,2526%.ElndiceKappatomaelvalor0,7411queesinferioraldelanteriormododeprueba.Respecto a losnivelesdeprecisinpor clase las tasas verdaderospositivospara lasclasesIyIIson0,897y0,844respectivamente,mientrasqueparalaclaseIIesde0,71.A travsde lamatrizde confusin semuestraquede2.630 instanciasdelgrupo II,1.868sehanclasificadocorrectamentemientrasque597sehanclasificadocomoI y165lohanhechocomoIII.D3)Dividiendo el fichero de datos. En este apartado seleccionaremos elmodo depruebaPercentagesplit.Deestaformaelficherodedatossedivideendospartesdeacuerdoalporcentajeindicado(quedejaremosenel66%).Laprimeraseutilizarparaconstruirelclasificadorylasegundaparaevaluarsurendimiento.TraspulsarelbotnStartsegeneraelcorrespondienterboldedecisinyelconjuntodeindicadoressobrelacalidaddelaclasificacin,loquesemuestraenlaImagen52.

    Imagen52:ResultadodeaplicarelalgoritmoJ48condivisindelficherodedatos

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

  • 66

    Elvalordel ndiceKappa tomaunvalorde0,7384 loquesignificaqueexisteunaltogrado de concordancia entre las categoras pronosticadas por el clasificador y lascategorasobservadas.Finalmente y amodode ejemplo, lamatrizde confusinmuestraquede los 1.776casosdelgrupoI,1.610sehanclasificadodeformacorrecta,111 lohanhechocomodelgrupoIIy55comodelgrupoIII.4.6.ConclusionesLosresultadosobtenidosen losanterioresprocesosdeclasificacinseresumenen lasiguientetabla:Clasificador Mododeprueba

    Instanciasbienclasificadas(%)

    Instanciasmalclasificadas(%)

    ndiceKappa

    Errorabsoluto

    NaveBayes Conjuntodeentrenamiento 81,7472 18,2528 0,7137 0,1655NaveBayes(mejoradeprecisin)

    Conjuntodeentrenamiento 82,6522 17,9478 0,7186 0,1646

    NaveBayes(mejoradeprecisin)

    Validacincruzada 81,7024 18,2976 0,7136 0,1671

    NaveBayes(mejoradeprecisin)

    Divisindelfichero 81,4297 18,5703 0,7096 0,1681

    Stacking Conjuntodeentrenamiento 88,0169 11,9831 0,8077 0,1244Stacking Validacincruzada 85,344 14,656 0,7664 0,1275Stacking Divisindelfichero 85,703 14,297 0,7714 0,1295OneR Conjuntodeentrenamiento 63,5483 36,4517 0,3937 0,243OneR Validacincruzada 63,5483 36,4517 0,3937 0,243OneR Divisindelfichero 64,6004 35,3996 0,41 0,236J48 Conjuntodeentrenamiento 87,7209 12,2791 0,8044 0,1147J48 Validacincruzada 83,7474 16,2526 0,7411 0,1381J48 Divisindelfichero 83,5927 16,4073 0,7384 0,1459

  • 67

    TantoelclasificadorNaveBayes,comoelStackingyelJ48ofrecenunporcentajedeinstanciascorrectamenteclasificadassuperioral81%,sibien,comosehacomprobadocon el clasificadorOneR existeun atributo (POR_3)quepermite clasificarde formacorrectaentornoaun64%delasinstancias.En relacin a los diferentes modos de prueba, es el basado en la muestra deentrenamientoelqueofrecemejores resultadosparacadaunode losclasificadores.Estoeslgicopuestoqueesteclasificadorseevalaenelmismoconjuntosobreelquesecreelmodelodeclasificacinproduciendounasobreestimacindelosresultados.Sin embargo esta situacin no es ratificada por el clasificador OneR donde elporcentajedeinstanciasbienclasificadasmedianteunadivisindelfichero(64,6004%)essuperioralobtenidomedianteelconjuntodeentrenamiento(63,5483%).En relacin al tipo de clasificador, es elmetaclasificador Stacking el quemejoresresultadosofrece,concretamentelosvaloresdelosndicesKappaparacadamododeprueba (0,8077, 0,7664 y 0,7714) son superiores a sus correspondientesmodos depruebadelosotrosclasificadores.RespectoalusodeunconjuntodeentrenamientoparaunmtodoStackinghayquehacernotarquenodebenusarse losmismosdatosconqueseentrenaron lasbasesporque precisamente Stacking trata de corregir sus sesgos, aprende cmo cometenerrores (y pueden tenermemoria del conjunto de entrenamiento). Por lo tanto esrecomendableutilizarparaelanlisislosotrosmodosdeprueba.Finalmente,eselclasificadordeNaveBayeselquepeoresresultadoshaofrecido,anhabiendoeliminadoaquellosatributosquenosonrelevantesyqueafectanalacalidaddelmtodo. An as, los resultados obtenidos por este estimador resultan de granutilidad,yaqueesteclasificadorofreceunamedidaprobabilsticadelaimportanciadelasvariablesqueintervienenenelproblema.

  • 68

    Bibliografa RemcoR.Bouckaert,EibeFrank,MarkHall,RichardKirkby,PeterReutemann,

    Alex Seewald, David Scuse. WEKA Manual for versin 3.7.8. University ofWaikato,2011.

    Blanquero Bravo, Rafael. Introduccin a laminera de datos.Universidad deSevilla.Ao2010.http://rblanque.us.es

    Blanquero Bravo, Rafael. Introduccin aWEKA. Universidad de Sevilla. Ao2010.http://rblanque.us.es

    GarcaMorate,Diego.ManualdeWeka.2005. IanH.Witten, Eibe Frank, andMarkA.Hall.DataMining: PracticalMachine

    LearningToolsandTechniques.MorganKaufmann,Burlington,MA,3edition,2011.

    J.L.Cubero, F,Berzal, F.Herrera. FundamentosdeMineradedatos.MsterOficialdelaUniversidaddeGranadaenSoftComputingySistemasInteligentes.2010.

    Hernndez,J.yFerri,C.IntroduccinaWeka..CursodeDoctoradoExtraccinAutomtica de Conocimiento en Bases de Datos e Ingeniera del Software.UniversitatPolitcnicadeValncia,Marzo2006.

    GrahamWilliams.DataMiningwithRattleandR:TheArtofExcavatingDataforKnowledgeDiscovery.Springer,2011.

    LanHuang,DavidMilne, Eibe Frank, and IanH.Witten. Learning a conceptbased document similarity measure. Journal of the American Society forInformationScienceandTechnology,2012.

    Geoff Holmes. Developing data mining applications. In InternationalConferenceonKnowledgeDiscoveryandDataMining,page225.ACM,2012.

    J.HernndezOrallo,M.J.RamrezQuintana,C.FerriRamrez.IntroduccinalaMineradeDatos.PearsonPrenticeHall,2004.

    Albert Bifet, Geoff Holmes, Bernhard Pfahringer, and Eibe Frank. Fastperceptron decision tree learning from evolving data streams. In Proc 14thPacificAsiaConferenceonKnowledgeDiscoveryandDataMining,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.