Data Warehousing und Data Mining

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

Kapitel 7: Assoziationsregeln

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

Kapitel 7: Assoziationsregeln

Kapitel 8: Assoziationsregeln

Kapitel 8: Assoziationsregeln

Lernen von Assoziationsregeln

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

6.6 Vorlesung: Von OLAP zu Mining

4. Assoziationsregeln

Was wissen Sie jetzt?

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

Vorlesung Wissensentdeckung

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

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

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

Data Mining und Maschinelles Lernen Wintersemester 2015/2016 Lösungsvorschlag für das 13. Übungsblatt

Maschinelles Lernen: Symbolische Ansätze

Kapitel 11: Association Rules

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

4.2 Constraints für Assoziationsregeln

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

Kapitel 11: Association Rules

INTELLIGENTE DATENANALYSE IN MATLAB

Unüberwachtes Lernen: Clusteranalyse und Assoziationsregeln

Apriori Algortihmus. Endpräsentation. Stefan George, Felix Leupold

Algorithms for Pattern Mining AprioriTID. Stefan George, Felix Leupold

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

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

Data Mining. Informationssysteme, Sommersemester 2017

Frequent Itemset Mining + Association Rule Mining

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

5. Assoziationsregeln

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

Data Mining auf Datenströmen Andreas M. Weiner

Induktion von Assoziationsregeln. Stefan Mandl

Vorlesung Wissensentdeckung

Datenbanksysteme I Übung: Relationaler Datenbankentwurf. Jana Bauckmann

Vorlesung Wissensentdeckung

Vorlesung Wissensentdeckung

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

Mining conjunctive sequential patterns

119+1/182 Maschinelles Lernen und Data Mining WS 2002,3 Prof. Dr. Katharina Morik. Data Cube +, *!!**)* -. Dank an Hanna Köpcke!

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

Wissensentdeckung in Datenbanken

Frequent Itemset Mining und FP-Tree

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung

Maschinelles Lernen und Data Mining

Algorithmen zur Entdeckung von Assoziationsregeln unter Vermeidung von redundanten und missverständlichen Regeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Selbstständiges Lernen

Erkennung Sequenzieller Muster Algorithmen und Anwendungen

Grundlagen von Datenbanken Sommersemester 2012

4. Funktionen und Relationen

Moment: Maintaining Closed Frequent Itemsets over a Stream Sliding Window

DAP2-Klausur

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013

Inhalt. 7.1 Motivation. 7.2 Artikelmengen. 7.3 Assoziationsregeln. 7.4 Sequenzen. Entscheidungsunterstützende Systeme / Kapitel 7: Mustererkennung

Data Mining und Statistik: Gemeinsamkeiten und Unterschiede. Daniel Meschenmoser

7.1.2 Membership-Test - fortgesetzt

Effiziente Algorithmen

Informatik II, SS 2014

Kapitel 13: Pattern Mining unter Constraints

Häufige Mengen ohne Kandidatengenerierung

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

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

DBS5 Kap. 4. Data Mining

Vorlesung. Datenschutz und Privatheit in vernetzten Informationssystemen

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

Mathematische Grundlagen der Computerlinguistik Relationen und Funktionen

VII.3 Assoziationsregeln

Algorithmen und Datenstrukturen

Konzeptbeschreibung Ziel: Methode: Vorgehen: Entfernen von Attributen Verallgemeinerung von Attributen Relevanzanalyse der restlichen Attribute

Informatik II, SS 2018

Informationsmaß. Konzeptbeschreibung. Beispiel für Konzept-Charakterisierung (1) Beispiel für Konzept-Charakterisierung (2)

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik

Klausur Entscheidungsunterstützungssysteme (Vorlesung) im SS 16 (Termin 1)

ID3 und Apriori im Vergleich

Algorithmische Bioinformatik 1

Informatik II, SS 2016

Minimalpolynome und Implikanten

Kapitel 15: Mining von Sequential Patterns

Reelle Zahlen, Gleichungen und Ungleichungen

Gliederung. 1. Einleitung (1) 1. Einleitung (2) On detecting differences between groups

Algorithmen und Datenstrukturen

Übung Datenbanksysteme Normalformen

Informatik II, SS 2014

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann

Übung Datenbanksysteme I Relationaler Datenbankentwurf. Thorsten Papenbrock

6. Vorlesung. Rechnen mit Matrizen.

3.2. Divide-and-Conquer-Methoden

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

Vorlesung Datenstrukturen

