Patrones en árboles - elvex.ugr.eselvex.ugr.es/idbis/dm/slides/23 Pattern Mining - Trees.pdf ·...

24
Patrones en árboles Patrones en árboles © Fernando Berzal, © Fernando Berzal, [email protected] [email protected] Patrones en árboles Patrones en árboles Tipos de árboles Tipos de árboles Tipos de Tipos de subárboles subárboles / patrones en árboles / patrones en árboles POTMiner POTMiner [Partially Partially-Ordered Ordered-Tree Tree Miner Miner] Algoritmos Algoritmos Aplicaciones Aplicaciones 1

Transcript of Patrones en árboles - elvex.ugr.eselvex.ugr.es/idbis/dm/slides/23 Pattern Mining - Trees.pdf ·...

Patrones en árbolesPatrones en árboles© Fernando Berzal, © Fernando Berzal, [email protected]@acm.org

Patrones en árbolesPatrones en árboles

�� Tipos de árbolesTipos de árboles

�� Tipos de Tipos de subárbolessubárboles / patrones en árboles/ patrones en árboles

�� POTMinerPOTMiner [[PartiallyPartially--OrderedOrdered--TreeTree MinerMiner]]

�� AlgoritmosAlgoritmos

�� AplicacionesAplicaciones

11

Tipos de árbolesTipos de árboles

22

Árbol ordenado

Árbol no ordenado

Árboles parcialmente ordenados

Tipos de árbolesTipos de árboles

EjemploEjemplo

3 representaciones alternativas del mismo árbol3 representaciones alternativas del mismo árbol[no ordenado][no ordenado]

Codificación del árbolCodificación del árbol�� DFS [DFS [DepthDepth--firstfirst]: ]: A C B A C B ↑↑ AA ↑↑ ↑↑ BB�� BFS [BFS [BreadthBreadth--firstfirst]:]: A $ C B $ B AA $ C B $ B A�� DepthDepth sequencesequence:: ((0,A) (1,C) (2,B) (2,A) (1,B0,A) (1,C) (2,B) (2,A) (1,B)) 33

Tipos de árbolesTipos de árboles

“Free “Free treestrees”” (sin raíz asignada)(sin raíz asignada)

44

Tipos de Tipos de subárbolessubárboles

55

Original tree Bottom-up subtree

Induced subtree Embedded subtree

A

A C

Tipos de Tipos de subárbolessubárboles

66

Tipos de Tipos de subárbolessubárboles

77

Tipos de Tipos de subárbolessubárboles

EmbeddedEmbedded subtreesubtree Original Original treetree

Ocurrencias del patrón en el árbol originalOcurrencias del patrón en el árbol original

88

POTMinerPOTMiner

PartiallyPartially--OrderedOrdered TreeTree MinerMiner

Jiménez, Berzal & Cubero (KAIS’2009)Jiménez, Berzal & Cubero (KAIS’2009)

Algoritmo tipo Algoritmo tipo AprioriApriori::

�� Generación de candidatosGeneración de candidatos

�� Conteo del soporteConteo del soporte

99

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

““RightmostRightmost expansionexpansion””

1010

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

Diferentes estrategiasDiferentes estrategias�� ““RightmostRightmost expansionexpansion” (” (FreqTFreqT))

�� TMG [TMG [TreeTree--ModelModel--GuidedGuided] ] candidatecandidate enumerationenumeration�� … con secuencias de profundidad… con secuencias de profundidad�� … con secuencias de profundidad… con secuencias de profundidad

((UnotUnot, , uFreqtuFreqt, , GastonGaston, TRIPS), TRIPS)�� Extensión basada en clases de equivalenciaExtensión basada en clases de equivalencia

((TreeMinerTreeMiner, SLEUTH, , SLEUTH, POTMinerPOTMiner, RETRO, , RETRO, PhylominerPhylominer))�� ““RightRight--andand--leftleft” ” treetree joinjoin (AMIOT)(AMIOT)�� ““ExtensionExtension and and joinjoin” (” (HybridTreeMinerHybridTreeMiner))

1111

