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