Quantitatives Frequent-Pattern Mining uber Datenstr omen
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Quantitatives Frequent-Pattern Mining über Datenströmen Daniel Klan, Thomas Rohe Department of Computer Science & Automation TU Ilmenau, Germany {first.last}@tu-ilmenau.de Abstract tative Attribute vor. Die Anwendung der bekannten Fre- quent Pattern Mining Verfahren führt hierbei oftmals nicht Das Aufdecken unbekannter Zusammenhänge zu den gewünschten Zielen bzw. der Berechnungsaufwand zählt zu einer der wichtigsten Aufgaben im Da- ist nicht vertretbar. Basierend auf dieser Feststellung entwi- ta Mining. Für das Problem des Frequent Pat- ckelten die Autoren in [11] erstmals ein Verfahren für das tern Mining über statischen Daten finden sich da- Finden von Regeln, welche sowohl mit kategorischen Attri- her in der Literatur eine Vielzahl an Lösungen. buten als auch mit quantitativen Attributen umgehen kann. Die Integration von Sensorik in nahezu jeden Das vorgestellte Verfahren bildet dabei quantitative auf ka- Lebensbereich führt allerdings zu Datenmen- tegorische Attribute ab. Die quantitativen Attribute wer- gen, welche mittels der klassischen Verfahren den im wesentlichen durch Intervalle dargestellt, welche zumeist nicht mehr bewältigt werden können. eine Menge von numerischen Werten aufnehmen können. Ein Paradigmenwechsel hin zur Datenstrom- Auf Basis dieser Definition präsentierten die Autoren einen Verarbeitung ist oftmals unumgänglich. Ein in- angepassten Apriori-Algorithmus, welcher den Suchraum teressantes Problem, welches im Zusammenhang zerlegt (diskretisiert) und anschließend durch Kombination mit der Verarbeitung von Sensordaten auftritt ist der Teil-Intervalle Regeln findet. der prinzipiell stetige Wertebereich von Messun- Es existieren eine Vielzahl von Anwendungsszenarien in gen. Die bekannten Lösungen sind für die Analy- denen die Extraktion quantitativer Regeln bzw. das Finden se von kontinuierlichen Daten über stetigen Wer- quantitativer Frequent Itemsets über Datenströmen von In- tebereichen nur bedingt geeignet. Im folgenden teresse sind (z.B. Gebäudeüberwachung). Die in der Lite- soll mit dem F P 2 -Stream ein entsprechendes ratur präsentierten Verfahren beziehen allerdings sich aus- Verfahren für die Analyse quantitativer häufiger schließlich auf das Finden von Regeln über statischen Da- Muster über Datenströmen präsentiert werden. tenbeständen. Für ein Verarbeitung von Datenströmen sind diese ungeeignet. Zudem weisen die meisten Verfahren Be- schränkungen auf, derart dass quantitative Attribute ledig- 1 Einleitung lich im Regel-Kopf auftreten dürfen. Das Finden häufiger Muster (frequent pattern mining) ist Die Arbeit ist im weiteren wie folgt aufgeteilt. Zunächst Grundlage für eine Vielzahl von Data Mining Problemen folgt in Abschnitt 2 ein kurzer Überblick über existieren- (zum Beispiel der Korrelationsanalyse, oder dem Finden de Arbeiten zum Thema. Anschließend wird in Abschnitt 3 von Sequenzen oder Perioden innerhalb des Datenstromes). auf für das Verständnis notwendige Grundlagen eingegan- Die populärste Anwendung für das Frequent Pattern Mi- gen. In Abschnitt 4 folgt eine ausführliche Beschreibung ning ist das Assoziation Rule Mining, bei welcher aus des entwickelten Verfahrens, welche in Abschnitt 5 evalu- Transaktionen Werte extrahiert und in Relation zueinander iert werden soll. gesetzt werden. Eine typische Anwendung ist die Analy- se von Supermarkt-Transaktionen, bei welcher das Kauf- verhalten der Kunden analysiert wird. Ziel ist dabei die 2 Verwandte Arbeiten Detektion von Regeln, welche das Kaufverhalten einer re- Eines der ersten Verfahren zum Finden von häufigen Mus- präsentativen Menge von Kunden wiederspiegeln und an- tern war das von Aggrawal et. al präsentierte Apriori- hand derer anschließend die Verkaufsprozesse optimiert Verfahren [1]. Die Grundlage des Ansatzes bildet die werden können. Eine mögliche Regel ist “Bier → Chips Annahme, dass sich häufige Muster ausschließlich aus (10%)”, welche besagt, dass 10 Prozent aller Kunden, die häufigen Teilmustern zusammensetzen können. Basierend Bier gekauft haben auch Chips kaufen. auf dieser Heuristik erzeugt das Verfahren alle möglichen Wie die meisten Data Mining Verfahren, so wurde auch k − itemset Kandidaten aus der Menge aller k − 1-itemset das Frequent Pattern Mining ursprünglich für statische Da- Kandidaten. Aufgrund der wiederholten Analyse der Daten tenbestände entwickelt. In den letzten Jahren wurden die- handelt es sich hierbei um ein multi-pass Verfahren, wel- se Verfahren an das Datenstrom-Paradigma angepasst [5; ches seine Anwendung insbesondere in der Verarbeitung 8]. In Interessantes Beispiel für die Anwendung der Asso- von endlichen Datenmengen findet. ziation Rule Mining über Datenströmen ist in [4] beschrie- Auf Basis des Apriori-Algorithmus wurden eine Viel- ben. Die Autoren ersetzen dabei fehlende Werte in einem zahl an weiteren Algorithmen entwickelt, welche unter an- WSN anhand zuvor abgeleiteter Assoziationsregeln. derem die Performance-Steigerung oder die Adaption an In einer Vielzahl von Anwendungen liegen die Daten zur Datenströme zum Ziel hatten. So stellen die Autoren in [3] Analyse nicht in Form kategorischer, sondern als quanti- ein effizientes Verfahren zum Finden von optimalen links-
seitigen quantitativen Regeln vor. Der Schwerpunkt ist da- a1 a2 a1 a2 bei die Entwicklung eines Verfahrens zur Berechnung der t1 22 100 t6 21.5 0 optimalen Bereiche in linearer Zeit unter der Annahme das t2 22.5 - t7 21 - t3 - 100 t8 - 100 die Daten sortiert sind. Für denn Fall, dass eine Sortierung t4 22.5 - t9 22 - der Daten nicht möglich ist, wurde zusätzlich ein randomi- t5 21.5 0 t10 22.5 100 siertes Verfahren präsentiert, welches die Daten in Buckets teilt und anschließend auf diesen die Suche durchführt. Die Abbildung 1: Beispiel Transaktionen Autoren in [9] präsentierten mit dem DHP (Direct Hashing itemset f req supp and Pruning) ein Verfahren, dessen Ziel die Optimierung {ha1 (20, 21.5]i} 3 0.3 der Anzahl an Kandidaten ist. Das Verfahren setzt dabei {ha1 (20, 23]i} 8 0.8 auf eine Hash-Tabelle für die Identifikation von Kandida- {ha2 (0, 50]i} 4 0.4 {ha2 (50, 100]i} 4 0.4 ten mit einem Support größer dem geforderten. {ha1 (20, 21.5]i, ha2 (0, 50]i} 2 0.2 Han et. al präsentieren in [5] mit dem FP-Tree (frequent {ha1 (20, 23]i, ha2 (0, 50]i} 2 0.2 pattern tree) einen Prefix-Baum zur effizienten Speiche- {ha1 (20, 23]i, ha2 (50, 100]i} 2 0.2 rung häufiger Muster. Zusätzlich zu dieser Datenstruktur stellen sie mit dem FP-Growth Algorithmus ein Verfahren Abbildung 2: Beispiel Itemsets zum Finden von häufigen Mustern auf Basis des FP-Tree vor. Im Gegensatz zum Apriori Verfahren verzichtet das FP-Growth Verfahren vollständig auf die Generierung von l repräsentiert. Das Attribut ai (l, r) wird im folgenden als Kandidaten. Auch sind lediglich zwei Durchläufe über die Item bezeichnet. I bezeichnet die Menge aller Items. Die zu prüfende Datenmenge ausreichend. Menge X = {a1 (l, r), ..., ak (l, r)} ⊆ I, with ai 6= aj FP-Mining über Datenströmen stellt eine besondere Her- bezeichnet ein Itemset (oder auch k-Itemset). ausforderung dar. Neben dem in [5] beschriebenen F P 2 - D bezeichnet eine Menge von Transaktionen. Eine Stream existieren auch eine Vielzahl weiterer Lösungen. Transaktion d∆t ∈ D ist eine Menge von Attributwer- Der in [12] vorgestellte Compact Pattern Tree (CPT) zum ten ai hvi im Zeitintervall ∆t. Jede Transaktion d∆t = Beispiel verwendet gleitende Fenster (analog dem F P 2 - {ai hvi, ..., aj hvi} kann auf ein Itemset I abgebildet wer- Stream und dem DSTree [7]). Die Effizienz des Verfahrens den, d.h. für jeden Wert ai hvi existiert ein Item ai (l, r) in wird dabei durch eine zusätzliche Restrukturierungs Phase I mit ai hvi ∈ ai (l, r). erreicht, während der der CPT in Abhängigkeit der Itemset- Die Häufigkeit f req(X, D) eines Itemsets X bezeich- Häufigkeiten mit dem Ziel einer hohen Kompaktheit um- net die Anzahl der Transaktionen D im Zeitintervall sortiert wird. In [8] beschreiben die Autoren neben dem ∆t, die auf das Itemset abgebildet werden können. Der Sticky-Sampling und Lossy-Counting mit BTS(Buffer- supp(X, D) eines Itemsets ist definiert als der prozentuale Trie-SetGen) ein Verfahren, welches die Häufigkeiten von Anteil an Transaktionen, welcher auf das Itemset entfällt. Itemsets mittels einer Gitter-Strukur speichert. Üblicherweise sind nur häufige Itemsets von Interesse. Ein Die erste Arbeit die sich mit dem Problem der quantita- Itemset wird als häufig bezeichnet, wenn dessen Häufigkeit tiven Muster Erkennung beschäftigt stammt von Aggrawal einen vordefinierten Schwellwert minsupp überschreitet. [11]. Das vorgestellte Verfahren basierte dabei im wesent- lichen auf einem Apriori-Verfahren, welches die partitio- Signifikanz und Informationsdichte Ziel des quantita- nierten Wertebereiche der einzelnen Attribute in geeigneter tiven Frequent Itemset Mining ist das Finden von zusam- Weise kombiniert. menhängenden Items, deren Informationsgehalt sich si- Die Autoren in [2] betrachten quantitativ/kategorische gnifikant von dem aller anderen Items unterscheidet. Ein Assoziationsregeln. Eine Regel wird signifikant angese- quantitatives Item ist genau dann signifikant, wenn dessen hen, wenn sich deren Mittelwert in Relation zur Menge Informationsdichte größer ist, als die Informationsdichte aller Transaktionen ohne dieses Regel als signifikant her- der alternativen Items. Die Informationsdichte eines Items ausstellt. Zur Berechnung des Signifikanzlevels ziehen sie ai (l, r) ist dabei wie folgt definiert dabei den Steiger Z-Test heran. Als Null-Hypothese neh- men sie an, das die Mittelwerte beider Teilmengen gleich f req(ai (l, r)) sind. Wird diese Null-Hypothes abgelehnt (mit einer Konfi- density(ai (l, r)) = (1) dist(l, r) denz von 95%), so wird die gefundene Regel als signifikant unterschiedlich von der Restmenge der Transaktionen an- wobei dist(l, r) = abs(l−r) die Distanz zwischen den bei- genommen. den Intervallgrenzen des Items bezeichnet. Entsprechend dieser Definition wird ein Itemset I genau dann als signifi- 3 Vorbetrachtung kant bezeichnet, wenn alle Items dieses Itemsets signifikant sind. Zunächst müssen verschiedene Begrifflichkeiten eingeführt werden, welche für das Verständnis des im weiteren präsentierte Verfahren notwendige sind. Generalisierung Ein Itemset X̂ wird genau dann als Ge- Im folgenden bezeichnet ai ein Attribut. ai hvi ent- neralisierung von X bezeichnet, wenn X̂ aus den selben spricht dem zum Attribut ai gehörender Wert v. Das Tripel Items wie X besteht und es gilt (ai , l, r) = ai (l, r) bezeichnet das quantitative Attribut ai , welches Werte v1 , v2 , ... im Intervall (l, r) aufnimmt (l be- ∀ai (l, r) ∈ X : ai (l, r) ∈ X∧ai (l0 , r0 ) ∈ X̂ ⇒ l0 ≤ l ≤ r ≤ r0 zeichnte die linke und r die rechte Intervallgrenze). Ein ka- tegorisches Attribut, d.h. ein einelementiges Attribut, kann D.h. alle Transaktion, welche sich auf X abbilden lassen, durch ein quantitatives Attribut repräsentiert werden, des- können ebenso auf X̂ abgebildet werden. Im folgenden sen linke und rechte Intervallgrenze gleich sind, d.h. ai (l, l) soll ein kurzes Beispiel die eben beschriebenen Zusam- bezeichnet das kategorische Attribut, welches nur den Wert menhänge verdeutlichen.
Beispiel 1 Es wird ein Datenstrom angenommen be- Input: Menge von Transaktionen D stehend aus zwei Attributen a1 (Temperatur) und a2 (Be- Output: Menge von Häufigen Itemsets wegung) angenommen. Im Zeitintervall ∆t wurden die in 1 Initialisiere F P 2 -Tree als leer; Tabelle 3 dargestellten 10 Transaktionen festgestellt. Wei- 2 Stelle min und max für jedes Attribut ai fest und lege terhin werden die folgenden Items angenommen: die entsprechenden knoten im F P 2 -Tree an; 3 Füge die Transaktionen von Batch b0 in F P 2 -Tree ein; a1 (20, 21.5], a1 (20, 23], a2 (0, 50] und a2 (50, 100] 4 Übernehme Knotengrenzen und Häufigkeiten aus dem Basierend auf diesen (quantitativen) Items lassen sich über F P 2 -Tree in den F P 2 -Stream; den in Tabelle 3 abgebildeten Transaktionen die in Tabel- 5 while Batch bi , i > 0 do le 3 dargestellten (quantitativen) Itemsets ermitteln. Die 6 Initialisiere F P 2 -Tree mit den Knoten und Tabelle zeigt die entsprechenden Häufigkeiten und den Intervallgrenzen des F P 2 -Stream; Support, den die einzelnen Itemsets aufweisen. Es las- 7 Sortiere alle Transaktionen aus aktuellem Batch in sen sich die folgenden Dichten für die Items ermitteln: F P 2 -Tree ein (falls notwendig, füge neue Knoten density(a1 (20, 21.5])) = 2, density(a1 (21.5, 23]) = 3.3 hinzu bzw. erweitere existierende Knoten); und density(a1 (20, 23]) = 2.7. Bei dem einelementigen 8 Übertrage alle Knoten aus dem F P 2 -Tree in den Itemset {ha1 (20, 23]i} handelt es sich um eine Generalisie- rung der Itemsets {ha1 (20, 21.5]i} und {ha1 (21.5, 23]i}. F P 2 -Stream; 9 Führe eventuell notwendige Split Operationen auf 4 2 F P -Stream dem F P 2 -Stream aus; 10 Führe eventuell notwendige Merge Operationen Die meisten in der Literatur zu findenden Verfahren [11; auf dem F P 2 -Stream durch; 2], welche quantitative Attribute betrachten, zerlegen den 11 Lese alle häufigen Itemsets aus dem F P 2 -Stream Wertebereich für ein Attribut in äquidistante Intervalle, aus (F P 2 -Growth); welche anschließend derart miteinander kombiniert wer- den, dass sie den geforderten Kriterien (minimaler Support Algorithm 1: F P 2 -Stream Algorithmus und Signifikanz) genügen. Zu den wesentlichen Problemen dieser bottom-up Strategie zählen dabei das Finden einer geeignete Zerlegung [11] bzw. das möglichst effiziente ge- Items gibt. Abbildung 3 zeigt einen Beispiel-F P 2 -Stream. nerieren zusammenhängender Items. Dem Beispiel liegen die in Tabelle 3 beschriebenen Trans- Die Zerlegung gefolgt von einer kostenintensiven Item- aktionen zugrunde. Das Attribut a2 wurde bereits einer Ver- Rekonstruktion ist auf Datenströme nicht bzw. nur be- feinerung unterzogen. schränkt anwendbar. Alle Verfahren, welche das Prin- zip der Kombination von Teilintervallen einsetzen, basie- 4.2 Einfügen neuer Transaktionen ren dabei auf dem Apriori-Algorithmus, welcher mehrere Das Einfügen neuer Transaktionen in den F P 2 -Stream er- Durchläufe benötigt und daher für die Analyse über Daten- folgt Batchweise (ein Batch b bezeichnte die Zusammen- strömen nur bedingt geeignet ist. fassung einer Menge von |b| Transaktionen). Neue Trans- Im folgenden soll der F P 2 -Stream vorgestellt werden, aktionen werden beim Einfügen nicht direkt in den F P 2 - ein Speicher-effizientes Verfahren, welches für die Analyse Stream integriert, sondern zuvor in einen F P 2 -Tree ein- über Datenströmen geeignet ist. Die Itemsets werden beim gefügt. Der F P 2 -Tree entspricht dabei im wesentlichen F P 2 -Stream in einem Prefix-Baum (ähnlich dem FP-Tree dem F P 2 -Stream, wobei die Knoten jedoch nicht über von Han et al. [5]) verwaltet. Das Ziel des vorgestellten Zeitfenster verfügen (der F P 2 -Tree verwaltet lediglich die Verfahrens ist anschließend die kontinuierliche Verfeine- zu einem Batch gehörenden Musterhäufigkeiten). Die Im- rung der Items (top-down-Strategie) und den daraus aufge- plementierung des F P 2 -Tree erfolgt in Form von ”Schat- bauten Itemsets mit dem Eintreffen neuer Transaktionen, tenknoten“, welche in die Knoten des F P 2 -Stream inte- so dass diese den geforderten Kriterien genügen. griert werden. Somit fallen für das Anlegen des F P 2 -Tree Im weiteren soll zunächst die Grundlegende Datenstruk- keine zusätzliche Kosten an. Es muss lediglich beim ers- tur beschrieben werden, anschließend folgt eine Beschrei- ten Einfügen einer Transaktion in einen neuen Batch der bung der Algorithmen zum Einfügen von Transaktionen entsprechende ”Schattenknoten“ angelegt werden. und zum Optimieren der Datenstruktur. Analog dem FP-Stream wird das Einfügen des ersten Batches b0 getrennt von der Behandlung aller weiteren Bat- 4.1 Datenstruktur ches betrachtet. Zum Zeitpunkt des Einfügens von b0 in den Der F P 2 -Stream verwaltet die häufigsten Muster in ei- F P 2 -Stream ist kein Wissen über die genaue Verteilung nem Prefix-Baum. Eine Header-Tabelle enthält alle Item- der Stromdaten vorhanden bzw. es stehen lediglich die In- sets, welche sich gegenwärtig im Prefix-Baum befinden. formationen aus dem ersten Batch zur Verfügung. Zunächst Der Pfad von der Wurzel bis zu einem Knoten im Prefix- wird daher für jedes Attribute i ein Item ai (min, max) Baum repräsentiert ein Itemset. Zusätzlich ist in jedem derart angelegt, dass min dem minimalen Wert in b0 und Knoten des Baumes ein Zeitfenster eingebettet, welches max dem maximalen Wert in b0 des Attributes ai im ers- die Häufigkeiten in den letzten k Zeiträumen aufnimmt. Im ten Batch entspricht. Die Items werden anschließend nach F P 2 -Stream werden hierzu gleitende Fenster eingesetzt. der Häufigkeit ihres Auftretens im ersten Batch sortiert und Weiterhin sind alle Knoten, welche das gleiche Item re- in den F P 2 -Tree eingefügt. Häufige Items werden Wurzel- präsentieren untereinander über Listen miteinander verbun- nah eingefügt. Da im ersten Batch ein Attribut den kom- den. Das entsprechende Item der Header-Tabelle verweist pletten Wertebereich eines Datenstromes überdeckt, kann dabei auf das erste Element dieser Liste. Jedes Item der es ausschließlich durch das vollständige Fehlen von Wer- Header-Tabelle enthält zusätzlich ein Equi-Width Histo- ten innerhalb von Transaktionen zu Unterschieden in den gramm, welches einen approximativen Überblick über die Häufigkeiten der einzelnen Attribute kommen. Häufigkeitsverteilung der zuletzt eingefügten Werte in die Nachdem der erste Batch erfolgreich eingefügt wurde,
{} Header Table a1 (20, 23):4 a2 (50, 100):2 a1 (20, 23) b0 2 b0 1 a2 (50, 100) b1 2 b1 1 a2 (0, 50] a2 (0, 50]:2 a2 (50, 100):2 b0 1 b0 1 b1 1 b1 1 next item item list next intervall neighbor list Abbildung 3: Beispiel F P 2 -Stream werden alle weiteren Batches gleich behandelt und folgt 4.3 Item-Split nachstehendem Schema: Als wesentliches Kriterium für schlecht approximierte • Es existiert bereits ein Knoten, welcher das Itemset re- Items wird die Dichteverteilung innerhalb eines Items her- präsentiert. Die Frequenz des entsprechenden Knotens angezogen. Sind die in ein Item eingefügten Werte un- im F P 2 -Tree wird um 1 inkrementiert. gleichmäßig verteilt, dann wurden die Grenzen für dieses • Es existiert kein Knoten, welcher das Itemset re- Item schlecht gewählt. Die Bestimmung der Ungleichver- präsentiert. Es muss ein neuer Knoten im F P 2 -Tree teilung erfolgt dabei über die Schiefe den in der Header Ta- angelegt werden: belle mitgeführten Equi-Width-Histogrammen. Die Schiefe eines Item ai (l, r) über einem Histogramm lässt sich wie – Der neu anzulegende Knoten wird sowohl auf der folgt bestimmen: linken, als auch auf der rechten Seite von exis- tierenden Knoten eingeschlossen: Als Intervall- max{h(ai (l, r), j)}nj=1 − min{h(ai (l, r), j)}nj=1 s(ai (l, r))n = Pn grenzen für den neuen Knoten werden die Gren- j=1 h(ai (l, r), j) zen der benachbarten Knoten gewählt. D.h. es wobei n die Anzahl der Buckets in den Histogrammen be- wird ein Knoten ai (r, l0 ) zwischen den beiden zeichnet. h(ai (l, r), j) bezeichnet die Häufigkeit im j-ten begrenzenden Knoten ai (l, r) und ai (l0 , r0 ) an- Bucket des Histogramms für das Item ai (l, r). gelegt. Überschreitet die Schiefe innerhalb des Items ai (l, r) – Der einzufügende Wert über- bzw. unterschreitet einen vorab definierten Schwellwert maxskew, d.h. alle bisher eingefügten Werte: Existiert ein Kno- s(ai (l, r)) > maxskew, dann wird das Item in zwei ten im F P 2 -Tree, welches noch keinem Knoten disjunkte Items gesplittet. O.B.d.A. werden im folgenden im F P 2 -Stream entspricht und dessen Intervall- Items immer in Items mit links offenem Intervall zerlegt. grenzen sich derart erweitern lassen, dass es den Für den Split wird ein Median-basierter Ansatz verwen- Wert aufnehmen kann, dann werden die Grenzen dete, dessen Ziel die Berücksichtigung der realen Dich- dieses Knotens angepasst und die Frequenz ent- teverhältnisse innerhalb eines Items ist. Hierzu wird der sprechend inkrementiert. Andernfalls muss ein Median über die einzelnen Buckets der Histogramme be- neuer Knoten mit dem neuen Wert als Minimum stimmt. Der Split erfolgt anschließend auf Basis des Mittel- bzw. Maximum als Grenze angelegt werden. punktes des Median-Buckets, d.h. ai (l, r) wird in die bei- Wurden ausreichend Transaktionen in den F P 2 -Tree ein- den Items ai (l, median/2] und ai (median/2, r) zerlegt, gefügt, dann kann dieser in den F P 2 -Stream integriert wobei median den Median bezeichnet. werden. Zunächst werden hierzu alle Knoten des F P 2 - Bei einem Itemsplit müssen alle Knoten im Baum, wel- Tree entfernt, welche dem vorab definierten Schwellwert che dieses Item repräsentieren ebenfalls gesplittet wer- nicht genügen. Anschließend werden die Häufigkeiten den. Sind unterhalb eines Knotens, welcher ein Item re- der einzelnen Knoten in den F P 2 -Stream übernommen. präsentiert das gesplitted wird, weitere Knoten, so werden Hierzu werden in die Zeitfenster aller Knoten des F P 2 - diese Teilbäume kopiert und als neue Teilbäume in die neu Stream neue Zeitslots eingeführt. Sollten im F P 2 -Stream entstehenden Knoten eingebunden. Die Häufigkeit des zu Knoten vorhanden sein, welche durch die Integration des splittenden Items wird beim Überführen in die neuen Items F P 2 -Tree keine Aktualisierung erfahren, so sind deren halbiert (die genaue Verteilung der Daten in den einzelnen Häufigkeiten für diesen Zeitslot 0. Sind während der Ver- Knoten ist unbekannt, weswegen der Einfachheit halber ein arbeitung eines Batches neue Knoten im F P 2 -Tree hinzu- Gleichverteilung angenommen wird). Ein Beispiel soll den gekommen, so müssen diese ebenfalls in den F P 2 -Stream Itemsplit verdeutlichen. übernommen werden. Beispiel 2 Die Häufigkeit des Items ha1 (20, 23]i Wurden die Transaktionen eines Batches erfolgreich aus dem vorigen Beispiel genügt den definierten Be- in den F P 2 -Stream eingefügt, dann wird anschließend dingungen. Beim Itemsplit auf Basis der Intervall- geprüft, inwieweit sich Items verfeinern lassen um eine Halbierung wird das Item in die beiden Subitems möglichst hohe Informationsdichte zu erhalten. Die Verfei- ha1 (20, 21.5]i und ha1 (21.5, 23]i geteilt. Es entstehen nerung ist hierbei ein zweistufiger Prozess. In einem ersten somit die beiden Itemsets {ha1 (20, 21.5]i, ha2 (50, 100]i} Schritt werden die Items verfeinert, wenn deren Füllgrad und {ha1 (21.5, 23]i, ha2 (20, 100]i} welche jeweils eine zu hoch ist. Der zweite Schritt ist das Mischen von Items, geschätzte Häufigkeit von 2 besitzen. Abbildung 4 zeigt den wenn sich diese generalisieren lassen. Beide Prozesse sol- entsprechenden F P 2 -Stream aus Abbildung 3 nach dem len im weiteren beschrieben werden. Split des Items ha1 (20, 23]i.
{} Header Table a1 (20, 21.5] a1 (20, 21.5]:2 a1 (21.5, 23):2 a2 (50, 100):2 a1 (21.5, 23) b0 1 b0 1 b0 1 a2 (50, 100) b1 1 b1 1 b1 1 a2 (0, 50] a2 (0, 50]:1 a2 (50, 100):1 a2 (0, 50]:1 a2 (50, 100):1 b0 0.5 b0 0.5 b0 0.5 b0 0.5 b1 0.5 b1 0.5 b1 0.5 b1 0.5 next item item list next intervall neighbor list Abbildung 4: Split node a1 (20, 23] Eine beliebige Verfeinerung der Intervalle ist aus fasst werden, wenn für alle Knoten die diese Items re- Gründen einer effizienten Datenhaltung nicht sinnvoll. So- präsentieren folgenden Bedingungen erfüllt werden: mit ergibt sich die Fragestellung inwieweit Intervalle ver- 1. Die Items ai (l, r) und ai (l0 , r0 ) sind direkte Nachbarn, feinert werden. In [11] präsentieren die Autoren eine Un- d.h. es gilt r = l0 . tersuchung zur Anzahl an maximal notwendige Partitio- nen (Basisintervallen), welche für die anschließende Re- 2. Benachbarte Knoten, welche die Items ai (l, r) und kombination zu erzeugen sind und dabei einen möglichst ai (l0 , r0 ) repräsentieren besitzen den gleichen Präfix, geringen Informationsverlust aufweisen. Als Maß für den d.h. sie verfügen über den gleichen Elternknoten im durch die Generalisierung entstehenden Informationsver- F P 2 -Stream. lust führen sie die Partial-Completeness ein. Als K-Partial- 3. density(ai (l, r)) ∼ density(ai (l0 , r0 )) Completeness wird dabei der maximale Support bezeichnet (als K-vielfaches des minimalen Support), den ein Itemset 1. stellt sicher, dass es sich bei den Verbundkandidaten um aufweisen darf. Basierend auf der Partial-Completeness ha- Intervallnachbarn handelt. Ausschließlich direkte Nach- ben die Autoren gezeigt, dass im Fall einer Partitionierung barn können miteinander verbunden werden. 2. garantiert, 2·α in Basisintervalle gleicher Größe, maximal minsupp·(K−1) . dass alle von dem Item-Merge betroffenen Itemsets eben- falls verbunden werden können. 3. stellt sicher, dass die zu Intervalle notwendig sind. α bezeichnet dabei die Anzahl verbindenden Items über nahezu den gleichen Informati- an quantitativen Attributen. Daraus lässt sich die mini- onsgehalt verfügen, d.h. das es durch die Generalisierung male Intervallgröße für jedes Datenstromattribut ai ab- zu keinem Informationsverlust kommt. leiten. Zum Zeitpunkt des ersten Erstellens des F P 2 - Algorithmus 1 führt den Merge umgehend nach dem Stream (Batch b0 ) wird für jedes Attribut ai (min, max) Split aus. Wurde ein Split auf einem Item durchgeführt, bestimmt. Damit ergibt sich die minimale Intervallgröße dann verfügen die beiden resultierenden Items über die minIntSize entsprechend gleiche Dichte. Erst durch das Einfügen neuer Batches setzt |max − min| sich die Schiefe, welche zuvor für den Split notwendiger- minIntSize = 2·α . (2) weise festgestellt wurde, auch in den neuen Items durch. minsupp·(K−1) Aus diesem Grund ist eine sofortige Rekombination zuvor Beim späteren Eintreffen von Transaktionen mit Werten, erst geteilter Items für die nächsten k Batches nicht sinn- welche das rechts- bzw. linkseitige Extrema erweitern muss voll. das minimale Intervall entsprechend angepasst werden. 4.5 Prunning und Reorganisation Zusätzlich zu den Knoten müssen auch die in den Kno- ten eingebetteten Fenster angepasst werden. Jeder der bei- Durch das Splitten von Items wird der F P 2 -Stream kon- den durch den Split neu entstandenen Knoten erhält hier- tinuierlich vergrößert. So resultiert zum Beispiel der Split zu die Hälfte der Häufigkeitswerte des Original-Items. Um des Wurzelknotens in einer Verdoppelung aller Knoten im später beim F P 2 -Growth auf einfache Weise das bisherige Baum. Um diesen dennoch möglichst klein und damit die Split-Verhalten von Items nachvollziehen zu können wird Verarbeitung effizient zu gestalten werden zwei verschie- bei einem Split in jedem Zeitfensterslot ein Verweis auf dene Ansätze verfolgt: das Fenster angelegt, das bei dem Split abgeteilt wurde. • (i) Itemsets, welche nicht mehr häufig sind und in den Um weitere Splits bzw. Merges möglichst effizient gestal- nächsten Zeitschritten auch nicht mehr häufig werden ten zu können verweist das letzte Fenster in der Liste auf können, werden aus der Datenstruktur entfernt wer- das erste Listenelement, so dass ein Ring entsteht. Der Ring den. ermöglicht anschließend eine schnelle Suche auch ohne die • (ii) Es erfolgt eine Reorganisation der Baumstruktur Verwendung einer doppelt verketteten Liste. um eine möglichst hohe Kompaktheit zu gewähren 4.4 Item-Merge (ähnlich dem CPT [12]). Items, welche nahezu die gleiche Informationsdichte auf- Item-Rekonstruktion und Itemset Exktraktion weisen, können ohne weiteren Informationsverlust kombi- Zwar werden im F P 2 -Stream häufige Itemsets in einer niert (generalisiert) werden. Die Generalisierung von Items kompakten Darstellung gespeichert, es wird aber nicht ga- führt somit zu einer kompakteren Datenstruktur. rantiert, dass die Extraktion der häufigen Muster effizient Zwei Items im F P 2 -Stream ai (l, r) und ai (l0 , r0 ) geschieht. Das Herauslösen der Frequent Pattern stellt da- können genau dann zu dem Item ai (l, r0 ) zusammenge- bei ein kombinatorisches Problem dar. Mit der Entwick-
lung des FP-Tee präsentierten Han et al. in [5] den FP- den erzeugten Datenstrom für ein Attribut. Growth, ein Verfahren zur Extraktion aller im FP-Tree ge- Aus diesen drei Datenströmen sollen nun zusam- speicherten häufigen Muster. Im Folgenden wird ein für menhängende Itemsets extrahiert werden, wobei pro At- den F P 2 -Stream angepasstes Growth-Verfahren zum ex- tribut ein Item erzeugt werden soll. Im ersten Test sol- trahieren der häufigen Muster beschrieben. len Items bzw. Itemsets extrahiert werden, deren Support Bevor die häufigen Itemsets extrahiert werden können minsupp mindesten 0.25 ist. Es wurde mit einer Batch- sind zwei wesentliche Verarbeitungsschritte notwendig. In größe |b| = 100, einer Fenstergröße N von 5, sowie Histo- einem ersten Schritt wird aus dem F P 2 -Stream ein F P 2 - grammen mit 10 Buckets d und einer maximalen Schiefe Tree extrahiert. Hierzu wird die Summe über alle in dem maxskew von 0.2 getestet. Abbildung 5(b) zeigt beispiel- Fenster eines Knotens enthaltenen Häufigkeiten als aktu- haft die zeitliche Entwicklung des über dem Datenstrom eller Wert für einen Knoten des F P 2 -Tree herangezogen. aus Abbildung 5(a) entwickelten Items. Graue Buckets Aufgrund des kontinuierlichen Teilens der Knoten, unter repräsentieren Items (pro Zeitschritt jeweils eine zusam- Annahme einer Gleichverteilung der einzelnen Werte in menhängende Box). Die schwarzen Rahmen entsprechen den Intervallen, handelt es sich bei den Häufigkeiten in den Knoten im F P 2 -Stream, die über diesem Attribut den Knoten des F P 2 -Stream zumeist nur um approximier- existieren. Weiß gerahmte Buckets sind somit Knoten im te Werte. Lediglich Knoten, welche zuvor nicht gesplit- F P 2 -Stream, welche nicht häufig sind. Graue Balken, die tet wurden, weißen genaue Häufigkeitswerte auf. Um dies aus mehreren Buckets bestehen sind im F P 2 -Stream über auch für zuvor geteilte Knoten zu erreichen sind die Fens- mehrere Knoten verteilt. terslots aller Knoten, welche ursprünglich von dem sel- Abbildung 5(b) zeigt sehr gut, dass zu Beginn der Analy- ben Knoten abstammen untereinander über Ringlisten mit- se der vollständige Wertebereich durch das Item überdeckt einander verbunden (siehe Item-Split). Unter Verwendung wird. Anschließend fängt der Algorithmus an, den alles dieser kann die genaue Häufigkeit für den ursprünglichen überdeckenden Knoten in mehrere Teilknoten zu zerlegen. Knoten wiederhergestellt werden (die Summe über alle Aufgrund des Zeitfensters von 5 Batches setzt sich diese Knoten einer Ringliste). Verfeinerung allerdings erst nach 600 Zeiteinheiten durch. Der durch den Extraktionsprozess erzeugte F P 2 -Tree Anschließend schwankt das erzeugte Item um den Mittel- enthält im allgemeinen quantitative Items, deren Support wert der Standardnormalverteilten Daten. nicht minsupp genügt. Im nächsten Schritt werden durch Elementar für die Menge an Knoten im F P 2 -Stream die Rekombination von benachbarten Intervallen Items er- und für die Konstruktion der Items bzw. Itemsets ist das zeugt, welche minsupp genügen. DIn der Literatur las- Maß der Informationsdichte. Abbildung 5(c) zeigt für den sen sich verschiedene Interessantheitsmaße für das Erzeu- betrachteten Beispieldatenstrom die Dichte der einzelnen gen der Items finden [10; 13]. Beim F P 2 -Stream bzw. Buckets. Die Bucketgrenzen entsprechen denen aus Abbil- F P 2 -Tree findet die Informationsdichte der Items Verwen- dung 5(b). Die Abbildung zeigt die mit steigender Knoten- dung. D.h. das Item mit der höchsten Informationsdichte verfeinerung zunehmende Informationsdichte. wird so lange mit benachbarten Items (dem jeweils dich- Die Synopse des F P 2 -Stream ist eine Datenstruktur zur testen direkt benachbarten Item) verbunden, bis der gefor- effizienten Speicherung von Transaktionen. Das kontinu- derte minimale Support erreicht wird. Werden per Defini- ierliche Verfeinern von Knoten hat allerdings starken Ein- tion mehr als ein häufiges Item pro Datenstromattribut ge- fluss auf die Größe der Baumstruktur. So führt zum Bei- fordert, dann wird dieses Verfahren auf die verbliebenen spiel ein Splitt in der Wurzel zu einer Verdoppelung aller nicht-häufigen Items angewandt. abhängigen Knoten. Während der initialen Phase muss sich Nachdem der F P 2 -Tree erzeugt wurde und die Items das Verfahren erst an die Daten anpassen. Dies kann eine den definierten Bedingungen genügen, können aus diesem Vielzahl an Split und Merge Operationen zur Folge haben. häufige Itemsets extrahiert werden. Aus Gründen der effizi- In Abbildung 5(d) ist die Zeitliche Entwicklung zu obigen enten Auswertung wird hierzu auf das Top-Down Verfahren Beispiel dargestellt. Sehr gut zu erkennen ist die Spitze zu nach [14] zurückgegriffen. Beginn des Verarbeitungsprozesses. Abbildung 5(d) zeigt außerdem die Anzahl an Knoten 5 Evaluierung pro Attribut im Baum. Erwartungsgemäß steigt diese Zahl Im folgenden soll die Funktionsweise des vorgestellten mit der Tiefe des Baumes, so dass das Attribut, welches Verfahrens gezeigt werden. Zu diesem Zweck wurde das sich auf Blattebene befindet (im Beispiel Attribut 3) durch Verfahren in Form eines Operators in das Datenstrom- die höchste Anzahl an Knoten repräsentiert wird. Managementsystem AnduIN [6] integriert. Neben einer Durch das Rekombinieren von Items innerhalb des F P 2 - Vielzahl an einfachen Operationen (Filter, Projektion, Ver- Stream werden automatisch auch die entsprechenden Item- bund, Aggregation) unterstützt AnduIN zusätzlich auch die sets zusammengeführt. Während der Itemset-Exktraktion Integration komplexer Operatoren in Form von Synopsen- werden alle Items aus der Datenstruktur herausgelöst, wel- Operatoren. Unter einem Synopsen-Operator wird dabei che dem minimalen Support genügen. Im Beispiel der ein Operator verstanden, welcher sowohl über eine In- standardnormalverteilten Daten sind hierbei zusätzlich 2- Memory Datenzusammenfassung, als auch über notwen- Itemsets bzw. vereinzelt auch 3-Itemsets extrahiert wurden. dige Algorithmen für das Einfügen von Daten und deren Die Bilder in Abbildung 6 zeigen die zeitliche Entwicklung Auswertung verfügt. Das hier präsentierte Verfahren wur- des 2-Itemsets über den Attributen 0 und 2. Jedes der ein- de als ein solcher Synopsenoperator integriert. zelnen Bilder entspricht dabei dem am Ende eines Batches Zunächst soll die grundlegende Funktion des Verfahrens extrahiertem Itemset. Wiederum sehr gut zu erkennen ist präsentiert werden. Hierzu wurden 3 Datenströme zu je die initiale Phase. Außerdem sehr gut zu erkennen ist das 5000 Datenpunkten erzeugt. Ein Datenstrom entspricht da- entfernen von Buckets am Rand infolge zu weniger Wer- bei den Daten eines Attributes, d.h. die Analyse erfolgt im te in diesen Regionen. Das entfernen von uninteressanten weiteren über Attributen. Die erzeugten Werte sind dabei Knoten ist einer der Gründe, warum sich die Anzahl an standardnormalverteilt. Abbildung 5(a) zeigt exemplarisch Knoten im F P 2 -Stream nach dem initialen Anstieg auf ei-
4 4 3 3 2 2 1 1 Wert Wert 0 0 -1 -1 -2 -2 -3 -3 -4 -4 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Zeit Zeit (a) Daten (b) Item 4 1200 Anzahl Knoten gesamt Knoten Attr 1 3 Knoten Attr 2 1000 Knoten Attr 3 2 800 1 Anzahl Knoten Wert 0 600 -1 400 -2 200 -3 -4 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Zeit Zeit (c) Dichteverteilung (d) Anzahl Knoten Abbildung 5: Standardnormalverteilte Daten Zeit 100 Zeit 200 Zeit 500 Zeit 600 3 3 3 3 2 2 2 2 1 1 1 1 AttrID 2 AttrID 2 AttrID 2 AttrID 2 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 AttrID 0 AttrID 0 AttrID 0 AttrID 0 Zeit 700 Zeit 800 Zeit 900 Zeit 1000 3 3 3 3 2 2 2 2 1 1 1 1 AttrID 2 AttrID 2 AttrID 2 AttrID 2 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 AttrID 0 AttrID 0 AttrID 0 AttrID 0 Abbildung 6: Entwicklung des Itemsets s1 und s2 nem deutlich niedrigeren Level einpendelt. Entwicklung des entsprechenden Attributes dargestellt Für den nächsten Test wurden wiederum drei Daten- und Abbildung 7(d) zeigt zeitliche Entwicklung der ströme erzeugt. Jeder Datenstrom umfasst dabei 5000 Da- Knotenanzahl im F P 2 -Stream. Trotz des kontinuierlichen tenpunkte und folgt einem Trend. Zusätzlich wurden die Trends entwickelt sich die Gesamtknotenanzahl anschlie- Daten mit normalverteiltem Rauschen überlagert. Abbil- ßend relativ konstant bei ca. 200 Knoten. Beginnend ab dung 7(a) zeigt den zeitlichen Verlauf der drei Datensätze. Zeitpunkt 3300 wächst die Knotenanzahl erneut drastisch an. Die Ursache hierfür liegt offensichtlich in einer Das Experiment wurde wiederum mit |b| = 100, N = 5 Änderung der Datencharakteristik während dieser Zeit und einer maximalen Schiefe maxskew von 0.2 bei 10 bei Attribut 3. Trotz dem, dass es sich um trenbehaftet Histogrammbuckets durchgeführt. Der geforderte Support Daten mit normalverteiltem Rauschen handelt, scheint betrug 0.15. Abbildung 7(b) zeigt exemplarisch die Ent- zwischen den Zeitpunkten 3000 und 3500 eine weitere wicklung der Items für ein Attribut. Die notwendige Ein- Überlagerung (ähnlich einem Burst) aufzutreten. Diese schwingphase ist deutlich zu erkennen. Im weiteren Ver- plötzliche Veränderung hat entsprechend Auswirkungen lauf entwickelt sich das Item mit dem Trend, wobei für den auf die Knoten und deren Dichten (siehe Abbildung 7(c)), geforderten minimalen Support mehr oder weniger viele welche Attribut 3 repräsentieren und führen vermutlich zu Knoten kombiniert werden müssen. Interessant ist die Ent- dem Peak. wicklung des Items um den Zeitpunkt 1000. Hier sorgen die neu eintreffenden Werte offensichtlich für ein oszillie- Diese ersten Ergebnisse zeigen, dass das Verfahren des ren zwischen zwei Items, welches sich erst mit dem Teit- quantitativen FP-Mining für die Analyse von Datenströmen punkt 1300 durchsetzen kann. prinzipiell geeignet ist. Es wurde gezeigt, dass das ein- In Abbildung 7(c) ist die Informationsdichte- geführte Maß der Informationsdichte ist für Erzeugen in-
30 30 Attribut 1 Attribut 2 Attribut 3 28 25 26 20 24 22 15 20 Wert Wert 18 10 16 5 14 12 0 10 -5 8 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Zeit Zeit (a) Daten (b) Item 30 3500 Anzahl Knoten gesamt 28 Knoten Attr 1 Knoten Attr 2 3000 Knoten Attr 3 26 24 2500 22 Anzahl Knoten 2000 20 Wert 18 1500 16 14 1000 12 500 10 8 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Zeit Zeit (c) Dichteverteilung (d) Anzahl Knoten Abbildung 7: Trendbehaftete Daten teressanter Itemsets. Erst dieses ermöglicht die Analyse [3] T. Fukuda, Y. Morimoto, Sh. Morishita, and T. Tokuyama. über Datenströmen, da es sowohl für das Teilen und Ver- Mining optimized association rules for numeric attributes. binden von Intervallen, als auch für die Rekombination als In PODS ’96, pages 182–191. ACM, 1996. Schritt der Itemsetextraktion herangezogen wird. Mit dem [4] M. Halatchev and Le Gruenwald. Estimating missing values präsentierten Maß kann auch das Testen aller möglichen In- in related sensor data streams. In COMAD, pages 83–94, tervallkombinationen verzichtet werden, was einer der we- 2005. sentlichen Gründe für die Eignung zur Analyse von Daten- [5] J. Han, J. Pei, and Y. Yin. Mining Frequent Patterns without strömen ist. Candidate Generation. In 2000, Dallas, USA, pages 1–12, 2000. 6 Zusammenfassung [6] D. Klan, K. Hose, M. Karnstedt, and K. Sattler. Power- aware data analysis in sensor networks. In ICDE ’10, Long Das FP-Mining über statischen Daten mit kategorischen Beach, California, USA, 2010. IEEE, IEEE. Werte zählt heute zu den klassischen Data Mining Verfah- [7] C. K.-S. Leung and Q. I. Khan. Dstree: A tree structure for ren, für welches eine Vielzahl an Lösungen in der Literatur the mining of frequent sets from data streams. In ICDM ’06, zu finden sind. In der hier vorgestellten Arbeit wurde ein pages 928–932, Washington, DC, USA, 2006. IEEE Com- neuer Ansatz für die Identifikation von häufigen Mustern puter Society. über quantitative Attribute aus Datenströmen präsentiert. [8] G. S. Manku and R. Motwani. Approximate Frequency Das präsentierte Verfahren kombiniert hierzu bekannte Counts over Data Streams. In 2002, Hong Kong, China, Techniken aus dem Data Mining Bereich mit Verfahren der pages 346–357, 2002. mehrdimensionalen Indexstrukturen. Neben den notwendi- [9] J. S. Park, M.-S. Chen, and P. S. Yu. An effective hash- gen Verarbeitungsschritten wurde die prinzipielle Funktion based algorithm for mining association rules. In SIGMOD anhand von Beispielen gezeigt. In weiteren Arbeiten soll ’95, pages 175–186, New York, NY, USA, 1995. ACM. die Funktion des Verfahrens mit realen Szenarien unter- [10] G. Piatetsky-Shapiro. Discovery, analysis and presentation sucht und evaluiert werden. Das DSMS AnduIN erlaubt of strong rules. 1991. die Teilweise Auslagerung von Funktionalität in Wireless [11] R. Srikant and R. Agrawal. Mining quantitative association Sensor Netzwerke. Eine der zukünftigen Arbeiten ist da- rules in large relational tables. SIGMOD Rec., 25(2):1–12, her die Migration des vorgestellten Verfahrens hin zu ei- 1996. nem In-Network-Operator von AnduIN mit dem Ziel einer [12] S. K. Tanbeer, Ch. F. Ahmed, B.-S. Jeong, and Y.-K. Lee. möglichst effizienten Verarbeitung. Efficient frequent pattern mining over data streams. In CIKM ’08, pages 1447–1448, New York, NY, USA, 2008. Literatur ACM. [1] [13] A. Tuzhilin. On subjective measures of interestingness in R. Agrawal, T. Imielinski, and A. N. Swami. Mining Asso- ciation Rules between Sets of Items in Large Databases. In knowledge discovery. In KDD ’95, pages 275–281. AAAI ’93, Washington, D.C., USA, pages 207–216, 1993. Press, 1995. [14] K. Wang, L. Tang, J. Han, and J. Liu. Top down fp-growth [2] Y. Aumann and Y. Lindell. A statistical theory for quantita- for association rule mining. In PAKDD ’02, pages 334–340, tive association rules. In Journal of Intelligent Information London, UK, 2002. Springer-Verlag. Systems, pages 261–270, 1999.
Sie können auch lesen