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 1 Data Warehousing und Mining 2 Association Einleitung Gliederung dieses Kapitels Grobe Übersicht über dieses und folgende Kapitel: Association Begriffsbildung, Einleitung, Frequent Itemsets, -Algorithmus für die Bestimmung aller Association, Verbesserungen von, Grundsätzlich anderer (und überlegener) Ansatz: FP-Trees, Analyse von Zeitreihen, Manche Regeln sind interessant, manche 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 3 Data Warehousing und Mining 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 5 Data Warehousing und Mining 6 Ziel der Warenkorbanalyse (2) Association Warenkorbanalyse ist anwendbar, wenn ein Kunde mehreres zusammen kauft, z. B.: Kreditkarte, Dienste von Telekommunikationsanbietern, Bankdienstleistungen, medizinische Behandlung. Techniken auch anwendbar für andere Phänomene, z. B. Naturwissenschaften. Drücken aus, wie Phänomene zueinander in Beziehung stehen. 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 7 Data Warehousing und Mining 8
Zugrundeliegende Konzepte 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. Support eines Itemsets I: Anzahl der Transaktionen, die I enthalten. Beispiel: Milch, Eier, Zucker, Brot Milch, Eier, Cornflakes, Brot Eier, Zucker Transaktion1 Transaktion2 Transaktion3 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. Data Warehousing und Mining 9 Data Warehousing und Mining 10 Frequent Itemsets (1) Frequent Itemsets (2) 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. 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. z Data Warehousing und Mining 11 Data Warehousing und Mining 12
Frequent Itemsets vs. Logik-Regeln Illustration Frequent Itemset I = {a, b} reflektiert Unterschied zwischen (1) und (2) nicht. (1) (3) {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. (2) (4) Regeln erlauben, den Unterschied darzustellen. Data Warehousing und Mining 13 Data Warehousing und Mining 14 Kriterien für die Auswahl der Association formale Definition 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) 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. Bedeutung der Kriterien A B [s, c] Support: Häufigkeit der Regel in der Menge der Transaktionen. Hoher Wert bedeutet, daß die Regel einen Großteil des Datenbestands beschreibt. 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 die in der Regel beschriebene Abhängigkeit? 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 15 Data Warehousing und Mining 16
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} Confidence Support Brot Käse 100% 40% Käse Milch 66.6% 40% Zahnpasta Schokolade 50% 20% (Fläche a viel kleiner als b.) (Schnittfläche sehr klein.) Warum hat Brot => Käse einen andere Confidence als Käse => Brot? Beispiel für Regel mit hohem Support, aber kleiner Confidence? Data Warehousing und Mining 17 Data Warehousing und Mining 18 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 wenige Frequent Itemsets, wenige Regeln, die oft vorkommen. Niedrig viele gültige Regeln, die selten vorkommen. Minimum Confidence γ: Hoch wenige Regeln, aber alle logisch fast wahr. Niedrig viele Regeln, aber viele sehr unsicher. Typische Werte: σ = 2 10 % γ = 70 90 % z Data Warehousing und Mining 19 Data Warehousing und Mining 20
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, Die erste Phase ist i. a. die aufwendigere. Erzeugen der einelementigen Frequent Itemsets - Laufvariable k - - Laufvariable k - Erzeugen der k-elementigen Join Frequent Itemsets Prune Support Counting Frequent Itemsets Association 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 21 Data Warehousing und Mining 22 - Identifizieren von Itemsets Algorithmus 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) 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 Data Warehousing und Mining 23 Data Warehousing und Mining 24
Ist Candidate Itemset in Transaktion t enthalten? (1) Ist Candidate Itemset in Transaktion t enthalten? (2) 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 4 {2 3 4} 1, 5 2 3 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 4 {2 3 4} 1, 5 2 3 3 4 4 5, 9 Ein Blatt mit mehreren {1 2 3} {1 2 4} {1 3 4} {1 3 5}, {1 3 9} Kandidaten Wie geht also Hinzunehmen eines weiteren Itemsets? 3 4 4 5, 9 {1 2 3} {1 2 4} {1 3 4} {1 3 5}, {1 3 9} Data Warehousing und Mining 25 Data Warehousing und Mining 26 Ermitteln der Association aus den Itemsets (1) Ermitteln der Association aus den Itemsets (2) 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) 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 = Support(I) Support(a) a (I - a) hat Confidence conf = Support(I) Support(a) Data Warehousing und Mining 27 Data Warehousing und Mining 28
Beispiel Multidimensionale Association I={2,3,4} [40% Support] Subsets: minconf=75% {2,3} {4} Support(I) = 40% Support(a)= 50% {2} {3,4} Support(I) = 40% Support(a) = 80% {2,3} {2,4} {3,4} {2} {3} {4} 50% 70% 60% 80% 60% 70% Confidence = 80 % OK! Beziehungen zwischen Werten verschiedener Attribute: 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 Regeln: nationality = French income = high [50%, 100%] Confidence = 50 % NO! income = high nationality = French [50%, 75%] (Da I den geforderten Support hat, age = 50 nationality = Italian [33%, 100%] haben alle Teilmengen von I ebenfalls den geforderten Support.) z Data Warehousing und Mining 30 Data Warehousing und Mining 29 Eindimensionale vs. multi-dimensionale (1) Eindimensionale vs. multi-dimensionale (2) 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}> 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 Data Warehousing und Mining 31 Data Warehousing und Mining 32
Association Kategorisierung der Items, z. B. Lebensmittel Milch Brot... Diät... Voll Weiß Vollkorn... Association Beispiel Beispiel: Bisher: Milch Brot [80%] Jetzt: Diätmilch Weißbrot [75%] Probleme: Hoher Support i. a. nur mit High-Level Concepts erreichbar, High-Level Regeln tendenziell weniger interessant, z. B. Eßware Getränk Eventuell bestehen interessante Zusammenhänge, wenn man Konzepte auf allen Ebenen in Beziehung zu setzen versucht. Data Warehousing und Mining 33 Data Warehousing und Mining 34 Naheliegender Ansatz Ansatz von Han und Fu (1) Menge der Items enthält auch die Kategorien, z. B. {Vollkornbrot, Weißbrot, 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. Prinzip: Support verringert sich für jedes Level. Nur Nachfolger von Frequent Items betrachten. Für mich nicht nachvollziehbar. Schreibweise für Regeln macht Menge der Transaktionen explizit, auf die man sich bezieht: A B/S (S Menge der Transaktionen). Data Warehousing und Mining 35 Data Warehousing und Mining 36
Ansatz von Han und Fu (2) Illustration kodierte TA-Tabelle Die folgende Definition reflektiert jene grundlegende Forderung: Regel A B/S ist stark, wenn jeder Ancestor von jedem Item in A und B frequent ist (auf dem entsprechenden Level), (A B)/S frequent ist, d. h. Support-Constraint ist erfüllt, Confidence von A B/S hoch ist. 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}... Data Warehousing und Mining 37 Data Warehousing und Mining 38 Datenstrukturen für Berechnung von Association (1) Datenstrukturen für Berechnung von Association (2) 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]. Gefilterte Transaktionstabelle, d. h. Items und Transaktionen werden weggelassen, die nichts zum Ergebnis beitragen werden. Data Warehousing und Mining 39 Data Warehousing und Mining 40
Beispiel Übersicht über die aufgebauten Tabellen Zusammenfassung Level-1 minsup = 4 Level-1 large 1-itemsets L[1,1] Itemset Level-2 large 1-itemsets L[2,1] Support Level-2 minsup = 3 Filtered TA-Table T[2] TID Items Level-2 large 2-itemsets L[2,2] Level-1 large 2-itemsets L[1,2] Itemset Support {1**, 2**} 4 Level-2 large 3-itemsets L[2,3] Algorithmus beinhaltet herkömmliche Techniken zum Finden von Large Itemsets. Jedes Level wird nacheinander durchlaufen. Itemset Support Itemset Support Itemset Support Level-3 minsup = 3... Data Warehousing und Mining 41 Data Warehousing und Mining 42 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). Löschen eines Items, wenn Vorgänger nicht in der Tabelle ist. 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 43 Data Warehousing und Mining 44
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. Mögliche Prüfungsfragen 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 45 Data Warehousing und Mining 46 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 47