Kapitel 11: Association Association Einleitung Association : Eine wichtige Art von Mustern, an der man im Data-Mining Kontext interessiert ist. Muster mit einfacher Struktur. Ziel im folgenden: Finden aller Association (manchmal mit Einschränkungen); nicht Überprüfen, ob eine bestimmte Association Rule vorkommt. Techniken für das Finden von Mustern komplexerer Struktur verallgemeinern oft Basis-Techniken für das Finden von Association. Data Warehousing und Mining: Association 1 Data Warehousing und Mining: Association 2 Association Einleitung Gliederung dieses Kapitels Grobe Übersicht über dieses und folgende Kapitel: Einleitung, Association Begriffsbildung, Frequent Itemsets, -Algorithmus für die Bestimmung aller Association, Verbesserungen von, Grundsätzlich anderer (und überlegener) Ansatz: FP-Trees, Analyse von Zeitreihen, Die meisten Regeln sind interessant, manche jedoch irreführend. Was heißt Interessantheit? Effiziente Algorithmen. Quantitative Association. Association (Insbesondere: Warum sind Association aussagekräftiger als Frequent Itemsets?), Multidimensionale Association (Beziehungen zwischen Werten unterschiedlicher Attribute, Attribute sind nicht mehr nur boolsch, kleinerer Punkt), Association. Data Warehousing und Mining: Association 3 Data Warehousing und Mining: Association 4
Beispielszenario: Warenkorbanalyse Ziel der Warenkorbanalyse (1) Identifizieren von Kundengewohnheiten, indem man Assoziationen und Korrelationen zwischen unterschiedlichen Waren findet, die Kunden in ihren Einkaufswagen legen. ( Ware heißt: ja oder nein, Anzahl/Menge bleibt zunächst außen vor.) Milch, Eier, Zucker, Brot Milch, Eier, Cornflakes, Brot Eier, Zucker Extrahieren von Information aus dem Kaufverhalten. Handlungsvorschläge, z. B. anderes Layout der Geschäfte, andere Anordnung der Waren, Veränderung der Sortimente, Sonderangebote. Transaktion1 Transaktion2 Transaktion3 Data Warehousing und Mining: Association 5 Data Warehousing und Mining: Association 6 Ziel der Warenkorbanalyse (2) Association Warenkorbanalyse ist anwendbar, wenn ein Kunde mehreres zusammen kauft, z. B.: Drücken aus, wie Phänomene zueinander in Beziehung stehen. Kreditkarte, Dienste von Telekommunikationsanbietern, Bankdienstleistungen, medizinische Behandlung. Techniken auch anwendbar für andere Phänomene, z. B. Naturwissenschaften. Beispiel für Association Rule, noch ziemlich ungenau: Wenn ein Patient das Pipapo-Syndrom hat, dann hat er oft auch Krämpfe. Association sind die Art von Zusammenhängen, an denen wir in diesem Kapitel interessiert sind. Data Warehousing und Mining: Association 7 Data Warehousing und Mining: Association 8
Zugrundeliegende Konzepte Item: einzelnes Element, Itemset: Menge von Items. Transaktion: Relationale Struktur Kompakte Struktur <Tid,item> <Tid,itemset> <1, item1> <1, {item1,item2}> <1, item2> <2, {item3}> <2, item3> In der Warenkorbanalyse sind die Items die Waren; eine Transaktion ist ein einzelner Einkauf; Begriff Transaktion hat nichts zu tun mit dem klassischen Datenbank-Konzept. Zugrundeliegende Konzepte (1) Support eines Itemsets I: Anzahl der Transaktionen, die I enthalten. Beispiel: Milch, Eier, Zucker, Brot Milch, Eier, Cornflakes, Brot Eier, Zucker Transaktion1 Transaktion2 Transaktion3 Data Warehousing und Mining: Association 9 Data Warehousing und Mining: Association 10 Zugrundeliegende Konzepte (2) Frequent Itemsets (1) Minimum Support σ: Schwellenwert für Support Frequent Itemset: Itemset mit Support σ. Frequent Itemsets identifizieren Mengen von Items, die positiv miteinander korreliert sind, wenn der Support-Schwellenwert groß ist. Transaction ID Gekaufte Items 1 Milch, Obst 2 Milch, Obst, Gemüse 3 Milch 4 Obst, Brot Support({Milch}) = 3 (75%), Support({Obst}) = 3 (75%), Support({Milch, Obst}) = 2 (50%). Wenn σ = 60%, dann: {Milch} und {Obst} sind frequent, aber {Milch, Obst} ist nicht frequent. Data Warehousing und Mining: Association 11 Data Warehousing und Mining: Association 12
Frequent Itemsets (2) Beispielszenario: Warenkorbanalyse Frequent Itemset ist maximal, gdw. es nicht Teilmenge eines anderen Frequent Itemsets ist. Es reicht, die maximalen Frequent Itemsets explizit zu erzeugen, um die Frequent Itemsets zu kennen. Gilt aber nicht für Association. Identifizieren von Kundengewohnheiten, indem man Assoziationen und Korrelationen zwischen unterschiedlichen Waren findet, die Kunden in ihren Einkaufswagen legen. ( Ware heißt: ja oder nein, Anzahl/Menge bleibt zunächst außen vor.) Milch, Eier, Zucker, Brot Milch, Eier, Cornflakes, Brot Eier, Zucker Transaktion1 Transaktion2 Transaktion3 Data Warehousing und Mining: Association 13 Wichtige : Item, Itemset, Transaktion, Support, Frequent Itemset. Data Warehousing und Mining: Association 14 z Frequent Itemsets vs. Logik-Regeln (1) Frequent Itemsets vs. Logik-Regeln (2) Items a, b. a (bzw. b) in Diagramm Menge der Kunden, die a (bzw. b) kauft. Frequent Itemset I = {a, b} reflektiert Unterschied zwischen (1), (2) und (4) nicht. (1) (3) (1) (3) (2) (4) (2) (4) Regeln erlauben, den Unterschied darzustellen. Data Warehousing und Mining: Association 15 Data Warehousing und Mining: Association 16
Illustration {Bier} {Chips} Wer Bier kauft, kauft auch Chips (mit relativ hoher Wahrscheinlichkeit). Diese Association Rule ist aussagekräftiger als Aussage der Form Bier und Chips werden oft zusammen gekauft. Kriterien für die Auswahl der Association formale Definition (1) A B [s, c] A und B sind Itemsets. s = Support von A B = support(a B) support(a B) Anzahl der Mengen, die A B enthalten. Support war bereits definiert für Mengen, wird jetzt definiert für Regeln. c = Confidence von A B = support(a B)/support(A) Data Warehousing und Mining: Association 17 Data Warehousing und Mining: Association 18 Kriterien für die Auswahl der Association formale Definition (2) Bedeutung der Kriterien Kriterien für Auswahl der Regeln: Minimum Support σ Minimum Confidence γ Wir wollen nur Regeln, für die gilt: s σ und c γ Nächste Folie abstrakte Erläuterung, dann Illustration. A B [s, c] Support: Häufigkeit der Regel in Menge der Transaktionen. Hoher Wert Regel beschreibt Großteil des Datenbestands. support(a B [s, c]) = p(a B) Confidence: Anteil der Transaktionen mit A, die auch B enthalten; Schätzung der bedingten Wahrscheinlichkeit. Wie stark ist Abhängigkeit? dasselbe confidence(a B [s, c]) = p(b A) = p(a B)/p(A). Confidence würde nicht gebraucht, wenn wir nur mit Frequent Itemsets arbeiteten. Data Warehousing und Mining: Association 19 Data Warehousing und Mining: Association 20
Beispiel Association schematische Darstellung von Confidence T1 T2 T3 T4 T5 {Zahnpasta, Schokolade, Milch} {Schokolade, Milch} {Brot, Käse} {Zahnpasta, Milch, Käse} {Milch, Brot, Käse} (Fläche a viel kleiner als b.) (Schnittfläche sehr klein.) Confidence Support Brot Käse 100% 40% Käse Milch 66.6% 40% Zahnpasta Schokolade 50% 20% Warum hat Brot => Käse eine andere Confidence als Käse => Brot? Beispiel für Regel mit hohem Support, aber kleiner Confidence? Data Warehousing und Mining: Association 21 Data Warehousing und Mining: Association 22 Association Support und Confidence Association die Parameter σ und γ Beispiel für Association Rule mit hohem Support, aber recht geringer Confidence: 30% der Kunden kaufen Bier und Schnaps. 100% der Kunden kaufen Bier. Bier Schnaps hat recht hohen Support (30%), aber eher wenig Confidence (auch 30%). Minimum Support σ: Hoch Niedrig Minimum Confidence γ: Hoch wenige Frequent Itemsets, wenige Regeln, die oft vorkommen. viele gültige Regeln, die selten vorkommen. wenige Regeln, aber alle logisch fast wahr. Niedrig viele Regeln, aber viele sehr unsicher. Data Warehousing und Mining: Association 23 Typische Werte: σ = 2 10 % γ = 70 90 % z Data Warehousing und Mining: Association 24
Beispiel für Candidate Generation Algorithmus zum Finden von Frequent Itemsets und Association. Erzeugen der einelementigen Frequent Itemsets Frequent Itemsets Association Finden von Frequent Itemsets, Erzeugen der einelementigen Frequent Itemsets - Laufvariable k - - Laufvariable k - Erzeugen der k-elementigen Join Frequent Itemsets Prune Support Counting Frequent Itemsets Association Die erste Phase ist i. Allg. die aufwendigere. Berechnung der Kandidaten besteht aus zwei Schritten, wie auf Folie zuvor angegeben. 3-Sets {1 2 3} {1 2 4} {1 3 4} {1 3 5} {2 3 4} Join Zwischenergebnis Kandidaten für 4-Sets {1 2 3 4} {1 3 4 5} {1 2 3 4} Prune Data Warehousing und Mining: Association 25 Data Warehousing und Mining: Association 26 Erläuterung Identifizieren von Itemsets Kein Prune-Schritt, wenn k=2. Warum? Finden aller Itemsets mit ausreichendem Support, ausführlichere Darstellung als auf voriger Folie: Beginn mit einelementigen Sets (1-Sets) einfaches Abzählen. Berechnung der k-sets aus den (k-1)-sets: Join-Step: Ermittlung von Kandidaten; -Trick: Alle (k-1)-elementigen Teilmengen eines k-sets sind (k-1)-sets, Prune-Step: Löschen aller Kandidaten, die eine unzulässige (k-1)-elementige Teilmenge haben. Support Counting, d. h. Abzählen, wie häufig die Kandidaten wirklich sind. (übernächste Folie) Generierung der Kandidaten (letzte Folie) Data Warehousing und Mining: Association 27 Data Warehousing und Mining: Association 28
Algorithmus L 1 = {large 1-itemsets}; for (k=2; L k-1 ; k++) do begin C k =apriori-gen(l k-1 ); // Generierung neuer Kandidaten // gemäß voriger Folie forall transactions t D do begin C t = subset(c k, t); // candidates contained in t forall candidates c C t do c.count++; end L k ={c C k c.count minsup} end Answer = k L k ; Abzählen für alle Transaktionen Ist Candidate Itemset in Transaktion t enthalten? (1) Wie führt man diese Überprüfung effizient für viele t durch? Verwendung eines Hash-Trees - Beispiel: Kandidaten: {1 2 3}, {1 2 4}, {1 3 4}, {1 3 5}, {1 3 9}, {2 3 4}; Hash-Tree repräsentiert diese Menge der Kandidaten. Hash-Tree wird einmal aufgebaut für die Kandidaten in jedem Schritt. 1, 5 2 3 1, 5 2 3 4 {2 3 4} 3 4 4 5, 9 {1 2 3} {1 2 4} {1 3 4} {1 3 5}, {1 3 9} Wie geht also Hinzunehmen eines weiteren Itemsets? Ein Blatt mit mehreren Kandidaten Data Warehousing und Mining: Association 29 Data Warehousing und Mining: Association 30 Ist Candidate Itemset in Transaktion t enthalten? (2) Ermitteln der Association aus den Itemsets (1) Fortsetzung des Beispiels: Transaktion t = {1 2 3 5}. Welche der Mengen {1 2 3}, {1 2 4}, {1 3 4}, {1 3 5}, {1 3 9}, {2 3 4} ist Teilmenge von t = {1 2 3 5}? Jede Transaktion wird mit dem Hash-Tree verglichen. 1, 5 2 3 1, 5 2 3 4 {2 3 4} 3 4 4 5, 9 Betrachtung aller Subsets a eines Frequent Itemsets I. Ist a (I - a) Association Rule? Noch einmal zur Erinnerung: Regel X Y hat Support s gdw. s % der Transaktionen X und Y enthalten; Regel X Y hat Confidence c gdw. c % der Transaktionen, die X enthalten, enthalten auch Y; (bzw. c % der Transaktionen, die X enthalten, enthalten auch X Y) Support(X Y) conf = Support(X) {1 2 3} {1 2 4} {1 3 4} {1 3 5}, {1 3 9} a (I - a) hat Confidence conf = Support(I) Support(a) Data Warehousing und Mining: Association 31 Data Warehousing und Mining: Association 32
Ermitteln der Association aus den Itemsets (2) a (I - a) hat Confidence a (I - a) ist Association Rule, wenn Support(I) Support(a) minconf, d. h. Support(I) Support(a) >= minconf conf = Regel wird so stets nur einmal erzeugt. Support(I) Support(a) I={2,3,4} [40% Support] minconf=75% Subsets: {2,3} {4} Support(I) = 40% Support(a)= 50% {2} {3,4} Support(I) = 40% Support(a) = 80% Beispiel {2,3} {2,4} {3,4} {2} {3} {4} 50% 70% 60% 80% 60% 70% Confidence = 80 % OK! Confidence = 50 % NO! (Da I den geforderten Support hat, haben alle Teilmengen von I ebenfalls den geforderten Support.) z Data Warehousing und Mining: Association 33 Data Warehousing und Mining: Association 34 Multidimensionale Association Beziehungen zwischen Werten verschiedener Attribute: Regeln: CID nationality age income 1 Italian 50 low 2 French 40 high 3 French 30 high 4 Italian 50 medium 5 Italian 45 high 6 French 35 high nationality = French income = high [50%, 100%] income = high nationality = French [50%, 75%] age = 50 nationality = Italian [33%, 100%] Eindimensionale vs. multi-dimensionale (1) Multi-dimensional Single-dimensional Zur Anwendung von <1, Italian, 50, low> <1, {nat/ita, age/50, inc/low}> <2, French, 45, high> <2, {nat/fre, age/45, inc/high}> Data Warehousing und Mining: Association 35 Data Warehousing und Mining: Association 36
Eindimensionale vs. multi-dimensionale (2) Association Single-dimensional (Intra-attribute) Ereignisse: Items A, B und C gehören zur gleichen Transaktion Vorkommen der Ereignisse: Transaktionen Multi-dimensional (Inter-attribute) Ereignisse: Attribut A hat Wert a, Attribut B hat Wert b, und Attribut C hat Wert c. Vorkommen der Ereignisse: Tupel Kategorisierung der Items, z. B. Lebensmittel Milch Brot... Diät... Voll Weiß Vollkorn... Eventuell bestehen interessante Zusammenhänge, wenn man Konzepte auf allen Ebenen in Beziehung zu setzen versucht. Data Warehousing und Mining: Association 37 Data Warehousing und Mining: Association 38 Association Beispiel Beispiel: Bisher: Milch Brot [80%] Jetzt: Diätmilch Weißbrot [75%] Probleme: Hoher Support i. Allg. nur mit High-Level Concepts erreichbar, High-Level Regeln tendenziell weniger interessant, z. B. Eßware Getränk Naheliegender Ansatz Menge der Items enthält auch die Kategorien, z. B. {Vollkornbrot, Brot, Lebensmittel,...} Vorgehen wie bisherige Verfahren, bis auf daß Items, die hierarchische Beziehung haben, nicht kombiniert werden. Negative Effekte: Menge der Frequent Itemsets wächst exponentiell mit der Tiefe der Hierarchie, viele ähnliche Zusammenhänge. Data Warehousing und Mining: Association 39 Data Warehousing und Mining: Association 40
Illustration kodierte TA-Tabelle Codierung der verschiedenen Items: Milch 1 Diätmilch 11 Vollmilch 12 Brot 2 Weißbrot 21 Vollkornbrot 22 Transaktionstabelle: T1: {11,21,22,32} T2: {21,22,31}... Datenstrukturen für Berechnung von Association Kodierte Transaktionstabelle TID Items T 1 {111, 121, 211, 221} T 2 {111, 211, 222, 323} T 3 {112, 122, 221, 411} T 4 {111, 121} T 5 {111, 122, 211, 221, 413} T 6 {211, 323, 524} T 7 {323, 411, 524, 713} zweidimensionale Itemset-Tabelle Größe der Itemsets, Tiefe in der Hierarchie, Bis jetzt hatten wir nur eindimensionale Tabelle L j, jetzt L[i,j]. Data Warehousing und Mining: Association 41 Data Warehousing und Mining: Association 42 Beispiel Übersicht über die aufgebauten Tabellen Zusammenfassung Level-1 minsup = 4 Level-1 large 1-itemsets L[1,1] Itemset Support Level-1 large 2-itemsets L[1,2] Itemset Support {1**, 2**} 4 Level-1 large 3-itemsets L[1,3] Itemset Support Algorithmus beinhaltet herkömmliche Techniken zum Finden von Large Itemsets. Jedes Level wird nacheinander durchlaufen. Level-2 minsup = 3 Level-2 large 1-itemsets L[2,1] Level-2 large 2-itemsets L[2,2] Level-2 large 3-itemsets L[2,3] Itemset Support Itemset Support Itemset Support Level-3 minsup = 3... Data Warehousing und Mining: Association 43 Data Warehousing und Mining: Association 44
Varianten des Algorithmus Level-Crossing Association Erzeugung von L[l,1] für alle Levels mit einem Scan. Wenn Item angetroffen wird, werden mehrere Zähler inkrementiert (für jedes Level einer). Erzeugung des k-itemsets (für k > 1) wie im Single-Concept Level Fall. Zur Erzeugung der Kandidatenmengen können Itemsets unterschiedlicher Ebenen verknüpft werden. Beispiel: Weißbrot Milch. Für Mixed-Level Kandidaten kann man als Minimum-Support den des unteren Levels nehmen. Data Warehousing und Mining: Association 45 Data Warehousing und Mining: Association 46 Mögliche Prüfungsfragen Zusammenfassung Association präzise Begriffsbildung, Algorithmus zum Finden von Association (), Verfeinerungen. aufwendig, wenn große Frequent Itemsets viele Durchläufe durch die Daten, große Zwischenergebnisse. Was sind Association? Wie findet man sie? Wie überprüft man rasch für viele Transaktionen, welche Kandidaten sie enthalten? Geben Sie ein Beispiel für eine Association Rule mit hohem/niedrigem Support und hoher/niedriger Confidence. Was sind multidimensionale Association? Was sind Association, und wie findet man sie? Data Warehousing und Mining: Association 47 Data Warehousing und Mining: Association 48
Literatur Rakesh Agrawal, Ramakrishnan Srikant, Fast Algorithms for Mining Association, Proc. of the 20th Int'l Conference on Very Large Databases, 1994 Jiawei Han, Y. Fu Discovery of Multiple-level Association from Large Databases, Proc. of the 21th Int'l Conference on Very Large Databases, 1995. Data Warehousing und Mining: Association 49