Mineria de Datos - Tecnicas PDF
Mineria de Datos - Tecnicas PDF
Mineria de Datos - Tecnicas PDF
Aplicacindetcnicasde
MineradeDatos
adatosobtenidosporel
CentroAndaluzdeMedio
Ambiente(CEAMA)
Realizadopor
FranciscoJosGarcaGonzlez
Tutores:
SilviaGonzlezAguilera
JuanAntonioMaldonadoJurado
Granada,2013
Contenido
1.Introduccin...........................................................................................................4
2.Softwaredisponibleparaaplicartcnicasdemineradedatos...............................5
2.1.XLMiner..................................................................................................................5
2.2.Matlab....................................................................................................................6
2.3.IBMSPSSModeler.................................................................................................7
2.4.SASEnterpriseMiner.............................................................................................9
2.5.SalfordSystemsDataMining...............................................................................10
2.6.OracleDataMining..............................................................................................11
2.7.RapidMiner.........................................................................................................13
2.8.KNIME..................................................................................................................14
2.9.R...........................................................................................................................15
2.10.Orange...............................................................................................................16
2.11.WEKA.................................................................................................................18
3.IntroduccinaWEKA............................................................................................19
3.1.Introduccin........................................................................................................19
3.2.Losdatos..............................................................................................................20
3.3.SimpleCLI............................................................................................................21
3.4.Explorer................................................................................................................22
3.4.1.PestaaPreprocces......................................................................................23
3.4.2.PestaaClassify............................................................................................24
3.4.3.PestaaCluster.............................................................................................26
3.4.4.PestaaAssociate.........................................................................................26
3.4.5.PestaaSelectattributes..............................................................................27
3.4.6.PestaaVisualize..........................................................................................28
3.5.Experimenter.......................................................................................................29
3.5.1.PestaaSetup...............................................................................................29
3.5.2.PestaaRun..................................................................................................32
3.5.3.PestaaAnalyse............................................................................................32
3.6.KnowledgeFlow...................................................................................................33
4. Tcnicas de Clasificacin aplicadas a datos obtenidos por el Centro Andaluz de
MedioAmbiente......................................................................................................36
4.1.ElCentroAndaluzdeMedioAmbiente...............................................................36
4.2.Clasificadores.......................................................................................................37
4.2.1.Evaluacindelrendimientodeunclasificador............................................37
2
4.3.ClasificacinconWEKA........................................................................................38
4.4.Datosutilizados...................................................................................................40
4.5.Anlisisdelosdatos.............................................................................................42
Paso1:Cargadelficherodedatossimultaneos_2011.arff....................................42
Paso2:Discretizacindelosatributosdelfichero.................................................43
Paso3:Aplicacindemtodosdeclasificacin.....................................................45
4.6.Conclusiones........................................................................................................66
Bibliografa...............................................................................................................68
1.Introduccin
Hoy da nuestra sociedad genera grandes cantidades de informacin que unido al
aumento de las capacidades de almacenamiento, han hecho que todo tipo de
organizacionespuedandisponerdeunagrancantidadyvariedaddedatosrelativosa
suactividaddiaria.Estainformacinofrecealaempresaunavisinperspectiva(quse
est haciendo y cmo se est haciendo) y prospectiva (cmo puede evolucionar la
organizacin en un futuro a cortomedio plazo) y es por ello por lo que tiene una
funcinvitalenelprocesodetomadedecisiones.
Sinembargomuchadelainformacinrecogidaenlasbasesdedatosnoseencuentra
bienestructuradaresultandodifcildeexplotardesdeelpuntodevistaestadsticopor
loqueparasuutilizacinesnecesariounprocesodetratamientoyanlisisexhaustivo
delosdatosallrecogidosquellamaremosmineradedatos.
La minera de datos se engloba dentro de un proceso ms amplio conocido como
extraccindeconocimientoenbasesdedatos,sibienalgunasvecesydebidoaquela
fronteraentreambosconceptosnoesclara,suelenutilizarsecomosinnimos.
Imagen1:Fasesdelprocesodeextraccindeconocimientoenbasesdedatos
Enunprocesodemineradedatosserealizandiferentestareas:
Descriptivas:Paraidentificarpatronesqueexplicanoresumenlosdatos.
Paraconseguiresosobjetivos,elinvestigadorpuedeutilizardiferentestcnicascomo:
Sistemasdeagrupamiento:Consisteenobtenergruposnaturalesapartirdelos
datos.Tambinseconocecomosegmentacinoclustering.
Regresin:Suobjetivoespredecirelvalorquetomaunavariablecuantitativa
en nuevos objetos a partir de la informacin proporcionada por las restantes
variables.
4
2.Softwaredisponibleparaaplicar
tcnicasdemineradedatos
Actualmente existen varios paquetes y complementos, cada uno con sus propias
caractersticas, que permiten aplicar diferentes tcnicas de minera de datos al
conjunto de datos con el que trabajemos. Presentamos en este captulo algunos de
ellos.
2.1.XLMiner
XLMiner es un complemento para Excel, con
funcionamiento mediante macros, que permite muchos
tipos de anlisis tanto para datos de tipo corte
transversal,comosecuenciastemporales.
EntrelasprincipalescaractersticasdeXLMinerseencuentran:
Manejodebasesdedatos,conimputacindedatosfaltantes.
Realizacindepredicciones.
ModelosARIMA,Holtwinters,Polinomiales.
Arbolesdedecisin,anlisisclster.
Facilidadparalaentregadeinformes.
Redesneuronales.
Afavordeesteprogramasepuededecirque:
Encontradeesteprogramatenemosque:
XLMineresaccesiblecomoherramientadepruebaporunperiodolimitadode
30das.
Sedebepagarporteneraccesoalaversinquenolimitaeltamaodelabase
dedatos.
No posee indicadores de errores claros. Como XLMiner trabaja en base a
macros de Excel, al parametrizar alguna operacin con datos inadecuados, la
operacinseinterrumpe,siendoimposiblederecuperarloltimorealizado.
2.2.Matlab
EnrelacinaestetrabajodestacaremoslassiguientesToolboxes:
nnet\nnetNeuralNetworkToolbox:
La Neural Network Toolbox es un paquete de Matlab que contiene una
serie de funciones para crear y trabajar con redes neurolales artificiales.
As pues, proporciona las herramientas para el diseo, la puesta en
prctica,lavisualizacin,ylasimulacinderedesneuronales.
Las redes neuronales son herramientas de gran alcance en situaciones
donde sera difcil o imposible el anlisis formal, por ejemplo el
reconocimiento de patrones y la identificaciny el control no linealesdel
sistema. La Neuronal Network Toolbox tambin proporciona una interfaz
grfica que permite disear y manejar las redes que el usuario desee. El
diseo modular, abierto, y extensible de la Neuronal Network Toolbox
simplifica la creacin de funciones y de redes. En resumen, como
principalescaractersticaspresenta:
6
Finalmente,setratadeunprogramacomercialporloqueparasuusosehadepagar
una licencia. Para obtener ms informacin sobre MATLAB se puede acceder a la
pginaoficialdeestaherramienta:http://www.mathworks.es/products/matlab/
2.3.IBMSPSSModeler
ConIBMSPSSModelersepuedevisualizargrficamenteelprocesollevadoacabo,as
como crear nuevas funciones que se aaden a las ya implementadas. Adems se
proveedeunaseriedemdulosquepermitenrealizarunanlisisdemineradedatos
congrandesvolmenesdedatos.
Imagen2:DiagramadeflujodelprocesoconSPSSModeler
Enloreferidoatcnicasdemineradedatos,estaherramientaproporcionadiferentes
mtodossegnelprocesoquevayamosarealizar;algunasdeellasson:
Segmentacin:Kmedias,Kohonen,Bietpico,Anomala.
Asociacin:Apriori,GRI,CARMAyAnlisisdeSecuencia.
Automticos:Autonumrico,Autoclasificador,AutoAgrupacin,Modelizador
ARIMAautomtico.
2.4.SASEnterpriseMiner
SAS Enterprise Miner agiliza el proceso de
minera de datos para crear modelos
predictivos y descriptivos de alta precisin
paragrandesvolmenesdedatos.Ofreceunasencillainterfazgrficaqueintegrael
conjuntodeherramientasnecesarioparalatomadedecisiones.
Muestra(Sample):Consisteenidentificarlosdatos.
Explora(Explore):Sufuncinsetraduceenexplorarlosconjuntosdedatospara
observarhuellasinesperadas,relaciones,patrones,uobservacionesinusuales,
connodospararepresentarlosdatos,generarunaampliavariedaddeanlisis,
identificarlasvariablesimportantes,orealizaranlisisdeasociacin.
Modificar (Modify): Consiste en preparar los datos para el anlisis. Los nodos
pueden crear variablesadicionaleso transformar las variables existentes para
elanlisismediantelamodificacinolatransformacindelaformaenlaque
las variables se utilizan en el anlisis, filtrar los datos, sustituir los valores
perdidos,condensarycontraerlosdatosenpreparacinparaelmodeladode
series,orealizaranlisisdeconglomerados.
Modelo(Model):Dondeseadaptaelmodeloestadstico.Losnodospredicenla
variable objetivo en funcin de las variables de entrada mediante el uso de
cualquier mtodo: mnimos cuadrados o regresin logstica, rboles de
decisin,redesneuronales,redesdmneural,definidoporelusuario,conjunto,
vecinomscercano,oelmodeladodedosetapas.
Entrelasprincipalescaractersticasdeestaherramientadestacan:
Elaccesoalosdatos,lagestinylalimpiezaseintegranalaperfeccin,porlo
queesmsfcildeprepararlosdatosparaelanlisis.
Unentornodinmicoeinteractivoqueestoptimizadoparavisualizarlosdatos
ycomprendersusrelaciones.
9
Enresumen,setratadeunadelasherramientasconmspotenciadelmercadodesde
elpuntodevistadetrabajarcongrandesbasesdedatos;sinembargo,contrastaconel
altoprecioquesehadepagarporsulicencia.
Imagen3:ResultadodeaplicarunanlisisClusterconSASEnterpriseMiner
2.5.SalfordSystemsDataMining
Salford Systems es una empresa especializada, entre
otrastareas,enlaelaboracindesoftwaredeminera
de datos y consultora. A este respecto ofrece los
siguientesproductos:
10
Imagen4:VentanaderesultadosenCART
TreeNet:Basadaenrbolesdedecisionesimpulsadas.TreeNetesunsistemade
aproximacin de funciones y que tambin sirve como herramienta de
exploracininicialdelosdatos.
RandomForests: Ofrece modelos predictivos de alto rendimiento e incorpora
nuevosanlisisdeclsterdemtricalibre.
SPM Salford Predictive Modeler: Cuenta con caractersticas adicionales
orientadasamejorarlosmodelospredictivos.
Parautilizarcadaunodeestosprogramassehadepagarsucorrespondientelicencia.
Finalmente para obtener informacin sobre cada uno de ellos se puede consultar la
webdeSalfordSystemsatravsdelenlace:http://www.salfordsystems.com/
2.6.OracleDataMining
Atravsdeestaherramientaserealizarelprocesodeimportacindelosdatos,su
preparacin,ascomoeldesarrolloydesplieguedelmodelo.
La herramienta ODM est basada en un esquema de flujo de trabajo, similar a otras
herramientas de minera de datos, siendo una extensin del SQLDeveloper,
permitiendoanalizarlosdatos,explorarlosdatos,construiryevaluarmodelosyaplicar
estosmodelosanuevosdatos,ascomocompartirestosmodelosenaplicacionesen
lnea entregando resultados en tiempo real. La herramienta integra todas las etapas
11
delprocesodelamineradedatosypermiteintegrarlosmodelosenotrasaplicaciones
conobjetivossimilares.
ODM funciona dentro de la base de datos de Oracle, as que no hay necesidad de
exportarlosarchivosaunpaquetedesoftwareestadsticofueradelabasededatos,lo
que reduce los costos y mejora la eficiencia. Con un lenguaje de procedimiento
integrado/ lenguaje de consulta estructurado (PL / SQL) e interfaces de Java de
programacin de aplicaciones (API), Oracle DM permite a los usuarios construir
modelos.
ODMofrecedosversiones,unaenlaqueatravsdeunainterfazgrficalosusuarios
podrn aplicar las tcnicas de mineras de datos que consideren necesarias y una
versin en la que los desarrolladores podrn utilizar la API de SQP para crear
aplicacionesamedida.
Imagen5:VentanaprincipaldeOracleDataMiner
SetratadelaherramientamspotenteparatrabajarconbasesdedatosdeOracle,si
bienhabrquepagarunalicenciaporsuuso.
Para obtener ms informacin sobre la herramienta se puede consultar su seccin
dentro de la web de Oracle a travs del siguiente enlace:
http://www.oracle.com/products/database/options/advancedanalytics/index.html
12
2.7.RapidMiner
RapidAnalytics:VersinServidordeRapidMiner.Permitetrabajocolaborativo,
escalable y concurrente de mltiples usuarios, capacidad de delegar en bases
de datos (InDatabase Mining) y otras mejoras de funcionalidad como:
plataforma Web de publicacin de informes, implementacin de sistemas de
scoring,diseoynavegacinWebdeinformes,Singlesignoneintegracinva
ServiciosWeb,entreotras.
EstdesarrolladoenJava.
Esmultiplataforma.
RepresentacininternadelosprocesosdeanlisisdedatosenficherosXML.
Permite a los experimentos componerse de un gran nmero de operadores
anidablesarbitrariamente,quesedetallanenarchivosXML.
Permiteeldesarrollodeprogramasatravsdeunlenguajedescript.
Puedeusarsedediversasmaneras:
AtravsdeunGUI.
Enlneadecomandos.
Enbatch(lotes)
Desdeotrosprogramas,atravsdellamadasasusbibliotecas.
Extensible.
Incluyegrficosyherramientasdevisualizacindedatos.
DisponedeunmdulodeintegracinconR.
Softwaredecdigoabierto.
Adems, esta aplicacin ofrece ms de 500 operadores para todos los principales
procedimientos de mquina de aprendizaje, y tambin combina esquemas de
aprendizajeyevaluadoresdeatributosdelentornodeaprendizajeWeka.
13
Imagen6:rbolesdedecisinconRapidminer
Finalmente,altratarsedeunsoftwarelibreydecdigoabiertopuedeserdescargado
atravsdelsiguienteenlace:http://rapidi.com/content/view/181/190/
2.8.KNIME
KNIME(KonstanzInformationMiner)esunaplataformade
cdigoabiertodefcilusoycomprensibleparaintegracin
dedatos,procesamiento,anlisisyexploracin.
14
Por otro lado, a travs de plugins, los usuarios pueden aadir mdulos de texto,
imgenes,procesamientodeseriesdetiempoylaintegracindevariosproyectosde
cdigoabierto,talescomoellenguajedeprogramacinR,WEKA,elkitdedesarrollo
deQumicayLIBSVM.
Imagen7:rbolesdedecisinconKNIME
2.9.R
Resunentornoestadsticotremendamentepotenteycompleto.Las
llamadasaRserealizanenlneadecomando,sibienexistenalgunas
interfaces grficas (Rcommander, etc) que facilitan el uso de este
programa. Fue desarrollado inicialmente por el Departamento de
EstadsticadelaUniversidaddeAuckland,NuevaZelanda,en1993.
R es un lenguaje de programacin y entorno de software de cdigo abierto para
computacin y grficos estadsticos. Proporciona mltiples tcnicas para simulacin,
modeladolinealynolineal,anlisisdeseriestemporales,pruebasestadsticasclsicas,
clasificacin,agrupacinenclsteres,etc.
ElentornodeRsecaracterizaporsuflexibilidadeincluye,entreotros:
Unbuengestordedatos.
Unconjuntodeoperadoresparaclculosenarrays(vectoresdegrantamao)
Unconjuntointegradodeherramientasdeanlisisdedatos.
15
Funcionesgrficasparaanlisisyvisualizacindelosdatos.
Un lenguaje de programacin simple que incluye condicionales, bucles,
funcionesrecursivasdefinidasporelusuarioycapacidadesdeentradaysalida.
Rattle: que ofrece al usuario una interfaz grfica para aplicar tcnicas de
mineradedatosagrandesbasesdedatos.
Imagen8:InterfazdeRattle
2.10.Orange
16
PormediodescriptsdesdePython.
Pormediodewidgets(componentesGUI),desdeCANVAS.
SetratadeunaaplicacinmultiplataformaysedistribuyebajolicenciaGPL.
Adems,orangeproporcionacomponentespara:
Preprocesamientodedatos:seleccin,discretizacin,etc.
Tcnicasdevalidacindelmodelo,comolavalidacincruzada.
Imagen9:FlujodetrabajoyClusteringconOrange
17
2.11.WEKA
Tantolaaplicacincomolosmanualesdereferenciasepuedendescargaratravsde
lawebdelproyecto:http://www.cs.waikato.ac.nz/ml/weka/.
18
3.IntroduccinaWEKA
3.1.Introduccin
WEKA,acrnimodeWaikatoEnvironmentforKnowledgeAnalysis,esunentornopara
experimentacin de anlisis de datos que permite aplicar, analizar y evaluar las
tcnicas ms relevantes de anlisis de datos, principalmente las provenientes del
aprendizajeautomtico,sobrecualquierconjuntodedatosdelusuario.
Este programa se distribuye como software de libre distribucin (licencia GNUGPL)
desarrollado en Java y dispone de tres entornos de trabajo grficos y un entorno en
modo consola, permitiendo la implementacin de algoritmos para preprocesamiento
de datos, clasificacin, regresin, clustering, seleccin de atributos, reglas de
asociacin,etc.
EldesarrollodeWEKAseinicien1993enlaUniversidaddeWaikato(NuevaZelanda)
siendo la primera versin pblica Weka 2.1 la del ao 1996. Actualmente, la ltima
versindeWEKAesla3.6estandodisponibleparalosprincipalessistemasoperativos
tantolibrescomocomerciales.
WEKAsepuededescargarenlawebdelaUniversidaddeWaikatoatravsdelenlace
http://www.cs.waikato.ac.nz/ml/weka/. Se puede consultar desde el manual de
referencia para la aplicacin y otras publicaciones relacionadas, como descargar
ejemplospararealizarensayosconestaherramienta:
Imagen10:WebdeWEKA
19
El potencial usuario podr descargar e instalar WEKA siguiendo las directrices del
manualdereferencia.Unavezlainstalacinsehayarealizadodeformacorrectapodr
accederalaherramientacuyainterfazdeiniciosemuestraacontinuacin:
Imagen11:InterfazprincipaldeWEKA
3.2.Losdatos
WEKA utiliza un formato de datos denominado arff (Attribute Relation File Format).
Cadaunodeestosficherosconstade3partes:
Cabecera.Definidapor:@relation<nombreconjuntodedatos>
Declaracindeatributosovariables.Atravsde:
@attribute<nombrevariable><tipo>
siendoelvalordetipo:string,numeric,integer,dateonominal.
Seccindedatos.Definidosdelasiguienteforma:
@data
dondesetendrunalneaparacadaregistro,losvaloresestarnseparadospor
comasylosvaloresperdidosserepresentanmedianteelcarcter?.
Ademsesposibleescribircomentariosenesefichero,precedidosdelcaracter%.
20
Imagen12:Ejemplodeficherodedatosarff
3.3.SimpleCLI
Se trata de una de las aplicaciones a la que se puede acceder a travs de la interfaz
principaldeWEKA.
Imagen13:InterfazdeSimpleCLI
java<nombredelaclase><args>:Permiteejecutarunadeterminadaclasede
WEKA.
break:Detienelatareaactual.
21
kill:Finalizalatareaactual.
cls:Limpiaelcontenidodelaconsola.
history:Muestraelhistorialdeordenesejecutadas.
exit:Saledelaaplicacin.
help<comando>:Proporcionaunabrevedescripcindecadamandato.
3.4.Explorer
Setratadeotradelasaplicacionesalaqueseaccedeatravsdelainterfazprincipal
deWEKA.Estaherramientapermite,entreotrastareas,llevaracabolaejecucinde
los algoritmos de anlisis implementados sobre los ficheros de entrada. A estas
funcionalidadessepuedeaccederatravsdelassiguientespestaas:
Preprocess: permite la visualizacin y preprocesado de los datos (aplicacin de
filtros)
Classify:tilparalaaplicacindealgoritmosdeclasificacinyregresin.
Cluster:conjuntodetcnicasdeagrupacin.
Associate:mtodosdeasociacin.
SelectAttributes:seleccindeatributos.
Visualize:visualizacindelosdatosporparejasdeatributos.
Imagen14:InterfazdeExplorerconlapestaaPreprocessactivada
22
3.4.1.PestaaPreprocces
Estaeslaprimerapestaadelaaplicacinyesimprescindiblepararealizarcualquier
tipo de anlisis pues es en ella donde introduciremos los datos con los que vamos a
trabajar,bienatravsdeunfichero(Openfile),bienatravsdeunaurl(OpenURL),
basesdedatos(OpenDatabase)obienintroduciendolainformacindirectamenteen
laaplicacin(Generate)
SienlawebdeWEKAhemosdescargadopreviamenteelficheroweather.arff,ahora
podremoscargarlopulsandoelbotnOpenfile,siendoelresultadodeelloelquese
muestraenlasiguienteimagen.
Imagen15:PestaaPreprocessconelficheroweather.arffcargado
Una vez cargado el fichero se visualizan los atributos o variables del fichero y para
aquellos que seleccionemos (Attributes) podremos ver un resumen estadstico
(Selectedattribute)
Porotroladolasherramientasdepreprocesamientosedenominanfiltro(Filter)ycada
filtroactaenunodelossiguientesniveles:
ParavisualizarlosfiltrosbastarapulsarelbotnChoosedentrodelaseccinFilter.Es
ahdondeseleccionaremosquefiltroutilizarenfuncindenuestroobjetivo.Losfiltros
sedividenen:
Imagen16:SeleccindeltipodefiltroenlapestaaPreprocess
3.4.2.PestaaClassify
Enestapestaasepodrdefiniryresolverunproblemadeclasificacin.Puedeocurrir
que,enocasiones,elproblemadeclasificacinseformulecomounrefinamientoenel
anlisis, una vez que se han aplicado algoritmos no supervisados de agrupamiento y
asociacinparadescribirrelacionesdeintersenlosdatos.
Adems se busca construir un modelo que permita predecir la categora de las
instancias en funcin de una serie de atributos de entrada. En el caso de WEKA, la
claseessimplementeunodelosatributossimblicosdisponibles,queseconvierteen
24
lavariableobjetivoapredecir.Pordefecto,eselltimoatributo(ltimacolumna)ano
serqueseindiqueotroexplcitamente.
Imagen17:PestaaClassify
Al pulsar sobre la pestaa aparece por defecto el clasificador ZeroR, si bien podr
seleccionarseotropulsandoelbotnChoose.
En la parte inferior (Test options) se podrn incluir y modificar los parmetros
asociadosalclasificadoratravsdelasopciones:
Use training set: En esta opcin se entrenar el mtodo con todos los datos
disponiblesyluegoseaplicarsobrelosmismos.
Percentagesplit:Sedefineunporcentajedelosdatosconelqueseconstruir
elclasificadoryconlaparterestanteserealizarnlaspruebas.
Para introducir ms opciones (Output Model, Output perclass stats, Output entropy
evaluation mesures, Output confusion matrix ) pulsaramos el botn More options.
FinalmenteypulsandoelbotnStartsepodrnvisualizarlosresultadosenlaseccin
ClassifieroutputenfuncindelquehayamosseleccionadoenlaseccinResultlist.
25
3.4.3.PestaaCluster
WEKAofrecedistintasposibilidadesdeaplicaralgoritmosdeclustering(oclasificacin
nosupervisada)sobrelosdatos.Lastcnicasdeclusteringseutilizanenbasesdedatos
nosupervisadasenlasquelavariableclasenoexiste(onosehadefinido).Aspuesel
objetivo fundamental de esta tcnica es descubrir (class discovery) dichas clases o
estructuras diferenciadas en los datos de estudio. El programa WEKA ofrece en la
pestaaClustervariosalgoritmosdecluster,entreelloseldeKmediasyelEM.
Imagen18:PestaaCluster
LadistribucindelasseccionesyopcionesdelaseccinClusteresmuysimilaraldela
pestaaClassify.Porlotanto,unavezelegidoelmtododeclustering,seseleccionan
las opciones pertinentes, con el botn Start se ejecuta el proceso y en las secciones
ResultlistyClustererouputsevisualizarnlosresultados.
3.4.4.PestaaAssociate
En esta pestaa el usuario podr realizar diferentes algoritmos de asociacin. Estos
algoritmos permiten la bsqueda automtica de reglas que relacionan conjuntos de
atributos entre s. Son algoritmos no supervisados, en el sentido de que no existen
relaciones conocidas a priori con las que contrastar la validez de los resultados, sino
queseevalasiesasreglassonestadsticamentesignificativas.
26
Imagen19:PestaaAssociate
3.4.5.PestaaSelectattributes
Enestapestaatrataremosdedeterminarquatributosformarnpartedelmodelo;
es decir, eliminaremos aquellos atributos que resulten redundantes e irrelevantes.
Adems,sihayunnmeroexcesivodeatributospuedeconllevaraobtenerunmodelo
demasiadocomplejoyseproduzcasobreajuste.
EnWEKA,laseleccindeatributossepuedehacerdevariasmaneras,siendolams
directalaqueserealizaatravsdeestapestaa.Enellatenemosqueseleccionar:
Elmtododeevaluacin(AttributeEvaluator):eslafuncinquedeterminala
calidaddelconjuntodeatributosparadiscriminarlaclase.Sepuedendistinguir
entre los mtodos que directamente utilizan un clasificador especfico para
medir la calidad del subconjunto de atributos a travs de la tasa de error del
clasificadorylosqueno.
Elmtododebsqueda(SearchMethod):eslamaneraderealizarlabsqueda
deconjuntosdeformaeficiente.
Unavezseleccionadoalgunodeestosmtodospodremosdeterminarlaformaenque
seleccionaran los atributos (usando un conjunto completo de entrenamiento o
mediantevalidacincruzada)enlaseccinAttributeSelectionMode.
Finalmente los resultados obtenidos se podrn visualizar a travs de las secciones
ResultlistyAssociatoroutput.
27
Imagen20:PestaaSelectattributes
3.4.6.PestaaVisualize
Enltimolugar,aunquesuutilizacinpuedeserrecomendableenlasprimerasetapas
delprocesodeanlisis,seencuentralapestaaVisualize.
La herramienta de visualizacin de WEKA permite presentar grficos 2D interactivos
que relacionen pares de atributos, con la opcin de utilizar adems los colores para
aadir informacin de un tercer atributo. Adems, permite detectar grficamente la
existencia de asociaciones y correlaciones entre atributos, as como seleccionar
instanciasdeformagrfica,quepuedenseralmacenadasposteriormenteenformato
arff.
Al pulsar sobre la pestaa, aparecern los grficos correspondientes a todas las
combinaciones posibles de atributos. Debajo de ellos aparecen varias opciones de
edicindegrficos:
Plotsize:indicaeltamaodelgrficoenpxeles.
PointSize:defineeltamaodelpuntoenpxeles.
Jitter: Crea un ruido aleatorio a las muestras, de manera que espacia las
muestras que estn fsicamente muy prximas, esto tiene tilidad cuando se
concentrantantolospuntosquenoesposiblediscernirlacantidaddestosen
unrea.
Color:Indicaloscoloresqueseutilizarnparalasclasesdelosatributos.
28
Imagen21:PestaaVisualize
Finalmente pulsando sobre cada grfico podemos verlo ampliado y modificar sus
atributos a travs de las opciones que existen al respecto, as como guardar en un
ficheroarfflosdatosallvisualizados.
3.5.Experimenter
SetratadeotradelasherramientasqueaparecenenlainterfazinicialdeWEKAycon
ellatrataremosdecompararelrendimientodelosdistintosalgoritmosimplementados
en la aplicacin. Adems permite aplicar diferentes algoritmos sobre diferentes
conjuntos de datos, lo que resulta muy til para realizar contrastes de hiptesis o
elaborar indicadores estadsticos; resultando de gran importancia en problemas de
clasificacinyregresin.
Al acceder a esta herramienta se visualizan, en la parte superior, tres pestaas que
analizamosacontinuacin:
3.5.1.PestaaSetup
Enella,Experimentersepuedeconfigurardedosformas,SimpleoAdvanced:
29
ConfiguracinSimple:
Es la configuracin que aparece por defecto cuando se pulsa la pestaa
Experimenter. En ella habr que definir un fichero configuracin que contendr
todoslosajustes,ficherosinvolucrados,notas,etc,pertenecientesalexperimento
yunficherodesalidadondeseguardarnlosresultados.
SeguidamenteenlaseccinExperimentTypeseintroducireltipodevalidacin
que tendr el experimento; esto es, validacincruzada estratificada,
entrenamiento con un porcentaje de la poblacin tomando ese porcentaje de
forma aleatoria y entrenamiento con un porcentaje de la poblacin tomando el
porcentajedeformaordenada.
Imagen22:PestaaSetupconconfiguracinSimple
ConfiguracinAdvanced:
Estaconfiguracinestorientadaarealizartareasespecficasmsconcretasque
las obtenidas a travs de un experimento sencillo. A travs de esta opcin es
posible repetir el experimento variando el tamao del conjunto de datos,
distribuir la ejecucin del experimento entre varios ordenadores o realizar
experimentosdemodoincremental.
30
Paracomenzaratrabajarsehadeintroducirelficheroconfiguracin,unfichero
de resultados e introducir y configurar el mtodo generador de resultados que
vamosautilizar.WEKApermitelossiguientesmtodos:
Imagen23:PestaaSetupconconfiguracinAdvanced.
Unavezseleccionadoelgeneradorderesultadospodemoseditaralgunasdesus
propiedades, adems de aadir algoritmos, en la seccin Generator properties,
mientrasqueenlaseccinRunssepuedeseleccionarlasiteracionesconlaquese
realizarelexperimento.
Una de las caractersticas ms interesantes del modo experimentador es que
permite distribuir la ejecucin de un experimento entre varios ordenadores
mediante Java RMI. Esta tarea se llevar a cabo en la seccin Distribute
experiment.
OtrasseccionesdelaherramientasonIterationcontrol,queesdondeseestablece
elordendelaiteracinyDatasets,dondesedefinenlosconjuntosdedatossobre
losqueactuarnlosalgoritmosdeaprendizaje.
31
3.5.2.PestaaRun
En esta pestaa el usuario ejecutar o detendr el experimento. En la seccin Log
aparecerciertainformacinsobreelprocesodeejecucin(horadeinicio,finalizacin,
posibleserrores,etc.)
Imagen24:PestaaRun
3.5.3.PestaaAnalyse
En esta pestaa analizaremos los datos; es decir, podremos ver los resultados de los
experimentos,realizarcontrastesestadsticos,etc.
Imagen25:PestaaAnalyse
32
Unavezseleccionados,enlaseccinSource,losdatosdelosresultados(pulsandoFile,
DatabaseoExperiment)sedefineeltestquequeremosrealizarenlaseccinConfigure
test;quetendrcomoopciones:
Testingwith:Seleccindeltestquevamosaaplicar.
Row:Definelosatributosqueactuarncomofilasenlamatrizderesultados.
Comparisonfields:Elatributoquevaasercomparadoenelcontraste.
Significance:Niveldesignificacinpararealizarelcontrasteestadstico.
Sorting(asc.)by:Obtenerlosresultadosordenadosdeformaascendentesegn
unatributo.
DisplayedColumns:Columnasquesevanamostrar.
Showstd.Deviations:Marcamossiqueremosquesemuestrenlasdesviaciones
tpicas.
OutputFormat:Sideseamosalmacenarlosresultadosdelexperimento.
3.6.KnowledgeFlow
LaherramientaKnowledgeFlow(flujodeconocimiento)muestradeunaformagrfica
eldesarrollodelexperimentoqueserealizaenWEKA.Aspuessebasaensituarenel
panel de trabajo (Knowledge Flow Layout), elementos base (situados en la seccin
superior)demaneraquecreemosuncircuitooflujoquedefinanuestroexperimento.
Imagen26:InterfazdeKnowledgeFlow
33
Enlapartesuperiordelapantallaaparecenunconjuntodepestaas:
DataSources:Dondeelegiremoselficherodeentradadedatos.Existenvarias
opcionesyparaseleccionarlasbastaraconmarcarlasconelbotnizquierdoy
marcarellugardondelavamosasituardentrodelpaneldetrabajo.
Filters:Dondedefiniremoslosfiltrosqueaplicaremosalosdatos.
Classifiers:Enestecasoestableceremosalgoritmosdeclasificacinyregresin.
Associations:Seaplicarnmtodosdeasociacinalosdatos.
Evaluation:Dondeestablecerdistintastcnicasdeevaluacindelosresultados.
Para aadir las especificaciones de cada uno de los elementos que hayamos
introducidoenelpaneldetrabajohabrquehacerdobleclicksobrecadaunodeellos.
Ahora bien, si queremos conectar dos elementos de ese panel de trabajo nos
situaramos sobre uno de ellos y haciendo click con el botn derecho del ratn
estableceremoslaordenquevamosarealizarygrficamenteseleccionaremossobre
quelementovamosaaplicarlo.
Porejemplo,siqueremosrealizarunprocesodevalidacincruzadasobreunconjunto
dedatosalmacenadosenunficheroarff,deberemosintroduciresosdoselementosen
el panel de trabajo, uno a travs de la pestaa DataSources (seleccionando Arff
Loader)yelotroatravsdelapestaaEvaluation(seleccionandoCrossValidation).
Unavezquehemosintroducidoelficheroconelquevamosatrabajarenelelemento
Arff Loader y dejado por defecto la configuracin de CrossValidation conectamos
ambos elementos pulsando el botn derecho sobre el elemento Arff Loader y
seleccionamos Dataset y seguidamente lo asignamos a CrossValidation. Este proceso
sevisualizaenlasiguienteimagen:
Imagen27:InterfazdeKnowledgeFlowunavezintroducidosdoselementos
34
DataVisualizer:Visualizadatosen2D.
AtributteSummarizer:Histogramas,unoporatributo.
ModelPerformanceChart:CurvasROC.
TextViewer:Visualizadatosomodelosentexto.
GraphViewer:Visualizamodelosderboles.
b)reaEvaluation:
CrossValidationFoldMaker:Dividedatasetsenfolds.
TrainTestSplitMaker:Divideundatasetentrain/test.
ClassAsigner:Asignaunatributocomoclase.
ClassValuePicker:Eligeunvalorcomoclasepositiva.
ClassifierPerformanceEvaluator:Recolectaestadsticasparaevaluacinbatch.
IncrementalClassifierEvaluator:
incremental.
ClustererPerformanceEvaluator:Recolectaestadsticasparaclustering.
PreddictionAppender:Aadeprediccionesdeunclasificadoraundataset.
evaluacin
35
4.TcnicasdeClasificacinaplicadasa
datosobtenidosporelCentroAndaluz
deMedioAmbiente
4.1.ElCentroAndaluzdeMedioAmbiente
ElCentroAndaluzdeMedioAmbiente(CEAMA)es
un centro mixto Junta de Andaluca y Universidad
de Granada, abierto a la participacin y
colaboracin con otras instituciones de I+D y de
gestin preferentemente andaluzas. Se encuentra
ubicadoenlaciudaddeGranadayformapartede
la estructura de centros de investigacin
desarrolladaporelPlanAndaluzdeInvestigacin.
36
4.2.Clasificadores
Aprender cmo clasificar objetos a una de las categoras o clases previamente
establecidas, es una caracterstica de la inteligencia de mximo inters para
investigadores, dado que la habilidad de realizar una clasificacin y de aprender a
clasificar,otorgaelpoderdetomardecisiones.
Definicin:SeaEunconjuntodedatos,elobjetivodelaclasificacinesaprenderuna
funcin,L:XY,denominadaclasificador,querepresentelacorrespondenciaexistente
enlosejemplosentrelosvectoresdeentradayelvalordesalidacorrespondiente.
Yesnominal,esdecir,puedetomarunconjuntodevaloresy1,y2,,yKdenominados
clasesoetiquetas.Lafuncinaprendidasercapazdedeterminarlaclaseparacada
nuevoejemplosinetiquetar.Elxitodeunalgoritmodeaprendizajeparaclasificacin
dependeengranmedidadelacalidaddelosdatosqueseleproporcionan.
Laaplicacindeunalgoritmodeaprendizajeclasificadortienecomoobjetivoextraer
conocimientodeunconjuntodedatosymodelardichoconocimientoparasuposterior
aplicacinenlatomadedecisiones.Existendistintasformasderepresentarelmodelo
generado.Entrelasestructurasmsutilizadasestnlarepresentacinproposicional,
los rboles de decisin, las reglas y listas de decisin, reglas con excepciones, reglas
jerrquicasdedecisin,reglasdifusasyprobabilidades,yredesbayesianas.
4.2.1.Evaluacindelrendimientodeunclasificador
Evaluar el comportamiento de los algoritmos de aprendizaje es un aspecto
fundamental; no slo es importante para comparar algoritmos entre s, sino que en
muchoscasosformapartedelpropioalgoritmodeaprendizaje.Laformamshabitual
demedirlaeficienciadeunclasificadoreslaprecisinpredictiva(accuracy).Cadavez
quesepresentaunnuevocasoaunclasificador,estedebetomarunadecisinsobrela
etiqueta que se le va a asignar. Considerando un error como una clasificacin
incorrecta de un ejemplo, se puede calcular fcilmente la tasa de error, o su
complementaria,latasadeacierto.
Definicin:Sedenominaprecisindeunclasificadoralresultadodedividirelnmero
declasificacionescorrectasporelnmerototaldemuestrasexaminadas.
Laprecisinesunabuenaestimacindecmosevaacomportarelmodeloparadatos
desconocidossimilaresalosdeprueba.Sinembargo,sisecalculalaprecisinsobreel
propioconjuntodedatosutilizadoparagenerarelmodelo,seobtieneconfrecuencia
unaprecisinmayoralareal,esdecir,sernestimacionesmuyoptimistasporutilizar
los mismos ejemplos en la induccin del algoritmo y en su comprobacin. La idea
bsicaesestimarelmodeloconunaporcindelosdatosyluegocomprobarsuvalidez
con el resto de los datos. Esta separacin es necesaria para garantizar la
independencia de la medida de precisin resultante; de no ser as, la precisin del
modelosersobreestimada.
37
Paratenerseguridaddequelasprediccionesseanrobustasyprecisas,seconsideran
dos etapas en el proceso de construccin de un modelo: entrenamiento y prueba,
partiendolosdatosendosconjuntos,unodeentrenamientoyotrodetest.
4.3.ClasificacinconWEKA
Para realizar una clasificacin, ser necesario elegir un clasificador y configurarlo en
funcindelasnecesidadesdelaimplementacin.WEKAposeecuatrotiposdemodo
deprueba:
Use training set: Esta opcin evala el clasificador sobre el mismo conjunto
sobreelqueseconstruyeelmodelopredictivoparadeterminarelerror,queen
estecasosedenomina"errorderesustitucin".Portanto, estaopcin puede
proporcionar una estimacin demasiado optimista del comportamiento del
clasificador al evaluarlo sobre el mismo conjunto sobre el que se hizo el
modelo.
Crossvalidation:Evaluacinconvalidacincruzada.Serealizarunavalidacin
cruzada estratificada del nmero de particiones dado (Folds). Una validacin
cruzada es estratificada cuando cada una de las partes conserva las
propiedadesdelamuestraoriginal(porcentajedeelementosdecadaclase)
Percentagesplit:Estaopcindividelosdatosendosgruposdeacuerdoconel
porcentaje indicado (%). El valor indicado es el porcentaje de instancias para
construir el modelo, que a continuacin es evaluado sobre las que se han
dejado aparte. Cuando el nmero de instancias es suficientemente elevado,
esta opcin es suficiente para estimar con precisin las prestaciones del
clasificadoreneldominio.
EnlasiguientefigurasepuedeverunejemplodeclasificacinhaciendousodeCross
validation.
38
Imagen28:Resultadodeaplicarvalidacincruzada
Seleccindeclasificadores
Elproblemadeclasificacinsiempreserealizasobreunatributosimblico,enelcaso
deutilizarunatributonumricoseprecisa,portanto,discretizarloantesenintervalos
querepresentarnlosvaloresdeclase.Existenochofamiliasdeclasificadores,perolos
ms utilizados son cuatro: los bayesianos, los metaclasificadores, las reglas y los
rbolesdedecisin.Acontinuacinseexplicarcadaunodeestosclasificadoresyse
pondrunejemploparafacilitarsucomprensin.
39
Reglas:Existendiversosmtodosparagenerarreglasdeclasificacinen
losconjuntosdeentrenamiento.
rbolesdedecisin:Losrbolessonunamaneraprcticaparavisualizarla
clasificacindeunconjuntodedatos.
4.4.Datosutilizados
Los datos con los que hemos realizado este trabajo proceden del Grupo de
Investigacin de Fsica de la Atmsfera del CEAMA. Este grupo tiene entre sus
objetivos:
Mediryanalizarlaradiacinatmosfrica.
Realizarestudiosdeteledeteccinaplicadaalacaracterizacindelaspartculas
atmosfricasensuspensinylasnubes.
40
Descripcin
YEAR
Ao
MONTH
Mes
DAY
Da
DAY_J
Dajuliano
HOUR
Hora
MIN
Minuto
SZA
nguloCenitalSolar
AZIMU
nguloAzimutal
TOA
RadiacinenTOA(cimadelaatmsfera)
UVER
RadiacinUltravioletaeritemtica
GLO
RadiacinGlobal
DIF
RadiacinDifusa
OKTAS
Oktas(medidadelanubosidad)
POR_1
Porcentajedecielocubiertoeneloctante1
POR_2
Porcentajedecielocubiertoeneloctante2
POR_3
Porcentajedecielocubiertoeneloctante3
POR_4
Porcentajedecielocubiertoeneloctante4
POR_5
Porcentajedecielocubiertoeneloctante5
POR_6
Porcentajedecielocubiertoeneloctante6
POR_7
Porcentajedecielocubiertoeneloctante7
POR_8
Porcentajedecielocubiertoeneloctante8
AOD_870 AerosolOpticalDepth870(profundidadpticadelaerosol)
AOD_675 AerosolOpticalDepth675
AOD_440 AerosolOpticalDepth440
AOD_380 AerosolOpticalDepth380
ALPHA
ngulodeelevacinsolar
41
4.5.Anlisisdelosdatos
Enprimerlugar,apartirdelficherodedatoshemosgeneradounavariablecategrica
(CATEG)apartirdelahorayelminuto,contrescategoras:
I:desdelamenorhoraobservadahastalas11.59.
II:desdelas12horashastalas14:59.
III:desdelas15horashastalaltimahoraobservada.
Sehaneliminadodelficherolasvariablesreferentesadasyminutos;estoes,YEAR,
MONTH,DAY,DAY_J,HOURyMIN.Todosestoscambioshanquedadoreflejadosenel
ficherosimultaneos_2011.arff.
Finalmente,elobjetivoquenosplanteamosconestetrabajoesaplicarlosmtodosde
clasificacin descritos anteriormente para el conjunto de datos y estudiar cuales son
losfactoresquecaracterizancadaunadelascategorasogruposhorariosquehemos
creado.
ElprocesoseharealizadoatravsdelainterfazExplorerdeWEKAysehadivididoen
lossiguientespasos:
Paso1:Cargadelficherodedatossimultaneos_2011.arff
Para cargar el fichero se utiliza el botn OPEN FILE de la interfaz Explorer (pestaa
Preprocess). Una vez seleccionado el fichero simultaneos_2011.arff se mostrar la
siguientepantalla:
Imagen29:PestaaPreprocessunavezintroducidoslosdatos
Pulsando el botn Edit podremos visualizar los datos del fichero con que vamos a
trabajar.
42
Imagen30:Datosconlosqueserealizarelestudio
Paso2:Discretizacindelosatributosdelfichero
Aldiscretizarsedivideelrecorridodelatributonumricoenintervalos,quepuedenser
delamismaamplitudoconelmismonmerodeobservaciones(aproximadamente).
En este proceso, adems, se crea un atributo nominal en el que cada categora
correspondeaunintervalo.
PararealizaresteprocesopulsamoselbotnFilteryseleccionamoslaopcinDiscretize
dentrodelosfiltrosnosupervisados.
Imagen31:SeleccindelfiltroDiscretize
43
En nuestro caso una vez seleccionado este filtro no modificaremos ninguno de sus
parmetros asociados. Si lo deseamos podemos hacerlo pulsando sobre el filtro
apareciendolasiguientepantalla:
Imagen32:ParmetrosdelfiltroDiscretize
donde:
attibuteIndices: ndices de los atributos sobre los que actuar el filtro. Por
defectotodos.
Bins:Nmerodecategorasdelatributoresultante.
FindNumBins:Determinaelnmerodeintervalosdeformaptima.
InvertSelection:InviertelaseleccindeatributosindicadoenattributeIndices.
UseEqualFrequency:Intervalosconigualfrecuencia,aunquedistintaamplitud.
Talycomosehacomentado,ennuestrocasonosehamodificadoningunodeestos
parmetros, por lo que una vez seleccionado el filtro y pulsado el botn Apply se
realiza el proceso de discretizacin en los datos; as pues, cada observacin de cada
unadelasvariablesseintroducirensucorrespondienteintervalo.
44
Imagen33:Datostraselprocesodediscretizacin
Paso3:Aplicacindemtodosdeclasificacin
A)MtododeclasificacinNaveBayes
Talycomosehadescritoanteriormente,estemtododeclasificacinformapartede
losclasificadoresBayesianos;esdecir,basadosenelTeoremadeBayes.Estatcnica
involucra una hiptesis de difcil cumplimiento y funciona bien con bases de datos
reales;enespecial,cuandosecombinaconprocedimientosdeseleccindeatributos
paraeliminarlaredundancia.
En nuestro caso, para aplicar estemtodo habr que dirigirse a la pestaa Classify y
traspulsarelbotnChoose,seleccionarlotalycomosemuestraenlaImagen34.
Imagen34:SeleccindelclasificadorNaiveBayes
45
Unavezelegidorealizaremosesteprocesoparatresdeloscuatromtodosdeprueba
descritos anteriormente. No lo haremos para caso Supplied test set puesto que no
poseemos un conjunto independiente sobre el que evaluar los resultados. As pues
tenemos:
A1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsarelbotnStartsemuestralasiguienteinformacin:
Imagen35:SalidadeaplicarNaiveBayesyunconjuntodeentrenamiento
Sielvalores1:Concordanciaperfecta.
Sielvalores0:Concordanciadebidaalazar.
Sielvaloresnegativo:Concordanciamenorquelaquecabraesperarporazar.
Porlotanto,ennuestrocaso,tenemosunaltogradodeconcordancia.
46
Imagen36:SeleccindelaopcinOutputpredictions
Losindicadoresasociadosalerrordelaclasificacinson:
Meanabsoluteerror:
1
| |
0.1655.
47
Rootmeansquarederror:
1
0.2953.
Relativeabsoluteerror(%):
100
39.0479
Rootrelativesquarederror(%):
100
64.1547
==ConfusionMatrix===
abc<classifiedas
4320751207|a=I
439212170|b=II
499692673|c=III
Esdecir,delos5.278casosdelgrupoI,4.320sehanclasificadocorrectamente,751se
hanclasificadodentrodelgrupoIIy207sehanclasificadodentrodelgrupoIII.Amodo
deresumenpodemosclasificarestosvalorescomo:
Falsospositivos(FP):Instanciasquesonnegativasperoelsistemadicequeno
loson.Porejemplo,tenemos439casosquepertenecenalgrupoIIyquehan
sidoclasificadascomoI.
48
Falsosnegativos(TN):Instanciasquesonpositivasyqueelsistemadiceque
no lo son. Por ejemplo existen 751 casos del grupo I que se han clasificado
dentrodelgrupoII.
Apartirdeestosvaloressecalculanlosindicadoresdeprecisinparacadaclase,que
sedefinencomo:
Tasadeverdaderospositivos:
Tasadefalsospositivos:
Medidadeprecisin:
Recall:
yesequivalentea:
MedidaF:
Elresultadodeestosindicadoressemuestraenlasalidadelclasificador,obteniendo:
==DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallFMeasureROCAreaClass
0.8180.160.8220.8180.820.912I
0.8060.0960.7210.8060.7610.944II
0.8250.0350.9060.8250.8640.972III
WeightedAvg.0.8170.1090.8220.8170.8190.937
Mejoradeprecisindelclasificador
Hay que hacer que notar que un ejemplo de mtodo de aprendizaje que reduce su
calidad ante la presencia de atributos no relevantes es el mtodo Naive Bayes. Tal y
49
Seguidamentevamosacomprobarsilosatributosnorelevantesestnafectandoala
calidad del mtodo, por lo que vamos a efectuar un filtrado de atributos. Para ello
vamosalaseccinSelectAttributesdondeencontramosdosfamiliasdetcnicaspara
realizaresteproceso:
Dadaslascaractersticasdelproblemaenestecasopodemosprobarconunatcnica
wrapper realizando una bsqueda exhaustiva. Para ello, pulsamos Choose de
AttributeEvaluator y seleccionamos el mtodo WrapperSubsetEval. Para configurarlo
pulsamos en la ventana de texto. Vamos a utilizar el propio NaiveBayes para el
wrapper, por lo que seleccionaremos el mtodo en classifier. Por otra parte, en
SearchMethod indicamos que queremos una bsqueda exhaustiva eligiendo
ExhaustiveSearch. Una vez configurada la herramienta, pulsamos el botn Start,
mostrndoselainformacindelaImagen37.
Imagen37:Pestaadeseleccindeatributos
volvemosalapantallaPreprocess,yeliminamoslosatributosdescartadosmarcndolos
enlapartedeAttributesypulsamosenRemove.
Finalmente, para conocer la precisin que obtiene NaiveBayes con este subconjunto
de atributos, volvemos a la ventana Classify y seleccionamos el mtodo NaiveBayes
usando un conjunto de entrenamiento. El resultado muestra que el porcentaje de
instancias correctamente clasificadas ha aumentado al 82,0522%. El resto de
indicadoressepuedenvisualizarenlasiguienteimagen:
Imagen38:ClasificadorNaiveBayesconunconjuntodeentrenamiento
A2)Usandovalidacincruzada.Supuestoquehemoseliminadoaquellosatributosque
disminuyenlaprecisindelosestimadoresdeigualformaquelohemoshechoenel
apartado anterior; seguidamente, seleccionamos el mtodo Crossvalidation,
manteniendoelnmerodeplieguesqueaparecenpordefecto(10).Pulsandoelbotn
Startsemuestralasiguienteinformacin:
51
Imagen39:ClasificadorNaiveBayesyvalidacincruzada
A3) Dividiendo el fichero de datos. Al igual que en los apartados anteriores hemos
eliminadoaquellosatributosquedisminuyenlaprecisindelosestimadores.
SeguidamenteseleccionamoselmtodoPercentagesplit.Atravsdeestemtodoel
fichero de datos se divide en dos partes, de acuerdo al porcentaje indicado (que
dejaremosenel66%).Unaseusaparaconstruirelclasificadorylaotraparaevaluarsu
rendimiento.
52
Imagen40:ClasificadorNaiveBayesyPercentagesplit
53
B)MtododeclasificacinStacking
Tal y como hemos indicado anteriormente, Stacking es un metaclasificador, de
estructurabastantesencilla,quesebasaenlacombinacindemodelos,construyendo
un conjunto con los generados por diferentes algoritmos de aprendizaje. Como cada
uno de los modelos aprende a travs de un mecanismo de aprendizaje diferente, se
lograquelosmodelosdelconjuntoseandistintos.
Paranuestrospropsitos,vamosadefinirtresclasificadoresbase(NaiveBayes,OneRy
J48) y utilizar el clasificador J48 como meta clasificador para el conjunto de datos,
simultaneos_2011.arff,quehemosdiscretizadoenelapartadoanterior.
Imagen41:SeleccindeclasificadoresbaseymetaclasificadorparaelmtodoStocking
Unavezconfirmadosestoscambiosrealizaremosesteprocesoparalostresmtodos
de prueba con los que hemos realizado el anterior proceso de clasificacin. As pues
tenemos:
B1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsar el botn Start se muestran los modelos inducidos para cada clasificador
individual y para el modelo aprendido por el meta clasificador. El resultado final se
muestraenlaImagen42.
54
Imagen42:ResumendelosresultadosdeaplicarelmtodoStockingyunconjuntodeentrenamiento
B2)Usandovalidacincruzada.Paraesteapartadomantenemoslamismaeleccinde
clasificadoresbaseymetaclasificadorquehemosrealizadoenelpuntoB1.
ParaaplicarestemtodopulsamoslaopcinCrossvalidationdentrodelaseccinTest
Option.Ademsmantendremoselnmerodeplieguesqueaparecenpordefecto(10)
ypulsandoelbotnStartsemuestralasiguienteinformacin:
55
Imagen43:ResumendelosresultadosdeaplicarelmtodoStockingyvalidacincruzada
Amododeejemplo,lamatrizdeconfusinmuestraquedelos5.278casosdelgrupoI,
4.752sehanclasificadodeformacorrecta,309lohanhechocomodelgrupoIIy217
comodelgrupoIII.
56
Imagen44:ResumendelosresultadosdeaplicarelmtodoStockingcondivisindelfichero
Enestecaso,elporcentajedeinstanciasclasificadascorrectamenteesdeun85,703%
mientrasqueel14,297%lohansidodeformaerrnea,teniendocomoporcentajede
errorabsolutorelativo30,5271%.
El valor del ndice Kappa es de 0,7714 por lo que existe alto grado de concordancia
entrelascategoraspronosticadasporelclasificadorylascategorasobservadas.
Finalmente,atravsdelamatrizdeconfusinseobtieneentreotrascosas,quedelos
1.153casosdelgrupoIII,989sehanclasificadocorrectamente,132sehanclasificado
comodelgrupoIy32lohanhechocomodelgrupoII.
57
C)MtododeclasificacinOneR
Esteclasificadoresunodelosmssencillosyrpidos.Susresultadospuedensermuy
buenos en comparacin con otros algoritmos mucho ms complejos y su objetivo es
seleccionarelatributoquemejorexplicalaclasedesalida.
Para seleccionar este mtodo habr que elegirlo dentro de la seccin rules al pulsar
sobreelbotnChoosequeseencuentradentrodelapartadoClassifier.
Imagen45:SeleccindelmtodoOneR
C1)Usandounconjuntodeentrenamiento.AlseleccionarlaopcinUsetrainingsety
pulsar el botn Start se muestra informacin sobre el atributo que mejor explica la
clase de salida, en este caso, POR_3 e indicadores asociados la calidad de la
clasificacintalycomosemuestraenlaImagen46.
58
Imagen46:AplicacindelclasificadorOneRyunconjuntodeentrenamiento
Analizando estos resultados, vemos que la mejor prediccin posible con un solo
atributoeslavariablePOR_3conlossiguientesumbrales:
===Classifiermodel(fulltrainingset)===
POR_3:
'(inf9.9]' >I
'(9.919.8]' >III
'(19.829.7]' >III
'(29.739.6]' >III
'(39.649.5]' >III
'(49.559.4]' >III
'(59.469.3]' >III
'(69.379.2]' >III
'(79.289.1]' >III
'(89.1inf)' >III
(7085/11149instancescorrect)
Esdecir,pordebajodelvalor9,9lasinstanciasseclasificarncomoIporencimadeese
valorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.
59
Imagen47:AplicacindelclasificadorOneRyvalidacincruzada.
TraspulsarelbotnStartaparecelainformacinquesemuestraenlaImagen48.
60
Imagen48:AplicacindelclasificadorOneRcondivisindeficheros
La mejor prediccin posible con un solo atributo es la variable POR_3 con los
siguientesumbrales:
===Classifiermodel(fulltrainingset)===
POR_3:
'(inf9.9]' >I
'(9.919.8]' >III
'(19.829.7]' >III
'(29.739.6]' >III
'(39.649.5]' >III
'(49.559.4]' >III
'(59.469.3]' >III
'(69.379.2]' >III
'(79.289.1]' >III
'(89.1inf)' >III
(7085/11149instancescorrect)
Porlotanto,pordebajodelvalor9,9loscasosseclasificarncomoIporencimadeese
valorcomoIII.NoencontrandoningnvalorparaclasificardentrodelgrupoII.
61
D)AlgoritmodeclasificacinJ48
El algoritmo J48 implementado en Weka es una versin del clsico algoritmo de
rbolesdedecisinC4.5propuestoporQuilan.Losrbolesdedecisinentrandentro
de los mtodos de clasificacin supervisada, es decir, se tiene una variable
dependienteoclase,yelobjetivodelclasificadoresdeterminarelvalordedichaclase
paracasosnuevos.
Paraaplicarestealgoritmoanuestrosdatosdiscretizadosnossituamosenlapestaa
Classify y dentro de la seccin Classifier pulsamos Choose, seguidamente
seleccionamosJ48enTrees.
Imagen49:SeleccindelalgoritmoJ48.
Una vez seleccionado este mtodo de clasificacin y para cada modo de prueba
obtenemoslossiguientesresultados:
Imagen50:ResultadodeaplicarelalgoritmoJ48yunconjuntodeentrenamiento
Entrelosresultadosqueseobtienen,apartedelosindicadoressobrelaprecisindela
clasificacin, tenemos que el programa genera el rbol de decisin para nuestros
datos.Partedeeserbolsemuestraacontinuacin.
===Classifiermodel(fulltrainingset)===
J48prunedtree
POR_2='(inf9.9]'
|POR_3='(inf9.9]'
||POR_7='(inf10]'
|||POR_4='(inf9.9]'
||||POR_1='(inf11.7]'
|||||POR_8='(inf10]'
||||||AZIMU='(inf11.100981]':II(241.0/50.0)
||||||AZIMU='(11.10098122.200872]'
|||||||UVER='(inf23862.3]'
||||||||GLO='(inf139.104]':II(0.0)
||||||||GLO='(139.104258.588]':II(0.0)
...
El ndice Kappa toma un valor de 0,8044 por lo que existe un alto grado de
concordancia entre las categoras pronosticadas por el clasificador y las categoras
observadas.
D2) Usando validacin cruzada. Para este caso seleccionamos el mtodo Cross
validation y mantenemos el nmero de pliegues que aparecen por defecto (10). Al
pulsar el botn Start se genera un nuevo rbol de decisin y el resumen de los
indicadoressobrelacalidaddelaclasificacin.
Imagen51:ResultadodeaplicarelalgoritmoJ48yvalidacincruzada
64
En este caso el porcentaje de casos clasificados correctamente es del 83,7474 %,
siendoeldemalclasificadosel16,2526%.ElndiceKappatomaelvalor0,7411quees
inferioraldelanteriormododeprueba.
Respecto a los niveles de precisin por clase las tasas verdaderos positivos para las
clasesIyIIson0,897y0,844respectivamente,mientrasqueparalaclaseIIesde0,71.
A travs de la matriz de confusin se muestra que de 2.630 instancias del grupo II,
1.868sehanclasificadocorrectamentemientrasque597sehanclasificadocomoIy
165lohanhechocomoIII.
TraspulsarelbotnStartsegeneraelcorrespondienterboldedecisinyelconjunto
deindicadoressobrelacalidaddelaclasificacin,loquesemuestraenlaImagen52.
Imagen52:ResultadodeaplicarelalgoritmoJ48condivisindelficherodedatos
El valor del ndice Kappa toma un valor de 0,7384 lo que significa queexiste un alto
grado de concordancia entre las categoras pronosticadas por el clasificador y las
categorasobservadas.
4.6.Conclusiones
Losresultadosobtenidosenlosanterioresprocesosdeclasificacinseresumenenla
siguientetabla:
Clasificador
NaveBayes
NaveBayes
(mejorade
precisin)
NaveBayes
(mejorade
precisin)
NaveBayes
(mejorade
precisin)
Stacking
Stacking
Stacking
OneR
OneR
OneR
J48
J48
J48
Error
absoluto
0,1655
Conjuntode
entrenamiento
82,6522
17,9478
0,7186
0,1646
Validacin
cruzada
81,7024
18,2976
0,7136
0,1671
Divisindel
fichero
81,4297
18,5703
0,7096
0,1681
88,0169
11,9831
0,8077
0,1244
85,344
14,656
0,7664
0,1275
85,703
14,297
0,7714
0,1295
63,5483
36,4517
0,3937
0,243
63,5483
36,4517
0,3937
0,243
64,6004
35,3996
0,41
0,236
87,7209
12,2791
0,8044
0,1147
83,7474
16,2526
0,7411
0,1381
83,5927
16,4073
0,7384
0,1459
Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero
Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero
Conjuntode
entrenamiento
Validacin
cruzada
Divisindel
fichero
66
TantoelclasificadorNaveBayes,comoelStackingyelJ48ofrecenunporcentajede
instanciascorrectamenteclasificadassuperioral81%,sibien,comosehacomprobado
con el clasificador OneR existe un atributo (POR_3) que permite clasificar de forma
correctaentornoaun64%delasinstancias.
RespectoalusodeunconjuntodeentrenamientoparaunmtodoStackinghayque
hacer notar que no deben usarse los mismos datos con que se entrenaron las bases
porque precisamente Stacking trata de corregir sus sesgos, aprende cmo cometen
errores (y pueden tener memoria del conjunto de entrenamiento). Por lo tanto es
recomendableutilizarparaelanlisislosotrosmodosdeprueba.
Finalmente,eselclasificadordeNaveBayeselquepeoresresultadoshaofrecido,an
habiendoeliminadoaquellosatributosquenosonrelevantesyqueafectanalacalidad
del mtodo. An as, los resultados obtenidos por este estimador resultan de gran
utilidad,yaqueesteclasificadorofreceunamedidaprobabilsticadelaimportanciade
lasvariablesqueintervienenenelproblema.
67
Bibliografa
RemcoR.Bouckaert,EibeFrank,MarkHall,RichardKirkby,PeterReutemann,
Alex Seewald, David Scuse. WEKA Manual for versin 3.7.8. University of
Waikato,2011.
Blanquero Bravo, Rafael. Introduccin a la minera de datos. Universidad de
Sevilla.Ao2010.http://rblanque.us.es
Blanquero Bravo, Rafael. Introduccin a WEKA. Universidad de Sevilla. Ao
2010.http://rblanque.us.es
GarcaMorate,Diego.ManualdeWeka.2005.
Ian H. Witten, Eibe Frank, and Mark A. Hall. Data Mining: Practical Machine
LearningToolsandTechniques.MorganKaufmann,Burlington,MA, 3edition,
2011.
J.L. Cubero, F, Berzal, F. Herrera. Fundamentos de Minera de datos. Mster
OficialdelaUniversidaddeGranadaenSoftComputingySistemasInteligentes.
2010.
Hernndez,J.yFerri,C.IntroduccinaWeka..CursodeDoctoradoExtraccin
Automtica de Conocimiento en Bases de Datos e Ingeniera del Software.
UniversitatPolitcnicadeValncia,Marzo2006.
GrahamWilliams.DataMiningwithRattleandR:TheArtofExcavatingDatafor
KnowledgeDiscovery.Springer,2011.
Lan Huang, David Milne, Eibe Frank, and Ian H. Witten. Learning a concept
based document similarity measure. Journal of the American Society for
InformationScienceandTechnology,2012.
Geoff Holmes. Developing data mining applications. In International
ConferenceonKnowledgeDiscoveryandDataMining,page225.ACM,2012.
J.HernndezOrallo,M.J.RamrezQuintana,C.FerriRamrez.Introduccinala
MineradeDatos.PearsonPrenticeHall,2004.
Albert Bifet, Geoff Holmes, Bernhard Pfahringer, and Eibe Frank. Fast
perceptron decision tree learning from evolving data streams. In Proc 14th
PacificAsiaConferenceonKnowledgeDiscoveryandDataMining,Hyderabad,
India,pages299310.Springer,2010.
C. Apte. The big (data) dig, OR/MS Today, Febrero 2003.
http://www.lionhrtpub.com/orms/orms203/frdatamining.html
M. Berthold, D.J. Hand. Intelligent Data Analysis: An Introduction. Springer,
1999.
D.Hand,H.Mannila,P.Smyth.PrinciplesofDataMining.TheMITPress,2001.
T. Hastie, R. Tibshirani, J. Friedman. The elements of Statistical Learning.
Springer,2001.
68