Answer Sets: Beispiel Meeting Scheduling. a) Generate: generiert beliebige Zuweisungen von Zeiten und Räumen an Meetings

Abschnitt 11: Korrektheit von imperativen Programmen

Vorlesung Wissensentdeckung

Transkript:

Data Warehousing und Data Mining Association Rule Mining Ulf Leser Wissensmanagement in der Bioinformatik

Inhalt dieser Vorlesung Association Rule Mining (ARM) A-Priori Algorithmus Varianten Ulf Leser: Data Warehousing und Data Mining 2

Aufgabe Klassisches Problem: Warenkorbanalyse Transaktionen mit binären Attributen Produkt (Item) gekauft oder nicht Frage: Welche Produkte werden häufig zusammen gekauft was sind die Frequent Itemsets? Data Warehouse Kontext Viele Millionen Transaktionen (T) Viele tausend Produkte (I) Man kann nicht 2 I verschiedene Itemsets in T Listen zählen Ulf Leser: Data Warehousing und Data Mining 3

Formal Definition Gegeben eine Relation T von Transaktionen über Items der Menge I. Eine Assoziationsregel hat die Form (mit 0<n< I, i,i 1.. i n I, i {i 1,, i n }) {i 1,, i n } i Bedeutung: Wer i 1,, i n kauft, kauft auch i Reale Welt: Wir suchen nicht perfekte, sondern gute Regeln Sollen häufig greifen Konsequenz sollen meistens gelten Ulf Leser: Data Warehousing und Data Mining 4

Support und Confidence Definition Sei R=H i eine Assoziationsregel über T. Der Support von R, sup(r), ist die Häufigkeit von Tupeln in T in denen die Items H i enthalten sind Die Confidence von R, conf(r), ist definiert als conf ( R) = sup( H i) sup( H ) Bemerkungen Niedriger Support: Spezialregel, geringe Aussagekraft Niedrige Confidence: Falsche Regel, gilt oft nicht Ulf Leser: Data Warehousing und Data Mining 5

Beispiel Quelle: Dunhum, Data Mining Ulf Leser: Data Warehousing und Data Mining 6

Häufige Regeln ARM: Finde Regeln, deren Support größer ist als minsup Beobachtung A-Priori Regel: Wenn {i 1,, i n } i häufig ist, muss auch {i 1,, i n, i} häufig sein Umgekehrt: Wenn {i 1, i m } ein häufiges Itemset ist, dann ist jedes {i 1,, i j-1, i j+1,, i m } i j eine häufige Assoziationsregel Also: Wenn man häufige Itemsets finden kann, kann man auch häufige Assoziationsregeln finden Damit ist noch nichts über die Confidence gesagt Vorgehen: Häufige Regeln suchen, dann Confidence berechnen Das geht schnell: Division zweier Supports Spezialfall Closed ARM : Wenn H={i 1,, i n } i, dann ist H i mit H H wahr, aber uninteressant Ulf Leser: Data Warehousing und Data Mining 7

Anwendungen Überall dort, wo Dinge zusammen passieren und man Zusammenhänge vermutet Welche Aktienkurse steigen häufig gemeinsam? Welche Gene werden häufig gemeinsam exprimiert? Welche Ereignisse treten häufig vor einem Systemcrash auf? Welche Wörter treten häufig gemeinsam in interessanten Dokumenten auf? Was haben Studenten gemeinsam, die ihr Studium abbrechen? Trick ist die Darstellung als Transaktionen über Items Ulf Leser: Data Warehousing und Data Mining 8

Inhalt dieser Vorlesung Association Rule Mining (ARM) A-Priori Algorithmus Grundalgorithmus Kandidatenerzeugung und pruning Datenstruktur für den Pruningschritt Erweiterung: Partitionierung Ableitung von Assoziationsregeln Varianten Ulf Leser: Data Warehousing und Data Mining 9

Anwendung der A-Priori Regel Upward Wenn ACD häufig ist, muss AC, AD, CD, A, C, D häufig sein ABCD kann häufig sein Ulf Leser: Data Warehousing und Data Mining 10

Beispiel Downward Wenn ACD häufig ist, muss AC, AD, CD, A, C, D häufig sein ABCD kann häufig sein Downward Wenn BC nicht häufig ist, kann ABC, BCD und ABCD nicht häufig sein B und C können häufig sein Ulf Leser: Data Warehousing und Data Mining 11

