Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse aus Daten zu gewinnen

Ähnliche Dokumente
5.2 Assoziationsregeln

k-means als Verfahren zur Clusteranalyse basierend auf Repräsentanten bestimmt ein flaches Clustering

Inhalt. 5.1 Motivation. 5.2 Clustering mit Repräsentanten. 5.3 Hierarchisches Clustering. 5.4 Dichtebasiertes Clustering. 5.

Assoziationsregeln & Sequenzielle Muster. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007

Data Mining. Informationssysteme, Sommersemester 2017

Kapitel 7: Assoziationsregeln

Skript zur Vorlesung. Knowledge Discovery in Databases. im Wintersemester 2009/2010. Assoziationsregeln

Kapitel 7: Assoziationsregeln

Unüberwachtes Lernen: Clusteranalyse und Assoziationsregeln

Kapitel 8: Assoziationsregeln

Maschinelles Lernen: Symbolische Ansätze

Kapitel 8: Assoziationsregeln

INTELLIGENTE DATENANALYSE IN MATLAB. Unüberwachtes Lernen: Clustern von Attributen

5. Assoziationsregeln

Data Mining und Maschinelles Lernen Lösungsvorschlag für das 12. Übungsblatt

Fortgeschrittene Computerintensive Methoden: Assoziationsregeln Steffen Unkel Manuel Eugster, Bettina Grün, Friedrich Leisch, Matthias Schmid

Lernen von Assoziationsregeln

Data Warehousing und Data Mining

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Induktion von Assoziationsregeln. Stefan Mandl

Rückblick. Entscheidungsunterstützende Systeme / Kapitel 4: Klassifikation

6.6 Vorlesung: Von OLAP zu Mining

Mining über RDBMSe. von. Christian Widmer. Wie gut lässt sich Mining mit SQL realisieren?

Übersicht. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007

Maschinelles Lernen in der Bioinformatik

Data Mining 5-1. Kapitel 5: Frequent Itemsets. Johannes Zschache Wintersemester 2018/19

XML & Intelligente Systeme. - XQuery Teil 2 - Datamining auf XML Dokumenten

Klassifikationsverfahren haben viele Anwendungen. Binäres Klassifikationsverfahren auch zur Klassifikation in mehr als zwei Klassen verwendbar

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung

Inhalt. 4.1 Motivation. 4.2 Evaluation. 4.3 Logistische Regression. 4.4 k-nächste Nachbarn. 4.5 Naïve Bayes. 4.6 Entscheidungsbäume

Frequent Itemset Mining und FP-Tree

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Frequent Itemset Mining + Association Rule Mining

Kapitel 11: Association Rules

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

Algorithms for Pattern Mining AprioriTID. Stefan George, Felix Leupold

Hauptseminar KDD SS 2002

Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen

Effiziente Algorithmen 2

FernUniversität in Hagen. Seminar Data Mining im Sommersemester 2008 Häufige Muster und Assoziationsregeln. Thema Der Apriori-Algorithmus

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

4.Tutorium Multivariate Verfahren

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Data Mining und Statistik: Gemeinsamkeiten und Unterschiede. Daniel Meschenmoser

Erkennung Sequenzieller Muster Algorithmen und Anwendungen

Clusteranalyse: Gauß sche Mischmodelle

6. Algorithmen auf Zeichenketten

Wissensentdeckung in Datenbanken

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

4. Assoziationsregeln

6. Überblick zu Data Mining-Verfahren Einführung

Kapitel IR:III (Fortsetzung)

Algorithmische Bioinformatik 1

String - Matching. Kapitel Definition

Algorithmische Bioinformatik 1

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Data Mining auf Datenströmen Andreas M. Weiner

2.2 Der Algorithmus von Knuth, Morris und Pratt

Mustererkennung. Übersicht. Unüberwachtes Lernen. (Un-) Überwachtes Lernen Clustering im Allgemeinen k-means-verfahren Gaussian-Mixture Modelle