POTMinerPOTMiner

Clases de equivalenciaClases de equivalencia

Clase de equivalencia Clase de equivalencia con dos elementos, ACA y ACcon dos elementos, ACA y AC↑↑BBqque comparten el prefijo ACue comparten el prefijo AC

1212

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

Clases de equivalenciaClases de equivalencia

IDEAIDEAGenerar todos los patronesGenerar todos los patronesposibles, pero sin generarposibles, pero sin generarpatrones por duplicado…patrones por duplicado…

1313

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

Clases de equivalenciaClases de equivalencia

�� ““CousinCousin extensionextension””(en anchura)(en anchura)(en anchura)(en anchura)

�� ““ChildChild extensionextension””(en profundidad)(en profundidad)

1414

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

“RL “RL TreeTree JoinJoin””

1515

POTMinerPOTMiner

Generación de candidatosGeneración de candidatos

““ExtensionExtension and and joinjoin””

1616

POTMinerPOTMiner

Cálculo del soporteCálculo del soporte

�� Listas de ocurrencias Listas de ocurrencias ((tidtid, i, i11, i, i22… … iikk))

�� Listas de ámbitosListas de ámbitos ((tidtid, m, s), m, s)1717

POTMinerPOTMiner

Cálculo del soporteCálculo del soporte

Reunión de listas de ámbitosReunión de listas de ámbitosIn-scope join(child extension)

1818

Out-scope join(cousin extension)

POTMinerPOTMiner

EjemploEjemplo

Conjunto de datosConjunto de datos

1919

POTMinerPOTMiner

EjemploEjemplo

Patrones de tamaño 1Patrones de tamaño 1(“representación vertical”)(“representación vertical”)

2020

POTMinerPOTMiner

EjemploEjemplo

Clases de equivalenciaClases de equivalenciaderivadas de lo patrones derivadas de lo patrones de tamaño 1de tamaño 1

2121

POTMinerPOTMiner

EjemploEjemplo

Clases de equivalenciaClases de equivalenciaderivadas de lo patrones derivadas de lo patrones de tamaño 2de tamaño 2

2222

POTMinerPOTMiner