Grundidee [AS94] Wir wollen nicht 2 I Itemsets in T zählen A-Priori-Eigenschaft Upward: Jede Teilmenge eines häufigen Itemsets ist häufig Downward: Häufige große Itemsets bestehen aus häufigen kleinen Itemsets Beide Eigenschaften können wir zum zielgerichteten Aufzählen und Prunen verwenden Starte mit kleinen Itemsets (einzelnen Items) Aufzählen Downward: Nur die Obermengen häufiger kleiner Itemsets können häufige große Itemsets sein Prunen Upward: Von diesen Obermengen können wir die streichen, die eine nicht-häufige Teilmenge enthalten Ulf Leser: Data Warehousing und Data Mining 12

Beispiel all A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD all A B C D AB AC AD BC BD CD ABC ABD ACD BCD Surely frequent Surely infrequent Potentially frequent all A B C D ABCD AB AC AD BC BD CD ABC ABD ACD BCD ABCD Ulf Leser: Data Warehousing und Data Mining 13

Top-Down Algorithmus L 1 := frequent 1-Itemsets aus I; k := 2; while L k-1 { C k := generatecandidates( L k-1 ); for each t T C := contains( C k,t); for each c C { c.count++; } } L k :={c C k (c.count minsup}; k++; } return k L k ; // Ein Scan von T // k: Größe der nächsten Itemsets // Noch Obermg sinnvoll? // Alle Obermengen der Größe k // Scanne T // Inkrementiere alle C k, // die in t enthalten sind // Nur die häufigen merken Benötigt viele Scans der Datenbank Verbesserungen notwendig (und viele bekannt) Ulf Leser: Data Warehousing und Data Mining 14

Beispiel all A B C D all A B C D all A B C D AB AC AD BC BD CD AB AC AD BC BD CD AB AC AD BC BD CD ABC ABD ACD BCD ABC ABD ACD BCD ABC ABD ACD BCD ABCD all ABCD all ABCD A B C D A B C D AB AC AD BC BD CD AB AC AD BC BD CD ABC ABD ACD BCD ABCD ABC ABD ACD BCD ABCD Ulf Leser: Data Warehousing und Data Mining 15

Kandidatengenerierung Gegeben Menge L aller häufigen Itemsets mit weniger als k Elementen Gesucht: Alle Itemsets mit k Elementen, die nur häufige Teilmengen enthalten (Funktion generatecandidates) Build downward: Alle Itemsets, die man aus häufigen Itemsets X, Y bilden kann mit X Y =k-2 und x 1 =y 1,, x k-2 =y k-2 X und Y stimmen in den ersten k-2 Items überein und unterscheiden sich im (k-1) ten Benötigt nur Itemsets der Länge k-1, effizient implementierbar, findet alle potentiell häufige Übermengen Prune upward: Für all diese potentiell häufigen Itemsets testen, ob alle ihre k-1 großen Teilmengen häufig (also in L k-1 ) sind Ulf Leser: Data Warehousing und Data Mining 16

Beispiel (minsup=2) Join I1-i2-i3 I1-i3-i4 I1-i2-i5 I2-i3-i4 I2-i3-i5 I2-i4-i5 Upward pruning I3-i4 selten I3-i4 selten I3-i5 selten I4-i5 selten Quelle: Han/Kamber, Data Mining Ulf Leser: Data Warehousing und Data Mining 17