Clustern: Voraussetzungen

Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Lehrstuhl für Wirtschaftsinformatik I - II - 1 -

Grundlagen: Algorithmen und Datenstrukturen

Mathematische Grundlagen III

Data Mining im Einzelhandel Methoden und Werkzeuge

DBS5 Kap. 4. Data Mining

6. Überblick Data Mining/ML-Verfahren Einführung Data Mining / maschinelles Lernen

VII.3 Assoziationsregeln

Vorlesung Wissensentdeckung

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Programmierkurs Python II

Proseminar String Matching

Polynomiale Regression lässt sich mittels einer Transformation der Merkmale auf multiple lineare Regression zurückführen

... Text Clustern. Clustern. Einführung Clustern. Einführung Clustern

4.1 Einleitung. 4. Assoziationsregeln. 4.2 Einfache Assoziationsregeln. 4.1 Einleitung. Inhalt dieses Kapitels. Motivation. Assoziationsregeln

Data Mining-Modelle und -Algorithmen

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Suchen in Texten. Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz

Softwareprojektpraktikum Maschinelle Übersetzung

4. Assoziationsregeln. 4.1 Einleitung. 4.2 Einfache Assoziationsregeln. 4.1 Einleitung. Inhalt dieses Kapitels. Motivation

Maschinelles Lernen: Symbolische Ansätze

Datenstrukturen & Algorithmen

Data Mining - Wiederholung

Kapitel 5. Textalgorithmen. 5.1 Grundbegriffe

2. Datenvorverarbeitung

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori

Datenbanken Unit 10: Ranking und Data Mining Erstellen und Ändern von Datenbanken

Hidden Markov Models

2.4 Entscheidung bei Risiko

Rückblick: Längste gemeinsame Zeichenkette

Wann sind Codes eindeutig entschlüsselbar?

IR Seminar SoSe 2012 Martin Leinberger

Regelbasiertes Tiling für Collaborative Filtering

Transkript:

Rückblick Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse aus Daten zu gewinnen Klassifikation ordnet neue Datenpunkte in Klassen ein, deren Charakteristika vorab anhand von Trainingsdaten bestimmt wurden k-nächste Nachbarn als Klassifikationsverfahren basierend auf der Distanz zwischen Datenpunkten Naïve Bayes als probabilistisches Klassifikationsverfahren, welches häufig zur Klassifikation von Texten eingesetzt wird 32

63 Clusteranalyse Datenpunkte (zb Dokumente) sind in homogene Gruppen (cluster) einzuordnen, dabei gilt Datenpunkte der gleichen Gruppe sollen möglichst kleine Distanz zueinander haben Datenpunkt in verschiedenen Gruppen sollen möglichst große Distanz zueinander haben 0 2 4 6 8 10 12 y 0 2 4 6 8 10 12 y 0 2 4 6 8 10 12 x 0 2 4 6 8 10 12 x 33

Clusteranalyse Drei Arten von Verfahren zur Clusteranalyse repräsentantenbasierte (zb k-means, k-medoids) hierarchische (zb HAC, HDC) dichtebasierte (zb DBScan) Verfahren unterscheiden sich auch darin, ob jeder Datenpunkt einem oder mehreren Clustern mit Gewichtung zugeordnet wird (Soft-Clustering) jeder Datenpunkt einem Cluster zugeordnet werden muss oder auch als Rauschen markiert werden darf 34

631 k-means C i Jeder Cluster wird durch Punkt repräsentiert zb µ i Zentroid (bei k-means) µ i = 1 C i ÿ x j œc i x j Medoid (bei k-medoids) µ i = arg min x j œc i Clustering soll die Distanz zwischen Datenpunkten und dem Repräsentanten ihres Clusters minimieren L(C) = kÿ i=1 ÿ x l œc i d(x j, x l ) ÿ x j œc i d(x j, µ i ) 35

