Patrones en árboles - elvex.ugr.eselvex.ugr.es/idbis/dm/slides/23 Pattern Mining - Trees.pdf ·...
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
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