Warum der (k-2)-join? Warum muss man nicht alle Kombinationen bilden? Join über k-2 ersten Elemente findet alle Kandidaten (wenn k>2) Wenn ein Itemset mit k Elementen häufig ist, dann sind alle seine k-1 Itemsets häufig, also auch zwei, die in den ersten k-2 Elementen übereinstimmen Beispiel: Wenn (A,B,C,D,E) häufig ist (und also Kandidat sein muss) Dann sind häufig: (A,B,C,D), (A,B,C,E), (A,C,D,E), (B,C,D,E) Damit wird (A,B,C,D,E) aufgezählt ( (A,B,C,D) mit (A,B,C,E) Vorteil: Kein Kandidat wird doppelt aufgezählt Aber nicht alle diese Kandidaten müssen häufig sein Einige kann man durch pruning entfernen (siehe C 3, letzte Folie) Alle anderen muss man zählen Ulf Leser: Data Warehousing und Data Mining 18

Pruningschritt Pruning ist potentiell teuer Gegeben L k-1 und Kandidat l k Wir müssen alle (k-1)-elementigen Teilmengen von l k aufzählen und in L k-1 nachschlagen Viele Teilmengen Nachschlagen muss schnell gehen Verwendung spezieller Datenstrukturen Effiziente Unterstützung der Operation subset( L k-1, l k ) Enthält die Menge L k-1 eine Teilmenge von l k nicht? Eine Möglichkeit: Hashbaum Diverse weitere Strategien veröffentlicht Ulf Leser: Data Warehousing und Data Mining 19

Inhalt dieser Vorlesung Association Rule Mining (ARM) A-Priori Algorithmus Grundalgorithmus Kandidatenerzeugung und pruning Datenstruktur für den Pruningschritt Erweiterung: Partitionierung Ableitung von Assoziationsregeln Varianten Ulf Leser: Data Warehousing und Data Mining 30

Partitionierung [SON95] Auch das häufige Scannen der Datenbank ist teuer Möglichkeit: Partitionierung Zerlege T in p nicht überlappende Partitionen Wähle p so, dass jede Partition in den Hauptspeicher passt Phase 1: Zähle alle häufigen Itemsets in jeder Partition Sei der Support relativ zur Datenbankgröße angegeben (x%) Es gilt: Itemset i kann nur häufig in T sein, wenn i häufig (in % der Partitionsgröße) in mindestens einer Partition ist Suche in einem Scan alle häufigen Itemsets (L p ) in Partition p Phase 2 Bilde Vereinigung L aller L p Scanne T und zähle Häufigkeit alle Mengen aus L Ulf Leser: Data Warehousing und Data Mining 31

Bewertung Vorteile Es werden nur zwei I/O-intensive Scans von T benötigt Sehr schnell, wenn Anzahl Kandidaten klein (hoher minsup) Nachteil Zweite Phase teuer bei vielen Kandidaten Bei wirklich vielen Kandidaten kann man die Summen nicht mehr im Hauptspeicher halten Ulf Leser: Data Warehousing und Data Mining 32

Finden der Assoziationsregeln Jedes häufige Itemset X kann X Assoziationsregeln beinhalten Welche davon genügen den Ansprüchen? Alle Regel der Art X\x i x i bilden Confidence berechnen Da beide Teilmengen häufig sein müssen, ist deren Support schon berechnet Kein neues Scannen der Datenbank notwendig Ulf Leser: Data Warehousing und Data Mining 33

Inhalt dieser Vorlesung Einführung Association Rule Mining (ARM) A-Priori Algorithmus Varianten Quantitative Regeln ARM mit hierarchischen Itemsets Interessante Regeln Ulf Leser: Data Warehousing und Data Mining 34

Motivation Bisher haben wir nur binäre Items betrachtet OK für Warenkorbanalyse Nicht OK für Kundenanalyse Was haben Kunden gemeinsam, die Versicherungsbetrug verüben? Wir wissen Einkommen, durchschnittliche Ausgaben, Tarif, Versicherungsfälle der letzten Jahre, Wohnort, Familienstand, Viele nicht-binären Items Quantitative Assoziationsregeln Ulf Leser: Data Warehousing und Data Mining 35

Quantitative Assoziationsregeln [SA96] Einfache Möglichkeit: Diskretisierung / Binning ID Alter:20..29 Alter:30..39 Alter:40..49 1 1 0 0 2 0 1 0 Vorteil: Einfach Nachteil: Die Bins bestimmen, was man finden kann Viele Bins: Viele Items, hohe Auflösung, aber Gefahr, an den Grenzen interessante Bereiche zu übersehen Wenig Bins: Weniger Items, grobe Auflösung, geringere (aber immer noch vorhandene) Gefahr, etwas zu übersehen Besser: Dynamische Bestimmung der Bins aus den Daten während des ARM Ulf Leser: Data Warehousing und Data Mining 36

Beispiel Echter Bereich: 33<X<35, 27500<Y<46000 Gefahr Gefunden: 33<X<35, 30000<Y<50000 Gefahr Ulf Leser: Data Warehousing und Data Mining 37

Idee (ohne Details) Zunächst sehr feines Binning aller Attribute Zusammenfügen zu größeren zusammenhängenden Bereichen, die ausreichend Support haben Ausreichend grosse feine Bins bleiben auch erhalten Führt zu Überlappenden Bins aber wie die sich in Kombinationen mit anderen Items verhalten, ist nicht klar Alle häufigen Bereiche werden als 1-Itemsets betrachtet und A-Priori gestartet Aber: Sehr viele Bereiche, viele Regeln, hohe Laufzeit Ulf Leser: Data Warehousing und Data Mining 38

Beispiel (minsup=2) ID Alter Fam.stand # Autos 100 23 ledig 1 200 25 verheiratet 1 300 29 ledig 0 400 34 verheiratet 2 500 38 verheiratet 2 Intervall Integer 20..24 1 25..29 2 30..34 3 35..39 4 ID Alter Fam.stand # Autos 100 1 2 1 200 2 1 1 300 2 2 0 400 3 1 2 500 4 1 2 Itemset Support {20..24} 1 {25..29} 2 {30..34} 1 {34..39} 1 {20..29} 3 {30..39} 2 {verheiratet} 3 {ledig} 2 {30..39, verheiratet} 2...... Ulf Leser: Data Warehousing und Data Mining 39

Hierarchische Itemsets [SA97] Dimensionen haben Klassifikationsstufen Wir suchen nicht Regeln der Art SkischuhX1 SkiY1, SkischuhX2 SkiY1, sondern Skischuhe Ski Items höher Klassifikationsstufen haben automatisch wesentlich höheren Support Dafür sind es viel weniger Items Regeln auf unteren Ebenen haben geringeren Support und kommen eventuell nicht über minsup Hoher Support: man findet abstraktere Regeln Vorsicht: Regeln können redundant sein Immer, wenn X Y häufig ist, muss auch vorfahr(x) Y häufig sein Nur die spezifischsten, aber noch häufigen Regeln sind gesucht Ulf Leser: Data Warehousing und Data Mining 40

Interessante Regeln ARM Algorithmen produzieren oft riesige Regelmengen Regeln können irreführend sein 60% der Schüler spielen Fußball, 75% essen Schokoriegel, 40% spielen Fußball und essen Schokoriegel Assoziationsregeln Spielt Fußball Isst Schokoriegel, Konfidenz = 67% TRUE Isst Schokoriegel, Konfidenz = 75% Fußball spielen und Schokoriegel essen sind in Wahrheit negativ korreliert, die Regel hat trotzdem hohe Konfidenz Ursache: Zwei (oder k) häufige Items sind schon per Zufall auch in Kombination häufig Interessant sind die Assoziationen, die man nicht schon per Zufall erwarten würde Ulf Leser: Data Warehousing und Data Mining 41

Interessantheits-Maß Sei rup(h) der relative Support eines Itemset H in T rup(h) = sup(h)/ T Sind Itemsets H 1, H 2 nicht korreliert, erwarten man Ein einfaches Maß für die Abweichung von der zufällig erwarteten Häufigkeit ist dann int( H 1, H 2 ) rup ( H1 H 2) = rup( H1)* rup( H 2) = rup( H1 H 2) rup( H )* rup( H 1 2 ) int( H i) = rup( H i) rup( H )* rup( i) int()=1: Häufigkeit ist per Zufall erwartet int()<1: H und i werden auffallend selten zusammen gekauft int()>1: H und i werden auffallend häufig zusammen gekauft Ulf Leser: Data Warehousing und Data Mining 42

Literatur Agrawal, R. and Srikant, R. (1994). "Fast Algorithms for Mining Association Rules". 20th Int. Conf. Very Large Data Bases. Srikant, R. and Agrawal, R. (1996). "Mining quantitative association rules in large relational tables". SIGMOD Int. Conf. on Management of Data, New York, USA. Srikant, R. and Agrawal, R. (1997). "Mining generalized association rules." Future Generation Computer Systems 13(2-3): 161-180. Savasere, A., Omiecinski, E. and Navathe, S. (1995). "An Effective Algorithm for Mining Association Rules in Large Databases". 21st Int. Conf. on Very Large Databases, Zurich, Switzerland. Zhang, C. and Zhang, S. (2002). "Association Rule Mining - Models and Algorithms", Springer LNAI 2307. Ulf Leser: Data Warehousing und Data Mining 43

Selbsttest Was besagt die A-Priori-Regel, die im Association Rule Mining verwendet wird? Definieren Sie Support und Konfidenz einer Assoziationsregel der Form R=H i Warum sind nicht alle Assoziationsregeln, die ARM findet, auch per-se interessant? Wie funktioniert der A-Priori-Algorithmus (Pseudo-Code angeben)? Zeigen Sie, dass der (k-2) Join alle potentiell häufigen Kandidaten aufzählt Ulf Leser: Data Warehousing und Data Mining 44