k-means Bestimmen des optimalen Clusterings nicht möglich C ú C ú = arg min C L(C) k-means als randomisierter iterativer Algorithmus beruht auf einer Greedy-Strategie und findet evtl nur ein lokales Minimum; je Iteration: weise Datenpunkte Cluster mit nächstem Repräsentanten zu berechne Repräsentanten neu basierend auf Datenpunkten Wiederholte Anwendung unter Beibehaltung des besten ermittelten Clusterings in der Praxis empfehlenswert 36

k-means 1 // Reprä sentanten zufä llig initialisieren 2 int t = 0; 3 for( int j=1; j <= k; j++) { 4 µ t j = random(m); 5 } 6 7 do { 8 t++; 9 10 // Cluster zurücksetzen 11 for( int j=1; j <= k; j++) { 12 C j = ÿ; 13 } 14 15 // Datenpunkte nä chstem Cluster zuweisen 16 for (x i œ D) { 17 j ú = arg min d(x i, µ (t 1) j ); j 18 C j ú = C j ú fi {x i }; 19 } 20 21 // Repräsentanten neu berechnen 22 for( int j=1; j <= k; j++) { 23 µ t j = 1 q C j x i œc j x i ; 24 } 25 26 } while 1 qk 2 j=1 d(µ(t 1) j µ t j ) > 37

Beispiel k-means in R Quelle: Zaki and Meira [4] 38

Beispiel k-means im R 2 Quelle: Zaki and Meira [4] 39

Beispiel k-means im R 2 Quelle: Zaki and Meira [4] 40

Beispiel k-means im R 2 Quelle: Zaki and Meira [4] 41

k-means k-means erzeugt konvexe Cluster, dh alle Punkte auf der Geraden zwischen zwei Datenpunkten innerhalb eines Clusters würden ebenfalls zum Cluster gehören Repräsentanten können alternativ unter Berücksichtigung der Datenpunkte initialisiert werden, zb als zufällige Auswahl von k Datenpunkten Alternatives Konvergenzkriterium überprüft, ob sich die Zusammensetzung der Cluster geändert hat, dh ob mindestens ein Datenpunkt Cluster gewechselt hat 42

64 Assoziationsanalyse Assoziationsregeln (association rules) beschreiben Zusammenhänge zwischen gemeinsam auftretenden Merkmalen Warenkorbanalyse als typische Anwendung; Assoziationsregeln dann zb {Chips, Windeln} {Bier} {Salsa, Guacamole} {Nachos} ÈStar Wars 1, Star Wars 2 Í ÈStar Wars 3 Í 43

