Berechnung von Association Rules Vortrag in Data Warehouse und Mining
Inhalt Einleitung: Entstehung, Nomenklatur Apriori: grundlegender Algorithmus Hierarchische Items Mengenwertige Items Ausblick Association Rules
Einleitung Entstehung Apriori Hierarchie Quantität Einleitung Entstehung grössere Datenbestände genauere Datenbestände bessere Hardware-Resourcen Wunsch auf Erkennung von interessanten Regeln in diesen grossen Datenbeständen Association Rules
Nomenklatur Transaktion: Aktion auf Datenbank (Einkauf,...) Einleitung Apriori Hierarchie Quantität Nomenklatur Transaktion: Aktion auf Datenbank (Einkauf,...) Item: Teil einer Transaktion (Milch,...) Itemset: Menge von Items Association Rule: X Y (wenn Transaktion X enthält, dann enthält sie auch Y) Confidence c: c % der Transaktionen befolgen die Association Rules (minconf: untere Schranke für Algorithmus) Support s: s % der Transaktionen enthalten X und Y (minsup: untere Schranke für Algorithmus) Association Rules
Beispiel T1 {Zahnpasta, Schokolade, Milch} T2 {Schokolade, Milch} Einleitung Apriori Hierarchie Quantität Beispiel T1 {Zahnpasta, Schokolade, Milch} T2 {Schokolade, Milch} T3 {Brot, Käse} T4 {Zahnpasta, Milch, Käse} T5 {Milch, Brot, Käse} Confidence Support Brot Käse 100% 40% Käse Milch 66.6% 40% Zahnpasta Schokolade 50% 20% Association Rules
Einleitung Apriori Hierarchie Quantität Motivation Wunsch auf maschinelles Erkennen dieser Association Rules: Algorithmus ‚Apriori‘ Manche Items besitzen grundlegende Abhängigkeit, hierarchische Abstammung (Milch Vollmilch) Gewisse Association Rules brauchen mengenwertige Items (2 Autos 2 Kinder über 18) Association Rules
Einleitung Apriori Hierarchie Quantität Algorithmus Apriori Entdecken von Association Rules in zwei Probleme unterteilbar. Finden aller Itemsets mit minimalem Support Benutzung dieser Itemsets zum Ermitteln der Association Rules Association Rules
Itemsets finden Finden aller Itemsets mit minimalen Support Einleitung Apriori Hierarchie Quantität Itemsets finden Finden aller Itemsets mit minimalen Support Beginn mit einelementigen Sets (1-sets) -> einfaches „Zählen“ Vereinigen der ermittelten (k-1)-Sets zu neuen k-Sets Join-Step: Herstellung der Kandidaten Prune-Step: Löschen aller Kandidaten, die eine „falsche“ Untermenge besitzen Association Rules
Beispiel: Itemsets Beispiel: 3-sets Kandidaten für 4-sets {1 2 3} Einleitung Apriori Hierarchie Quantität Beispiel: Itemsets Beispiel: 3-sets Kandidaten für 4-sets {1 2 3} {1 2 4} {1 3 4} {1 3 5} {2 3 4} {1 2 3 4} {1 3 4 5} Join Prune 4-sets {1 2 3 4} Association Rules
Generierung Generierung der Association Rules Einleitung Apriori Hierarchie Quantität Generierung Generierung der Association Rules Untersuchung aller Subsets a eines Itemsets I a (I - a), wenn Support(I) Support(a) >= minconf Association Rules
Beispiel: Generierung Einleitung Apriori Hierarchie Quantität Beispiel: Generierung I={2,3,4} [40%] Subsets: minconf=75% {2,3} {4} Support(I) = 40% Support(a)= 50% Confidence = 80 % OK! {2} {3,4} Support(I) = 40% Support(a) = 80% Confidence = 50 % NO! Association Rules
Einleitung Apriori Hierarchie Quantität Einleitung Bisher: Milch Brot [80%] wäre viel informativer, wenn Diätmilch Weissbrot [75%] Wunsch auf Hierarchie Association Rules
Beispiel Je tiefer ein Item in der Hierarchie ist, umso Einleitung Apriori Hierarchie Quantität Beispiel Esswaren Milch Brot ... Diät ... Voll Weiss Vollkorn ... Je tiefer ein Item in der Hierarchie ist, umso kleiner sollte der geforderte Support sein Association Rules
Codierung Erweiterung von Apriori: Einleitung Apriori Hierarchie Quantität Codierung Erweiterung von Apriori: Codierung der verschiedenen Produkte Milch 1 Diätmilch 11 Vollmilch 12 Brot 2 Weissbrot 21 Vollkornbrot 22 Transaktionstabelle: T1: {11,21,22,32} T2: {21,22,31} ... Association Rules
Erste Itemsets Zuerst auf oberster Stufe Suche der Itemsets: Einleitung Apriori Hierarchie Quantität Erste Itemsets Zuerst auf oberster Stufe Suche der Itemsets: Berechnung der Association Rules und Filterung der Transaktions-Tabelle {1*} 30% {2*} 40% {1*,2*} 30% T1: {11,21,22} T2: {21,22} Association Rules
Einleitung Apriori Hierarchie Quantität Iteration Iteration: Suche der nächsten Itemsets auf gefilterter Tabelle (bis Tabelle leer oder am Ende der Hierarchie) Berechnung der Association Rules und Filterung der Transaktions-Tabelle {11} 20% {21} 30% {22} 30% {11,21} 20% {11,22} 20% Association Rules
Einleitung Bisher: nur „binäre“ Association Rules z.B. Brot Milch Apriori Hierarchie Quantität Einleitung Bisher: nur „binäre“ Association Rules z.B. Brot Milch Ausweitung auf „quantitative“ Association Rules, z.B. {Alter:30..39, verheiratet=ja} {Autos: 2} {Autos: 0..1} {verheiratet=nein} Association Rules
Probleme Triviale Umwandlung von Wertemenge auf binäre Tabelle, ABER: Einleitung Apriori Hierarchie Quantität Probleme Triviale Umwandlung von Wertemenge auf binäre Tabelle, ABER: Itemanzahl explodiert (Ausführungszeit!) Anzahl der Regeln explodiert Association Rules
Intervalle Modifizierter Algorithmus: Einleitung Apriori Hierarchie Quantität Intervalle Modifizierter Algorithmus: Für jedes Mengenattribut wird ein Intervall ausgewählt Association Rules
Intervalle wählen Problem bei der Intervallwahl: Einleitung Apriori Hierarchie Quantität Intervalle wählen Problem bei der Intervallwahl: viel zu viele Kombinationen von Intervallen Einführung der Partial Completeness: Mass für den Informationsverlust bei einer Generalisierung eines Intervalls Association Rules
Partial Completeness k-Partial-Completeness: Einleitung Apriori Hierarchie Quantität Partial Completeness k-Partial-Completeness: Für die Generalisierung eines Itemsets darf der Support nicht um mehr als Faktor k zunehmen 1.5-Partial-Complete: <Alter 20..30> 5% <Alter 20..40> 6% <Alter 20..50> 8% <Autos 1..2> 5% <Autos 1..3> 6% <Alter 20..40> 6% <Alter 20..50> 8% <Autos 1..3> 6% Association Rules
Verringerung der AR Streichung der „erwarteten“ Association Rules Einleitung Apriori Hierarchie Quantität Verringerung der AR Streichung der „erwarteten“ Association Rules {Alter:20..30} 12x {Alter:20..25} 3x {Alter:20..30} -> {Autos:1..2} 8% Support, 70% Confidence {Alter:20..25} -> {Autos:1..2} 2% Support, 70% Confidence Streichbar, da keine neue Erkenntnis Association Rules
Apriori Hierarchie Quantität Ausblick Ausblick Algorithmus ‚Apriori‘: optimierte Versionen mit schnellerer Laufzeit oder mit geringerem Speicherbedarf hierarchische Items: nicht nur Association Rules in der gleichen Ebene finden, sondern auch über verschiedene Ebenen Association Rules