Algoritmo basado en clases de equivalencia Algoritmo basado en clases de equivalencia (como SPADE para secuencias, (como SPADE para secuencias, TreeMinerTreeMiner//SleuthSleuth para árboles)para árboles)

2323

POTMinerPOTMiner

Implementación paralelaImplementación paralela

Distribución de candidatos [CD: Distribución de candidatos [CD: CandidateCandidate DistributionDistribution]]

2424

POTMinerPOTMiner

Implementación paralelaImplementación paralela

2525

POTMinerPOTMiner

POTMinerPOTMiner “light”“light”

(generación de listas de ámbitos bajo demanda)(generación de listas de ámbitos bajo demanda)

2626

POTMinerPOTMiner

POTMinerPOTMiner DP [“DP [“dynamicdynamic programmingprogramming”]”]

Tiempo de CPU vs. Uso de memoriaTiempo de CPU vs. Uso de memoria

2727

POTMinerPOTMiner

EficienciaEficiencia

2828

POTMinerPOTMiner

Resultados experimentalesResultados experimentales

Datos sintéticosDatos sintéticos

100

1000

Ex

ecu

tio

n t

ime

2929

0,1

1

10

100

2 3 4 5 6 7

Ex

ecu

tio

n t

ime

Pattern size

POTMiner DP

POTMiner Light

POTMiner

POTMinerPOTMiner

Resultados experimentalesResultados experimentales

Datos realesDatos reales

1000

10000

Ex

ecu

tio

n t

ime

3030

0,1

1

10

100

1000

2 3 4 5

Ex

ecu

tio

n t

ime

Pattern size

POTMiner PD

POTMiner Light

POTMiner

AlgoritmosAlgoritmos

3131

AlgoritmosAlgoritmos

3232

AplicacionesAplicaciones

Documentos XMLDocumentos XML

C

3333

O O

Be DiMi Br

AplicacionesAplicaciones

Análisis de softwareAnálisis de software (grafos de dependencias)(grafos de dependencias)

3434

AplicacionesAplicaciones

Patrones musicalesPatrones musicales

3535

Patrón exacto

Patrón similarn

AplicacionesAplicaciones

Estudios longitudinalesEstudios longitudinales

Representación basada en el tiempoRepresentación basada en el tiempo

3636

AplicacionesAplicaciones

Estudios longitudinalesEstudios longitudinales

Representación basada en variablesRepresentación basada en variables

3737

Person

Vage

T0=20 T1=21 T0=(175,180]

Ssex=m Vweigh

T1=(180,185] T0=(75-80] T1=(80-85]

Vheight

AplicacionesAplicaciones

Bases de datos Bases de datos multirelacionalesmultirelacionales

3838

AplicacionesAplicaciones

Bases de datos Bases de datos multirelacionalesmultirelacionales

1 1

1

House

-houseID

-type

-city

Person

-id

-name

-age

3939

1

0..*

Car

-plate

-make

-color

AplicacionesAplicaciones

Bases de datos Bases de datos multirelacionalesmultirelacionales

person.age =young

person

person.id=5person.name=Peter

person.houseID

4040

person.car[ownerID]

person.car[ownerID]

person.car[iownerID].make=Toyota

person.car[ownerID].color=Blue

person.car[ownerID].make=Chrysler

person.car[ownerID].owneIDr=5

person.car[ownerID].ownerID=5

person.car[ownerID].color=White

person.car[ownerID].plate=1234BCD

person.car[ownerID].plate=5678JKL

person.houseID.type=duplex person.houseID.city=Londonperson.houseID.id=5

AplicacionesAplicaciones

Bases de datos Bases de datos multirelacionalesmultirelacionales

Dos tipos de patronesDos tipos de patrones�� E E = = EmbeddedEmbedded subtreessubtrees�� I I = = InducedInduced subtreessubtrees�� I I = = InducedInduced subtreessubtrees

Dos esquemas de representaciónDos esquemas de representación�� K K = “Key= “Key--basedbased treetree representationrepresentation””�� O O = “= “ObjectObject--basedbased treetree representationrepresentation””

4141

AgradecimientosAgradecimientos

Aída Jiménez, Aída Jiménez, Ph.D.Ph.D.

Tesis doctoralTesis doctoralTesis doctoralTesis doctoralKnowledge discovery in nonKnowledge discovery in non--linear linear structuresstructures

DepartamentoDepartamento de de CienciasCiencias de la de la ComputaciónComputación e I.A.e I.A.MarzoMarzo de 2011de 2011

4242

“If you torture the data long enough, it will confess” -- Ronald Coase

BibliografíaBibliografía

�� CharuCharu CC. . AggarwalAggarwal & & JiaweiJiawei Han(Han(editorseditors):):FrequentFrequent PatternPattern MiningMining..SpringerSpringer, 2014., 2014.ISBN 3319078208.ISBN 3319078208.

4343

�� PangPang--NingNing Tan, Tan, Michael Michael SteinbachSteinbach& & VipinVipin KumarKumar::IntroductionIntroduction toto Data Data MiningMiningAddisonAddison--WesleyWesley, 2006. , 2006.

BibliografíaBibliografía

AddisonAddison--WesleyWesley, 2006. , 2006. ISBN 0321321367 ISBN 0321321367 [capítulos 6&7][capítulos 6&7]

�� JiaweiJiawei Han Han & & MichelineMicheline KamberKamber: : Data Data MiningMining: : ConceptsConcepts and and TechniquesTechniquesMorgan Morgan KaufmannKaufmann, 2006., 2006.ISBN 1558609016 ISBN 1558609016 [capítulo 5][capítulo 5] 4444

Bibliografía Bibliografía –– Algoritmos Algoritmos

�� Aída JiménezAída Jiménez, , Fernando Berzal & Juan Carlos Cubero: Fernando Berzal & Juan Carlos Cubero: Frequent Frequent tree pattern mining: A tree pattern mining: A survey, survey, IntelligentIntelligent Data Data AnalysisAnalysis 14(6):60314(6):603--622622, 2010. , 2010. DOI 10.3233/IDADOI 10.3233/IDA--20102010--04430443

�� Aída Jiménez, Fernando Berzal & Juan Carlos Cubero: Aída Jiménez, Fernando Berzal & Juan Carlos Cubero: POTMinerPOTMiner: Mining ordered, unordered, and partially: Mining ordered, unordered, and partially--ordered ordered treestrees, , Knowledge Knowledge and Information System 23(2): 199and Information System 23(2): 199--224, 224, 2010. 2010. Knowledge Knowledge and Information System 23(2): 199and Information System 23(2): 199--224, 224, 2010. 2010. DOI 110.1007/s10115DOI 110.1007/s10115--009009--02130213--33

�� Aída Jiménez, Fernando Berzal & Juan Carlos CuberoAída Jiménez, Fernando Berzal & Juan Carlos Cubero::Mining Mining frequent patterns from XML data: frequent patterns from XML data: Efficient Efficient algorithms algorithms and and designdesign tradetrade--offsoffs. . Expert Expert Systems with Systems with Applications 39(1):1134Applications 39(1):1134--1140, 2012. 1140, 2012. DOI 10.1016/j.eswa.2011.07.113DOI 10.1016/j.eswa.2011.07.113

�� Aída Aída Jiménez, Fernando Jiménez, Fernando Berzal & Juan Carlos Cubero: Berzal & Juan Carlos Cubero: InterestingnessInterestingness measuresmeasures forfor associationassociation rules rules withinwithin groupsgroups..IntelligentIntelligent Data Data AnalysisAnalysis 17(2):19517(2):195--215, 2013. 215, 2013. DOI 10.3233/IDADOI 10.3233/IDA--130574130574

4545

Bibliografía Bibliografía –– Aplicaciones Aplicaciones

�� Fernando Fernando BerzalBerzal, , Juan Carlos Juan Carlos CuberoCubero & & AídaAída JiménezJiménez: : Hierarchical Hierarchical program representation for program element matchingprogram representation for program element matching. . Proceedings Proceedings of the 8th of the 8th International Conference International Conference on Intelligent on Intelligent Data Engineering Data Engineering and and Automated Learning Automated Learning (IDEAL'07(IDEAL'07), pp. 467), pp. 467--476. DOI 10.1007/978476. DOI 10.1007/978--33--540540--7722677226--2_482_48

�� AídaAída JiménezJiménez, Miguel Molina, Miguel Molina--Solana, Fernando Solana, Fernando BerzalBerzal & & Waldo Waldo FajardoFajardo: : Mining Mining transposed motifs in musictransposed motifs in music. . Journal of Intelligent Information Systems 36(1):99Journal of Intelligent Information Systems 36(1):99--115, 2011. 115, 2011. Journal of Intelligent Information Systems 36(1):99Journal of Intelligent Information Systems 36(1):99--115, 2011. 115, 2011. DOI 10.1007/s10844DOI 10.1007/s10844--010010--01220122--77

�� AídaAída JiménezJiménez, Fernando , Fernando BerzalBerzal & & JuanJuan--Carlos Carlos CuberoCubero: : Mining Mining patterns from longitudinal studiespatterns from longitudinal studies. . Proceedings Proceedings of the 7th international conference on Advanced Data Mining and Applications of the 7th international conference on Advanced Data Mining and Applications ((ADMA'11), ADMA'11), pp. 166pp. 166--179179. . DOI 10.1007/978DOI 10.1007/978--33--642642--2585625856--5_135_13

�� Aída Jiménez, Fernando Berzal & Juan Carlos Aída Jiménez, Fernando Berzal & Juan Carlos Cubero: Cubero: Using Using trees to mine trees to mine multirelationalmultirelational databasesdatabases. . Data Mining and Knowledge Discovery 24(1):1Data Mining and Knowledge Discovery 24(1):1--39, 2012. 39, 2012. DOI 10.1007/s10618DOI 10.1007/s10618--011011--02180218--xx

4646