641 Häufige Artikelmengen (frequent itemsets) Betrachte eine Menge von bekannten Artikeln (items) I = { x 1,x 2,,x m } Transaktionsdatenbank D ist eine Menge von Transaktionen der Form (t, X ) mit t œ N als eindeutige Transaktions-ID X I als Menge enthaltener Artikel (itemset) Beispiel: I = ; Brezeln, Bier, Chips, Cola, Wurst, Kaese, Brot, Birnen, < D = Y _] _[ (1, {Bier, Cola}), (2, {Wurst, Chips, Birnen}), (3, {Bier, Cola}), (4, {Kaese, Bier, Cola}), (6, {Brot, Wurst, Kaese}), (7, {Brot, Wurst, Birnen}), (8, {Birnen, Brot}), Z _^ _\ 44

Support einer Artikelmenge Betrachten wir eine Artikelmenge C, so bezeichnet ihr (absoluter) Support die Anzahl von Transaktionen, in deren Artikelmengen C enthalten ist sup(c, D) = {(t, X) œ D : C X } sup({bier},d)=3 sup({cola},d)=3 sup({cola, Bier}, D)=3 sup({brot, Wurst}, D)=2 sup({birnen, Bier}, D)=0 D = Y _] _[ (1, {Bier, Cola}), (2, {Wurst, Chips, Birnen}), (3, {Bier, Cola}), (4, {Kaese, Bier, Cola}), (6, {Brot, Wurst, Kaese}), (7, {Brot, Wurst, Birnen}), (8, {Birnen, Brot}), Z _^ _\ 45

Bestimmen häufiger Artikelmengen Bestimmen häufiger Artikelmengen (frequent itemset mining) nutzt Anti-Monotonie des Supports aus; für zwei beliebige Artikelmengen X und Y gilt X Y sup(x) Ø sup(y ) Beispiel: Betrachten wir die beiden Artikelmengen X = {Bier} Y = {Bier, Cola} so wissen wir, dass die Artikelmenge Y höchstens so häufig vorkommen kann wie die Artikelmenge X 46

Bestimmen häufiger Artikelmengen Anti-Monotonie erlaubt die betrachteten Artikelmengen stark einzuschränken (pruning); wissen wir, dass die Artikelmenge X weniger häufig als minsup vorkommt, so wissen wir dass alle Obermengen Y X auch weniger häufig vorkommen 47

A-Priori Algorithmus A-Priori Algorithmus findet alle Artikelmengen (frequent itemsets) in einer Transaktionsdatenbank, die häufiger als minsup vorkommen iterativer Algorithmus, der sich in der i-ten Iteration Artikelmengen der Kardinalität i anschaut jede Iteration besteht aus zwei Phasen Generierung von Kandidaten-Artikelmengen der Größe i aus häufigen Artikelmengen der Größe (i-1) Ausputzen (pruning) der Kandidaten-Artikelmengen mittels Durchlaufs durch die Transaktionsdatenbank; nur jene mit Support größer gleich minsup bleiben erhalten stoppt, wenn in einer Iteration keine häufigen Artikelmengen gefunden wurden 48

A-Priori Algorithmus 1 // Hä ufige Artikelmengen mit einem Element bestimmen 2 F 1 = {{i} : i œ I sup({i},d) Ø minsup}; 3 4 // Artikelmengen steigender Kardinalität betrachten 5 int k = 2; 6 while(f k 1 = ÿ) { 7 8 // Generiere Kandidaten - Artikelmengen der Größe k 9 C k = {a fi b : a œ F k 1 b œ F k 1 a fl b =(k 2)}; 10 11 // Ausputzen der Kandidaten - Artikelmengen 12 F k = {a œ C k : sup(a, D) Ø minsup}; 13 14 k = k + 1; 15 } 16 17 return F = t k 1 i=1 F i 49

Beispiel A-Priori Algorithmus Die folgende Transaktionsdatenbank sei gegeben Y Z (1, {A, B, C}), (2, {B,C}), _] (3, {A, C}), (4, {A, D}), _^ D = (5, {C, D}), (6, {A, C, D}), (7, {A, C, D}), (8, {A, B, D}), _[ _\ (9, {A, B}), (10, {B,C,E}) es sollen Artikelmengen für minsup = 2 bestimmt werden F 1 = {{A}, {B}, {C}, {D}} 50

Beispiel A-Priori Algorithmus Erste Iteration (k=2) C 2 = {{A, B}, {A, C}, {A, D}, {B,C}, {B,D}, {C, D}} F 2 = {{A, B}, {A, C}, {A, D}, {B,C}, {C, D}} Zweite Iteration (k=3) C 3 = {{A, B, C}, {A, B, D}, {A, C, D}, {B,C,D}} F 3 = {{A, C, D}} Dritte Iteration (k=4) C 4 = ÿ F 4 = ÿ 51

642 Assoziationsregeln Assoziationsregeln erfassen starke Zusammenhänge zwischen dem Auftreten einer Artikelmenge A und einer Artikelmenge B in Transaktionen A B Nur solche Assoziationsregeln sollen gefunden werden, die häufig genug beobachtet wurden (support) eine hohe Vorhersagekraft haben (confidence) überraschend oder unerwartet sind (lift) 52

Support einer Assoziationsregel Betrachten wir eine Assoziationsregel A B mit Artikelmengen A und B, so ist ihr Support definiert als sup(a B) =sup(a fi B,D) sup({bier} {Cola}) =3 sup({bier, Cola} {Kaese}) =1 D = Y _] _[ (1, {Bier, Cola}), (2, {Wurst, Chips, Birnen}), (3, {Bier, Cola}), (4, {Kaese, Bier, Cola}), (6, {Brot, Wurst, Kaese}), (7, {Brot, Wurst, Birnen}), (8, {Birnen, Brot}), Z _^ _\ 53

Konfidenz einer Assoziationsregel Betrachten wir eine Assoziationsregel A B mit Artikelmengen A und B, so ist ihre Konfidenz (confidence) definiert als conf (A B) = sup(a fi B,D) sup(a, D) conf ({Bier} {Cola}) = 3 3 conf ({Bier, Cola} {Kaese}) = 1 3 D = Y _] _[ (1, {Bier, Cola}), (2, {Wurst, Chips, Birnen}), (3, {Bier, Cola}), (4, {Kaese, Bier, Cola}), (6, {Brot, Wurst, Kaese}), (7, {Brot, Wurst, Birnen}), (8, {Birnen, Brot}), Z _^ _\ 54

Bestimmen von Assoziationsregeln Man möchte nun für eine Transaktionsdatenbank D alle Assoziationsregeln A B bestimmen, so dass gilt sup(a B) Ø minsup, dh man ist an Assoziationsregeln, die häufiger als der Parameter minsup beobachtet wurden conf (A B) Ø minconf, dh nur Assoziationsregeln mit Konfidenz höher als Parameter minconf zu bestimmen Vorgehensweise: 1 Bestimme häufige Artikelmengen C mit sup(c) Ø minsup 2 Leite aus häufigen Artikelmengen Assoziationsregeln ab 55

Ableiten von Assoziationsregeln Assoziationsregeln lassen sich aus den gefundenen häufigen Artikelmengen wie folgt ableiten betrachte jede häufige Artikelmenge X für jede echte Teilmenge Y X, überprüfe die Konfidenz der Assoziationsregel Y => (X \ Y), dh berechne den Wert sup(x, D) / sup(y, D), und behalte die Assoziationsregel, wenn der Wert größer gleich minconf ist Jede so aus einer häufigen Artikelmengen X generierte Assoziationsregel ist ebenfalls häufig, dh es gilt sup(y => (X \ Y)) minsup 56

Ableiten von Assoziationsregeln 1 // Menge gefundener Assoziationsregeln 2 AR = ÿ; 3 4 // Betrachte hä ufige Artikelmengen 5 for (X œ F : X Ø 2) { 6 7 // Betrachte echte Teilmengen 8 for(y µ X ) { 9 10 // Bestimme Konfidenz der Regel Y => (Y \ X) 11 c = sup(x, D)/sup(Y,D); 12 13 // Konfidenz größer gleich minconf? 14 if (c >= minconf ) { 15 AR = AR fi { Y (X \ Y ) } 16 } 17 } 18 } 19 20 return AR; 57

Beispiel Ableiten von Assoziationsregeln Die folgende Transaktionsdatenbank sei gegeben Y Z (1, {A, B, C}), (2, {B,C}), _] (3, {A, C}), (4, {A, D}), _^ D = (5, {C, D}), (6, {A, C, D}), (7, {A, C, D}), (8, {A, B, D}), _[ _\ (9, {A, B}), (10, {B,C,E}) es sollen Assoziationsregeln für minsup = 2 und minconf = 06 bestimmt werden 58

Beispiel Ableiten von Assoziationsregeln Folgende häufige Artikelmengen wurden bestimmt F = Y _] _[ {A} : 7, {B} : 5, {C} : 7, {D} : 5, {A, B} : 3, {A, C} : 5, {A, D} : 4, {B,C} : 3, {C, D} : 3 {A, C, D} : 2 Z _^ _\ Daraus lassen sich die folgenden Assoziationsregeln mit Konfidenz größer gleich minconf = 06 ableiten {B} {A} : 3/5 {A} {C} : 5/7 {C} {A} : 5/7 {D} {A} : 4/5 {B} {C} : 3/5 {D} {C} : 3/5 {C, D} {A} : 2/3 59

Assoziationsregeln mit Generalisierungen Artikel lassen sich häufig in Kategorien einteilen, beispielsweise Produkte (zb Chips) in Produktkategorien (zb Snacks) Lebensmittel Artikel können in einer Taxonomie eingeordnet sein und es kann mehrere Ebenen allgemeinerer Produktkategorien geben Chips Snacks Flips Assoziationsregeln mit Generalisierungen zb {Cola, Bier} {Snacks} {Thinkpad X1 } {Drucker} 60

Assoziationsregeln mit Generalisierungen Assoziationsregeln mit Generalisierungen lassen sich mit bekannten Verfahren wie A-Priori oder FP-Growth bestimmen, sofern die Transaktionsdatenbank vorab erweitert wird Zu einem Artikel x i seien cat(x i ) seine Produktkategorien; wir definieren eine erweiterte Transaktionsdatenbank als I D Õ = (t, X Õ ) (t, X) œ D X Õ = X fi J cat(x) xœx 61

Assoziationsregeln mit Generalisierungen Beispiel: {Cola, Flips, Chips} wird zu {Cola, Flips, Chips, Snacks, Drinks, Lebensmittel} Lebensmittel Snacks Drinks Chips Flips Cola 62

643 Häufige Sequenzen (frequent sequences) In vielen Anwendungen spielt die Reihenfolge, in der Elemente (zb Artikel) auftreten, eine Rolle zb Filme in Online-Videothek werden von Kunden geschaut URLs innerhalb einer Website von Besuchern aufgerufen Wörter in natürlichsprachlichen Texten organische Basen (A, T, G, C) in einer DNA Zustände (zb Fehler) in einem System Man kann häufig auftretende Sequenzen in solchen Daten identifizieren, um beispielsweise wiederum Assoziationsregeln zu bestimmen 63

Sequenzen Mögliche Anwendungen solcher Assoziationsregeln sind Produktempfehlungen (zb Online-Videothek) Unterstützung des Benutzers bei der Texteingabe (zb auf Smartphone oder in Suchmaschinen) Vorhersage des nächsten Zustands eines Systems 64

Alphabet, Sequenz, Teilsequenz Betrachte ein Alphabet Σ von Symbolen (zb Zeichen) und Σ * bezeichne die Menge aller Folgen über diesem Alphabet es sei s eine Sequenz über dem Alphabet Σ s = n ist die Länge der Sequenz s s[i:j] ist eine zusammenhängende Teilsequenz von s s[1:i] ist eine Präfix der Länge i von s s[i:n] ist eine Suffix der Länge (n i + 1) von s Betrachte Alphabet Σ = {a, b, c} und s = <a b b a c>, dann s = 5, s[2:4] = <b b a>, s[1:3] = <a b b> und s[4:n] = <a c> 65

Alphabet, Sequenz, Teilsequenz Sequenz r heißt Teilsequenz von s, r s, wenn es eine Abbildung :[1, r ] æ [1, s ] gibt, so dass gilt 1 Æ i Æ r : r[i] =s[ (i)] 1 Æ i, j Æ r : i<j (i) < (j) Beispiel: r = <a b a c> ist Teilsequenz von s = <a b a a b c> r = <a a b c> ist keine Teilsequenz von s = <a b a a c c> Sequenzdatenbank D Σ * ist eine Menge von Folgen 66

Support Support einer Sequenz r ist definiert als sup(r, D) = {s œ D : r s} Anti-Monotonie des Supports auch für Sequenzen, dh: r s sup(r) Ø sup(s) Verfahren zum Bestimmen häufiger Sequenzen nutzen diese Eigenschaft aus, um in einer gegebenen Sequenzdatenbank D alle Sequenzen zu finden, die Support von mindestens minsup haben 67

GSP GSP ist wie A-Priori eine Algorithmus, der auf einer Generierung und Ausputzen von Kandidaten beruht i-te Iteration betrachtet Sequenzen der Länge i jede Iteration besteht aus zwei Phasen Generierung von Kandidaten-Sequenzen der Länge i aus häufigen Sequenzen der Länge (i-1) Ausputzen (pruning) der Kandidaten-Sequenzen mittels Durchlaufs durch die Sequenzdatenbank; nur jene mit Support größer gleich minsup bleiben erhalten 68

GSP 1 // Hä ufige Sequenzen aus einem Symbol bestimmen 2 F 1 = {ÈiÍ : i œ sup(èií,d) Ø minsup}; 3 4 // Artikelmengen steigender Kardinalität betrachten 5 int k = 2; 6 while(f k 1 = ÿ) { 7 8 // Generiere Kandidaten - Sequenzen der Lä nge k 9 C k = {r + s[k 1] : r œ F k 1 s œ F k 1 r[1 : k 2] = s[1 : k 2]}; 10 11 // Ausputzen der Kandidaten - Sequenzen 12 F k = {r œ C k : sup(r, D) Ø minsup}; 13 14 k = k + 1; 15 } 16 17 return F = t k 1 i=1 F i 69

Beispiel GSP Die folgende Sequenzdatenbank sei gegeben Y Z Èa abí ÈbcdÍ _] Èb abí ÈcaÍ _^ D = Èd aí ÈbdaÍ Èb cbí ÈbaÍ _[ _\ Èc cí ÈaceÍ und es sollen häufige Sequenzen für minsup = 2 bestimmt werden F 1 = {ÈaÍ, ÈbÍ, ÈcÍ, ÈdÍ} 70

Beispiel GSP Erste Iteration (k=2) ; ÈaaÍ, Èa bí, Èa cí, Èa dí, Èb aí, Èb bí, Èb cí, Èb dí, C 2 = Èc aí, Èc bí, Èc cí, Èc dí, Èd aí, Èd bí, Èd cí, Èd dí F 2 = ) ÈabÍ, Èb aí, Èb bí, Èb cí, Èb dí, Èd aí * < Zweite Iteration (k=3) Y Èa bbí, _] Èb abí, Èb aaí, Èb abí, Èb ací, Èb adí, C 3 = Èb baí, Èb bbí, Èb bcí, Èb bdí, Èb caí, Èb cbí, Èb ccí, Èb cdí, _[ Èb daí, Èb dbí, Èb dcí, Èb ddí Z _^ _\ F 3 = ÿ 71

72 GSP GSP kann als Breitensuche (breadth-first search) auf dem Präfixbaum aller Sequenzen interpretiert werden F 1 F 2 ÿ a a b c d e b a b c d e c a b c d e d a b c d e e a b c d e

Zusammenfassung Clustering gruppiert Datenpunkte in Gruppen, so dass Datenpunkte innerhalb einer Gruppe homogen, über Gruppen hinweg jedoch heterogen sind Assoziationsregeln decken Zusammenhänge in Daten auf (zb Warenkörbe) für Produktempfehlungen oä A-Priori zum Finden häufiger Artikelmengen sowie GSP zum Finden häufiger Sequenzen betrachten Kandidaten aufsteigender Größe und nutzen die Anti-Monotonie des Supports aus, um deren Anzahl zu reduzieren 73

Literatur [1] C D Manning, P Raghavan, H Schütze: Information Retrieval, Cambridge University Press, 2008 (Kapitel 14 & 16) [2] M J Zaki und W Meira Jr: Data Mining and Analysis, Cambridge University Press, 2014 (Kapitel 8-10 & 13) http://wwwdataminingbookinfo 74