Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Imperative Programmierung
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Minimum Spanning Tree: MST
1.1.2: Frequent Pattern Growth von Nicolai Voget
Sortieren I - Bubblesort -
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Fast Algorithm for Mining Association Rules* Vortrag im Rahmen des Seminars Neue Ansätze der Künstlichen Intelligenz Prof. Dr. Katharina Morik Lehrstuhl.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Indizierung von Graphen durch häufige Subgraphen (2)
Suche in Texten (Stringsuche )
3. Kapitel: Komplexität und Komplexitätsklassen
der Universität Oldenburg
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix –Tree –Konstruktion Ukkonen Algorithmus.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Union-Find-Strukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Seminar parallele Programmierung SS 2003
Minimum Spanning Tree: MST
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Hauptseminar Automaten und Formale Sprachen
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Einführung in die Programmierung Datensammlung
Recovery AIFB SS (1/8) Sicherungspunkte (Checkpoints) (1/8) (1) Transaktions-Orientierte Sicherungspunkte Transaction-Oriented Checkpoint.

Fast Algorithm for Mining Association Rules
Kakuro Regeln und Strategien
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Berechnung von Association Rules
Ergebnispräsentation Steffen Ciupke Jörg Hipp
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Das Traveling Salesman Problem (TSP)
Analyse der Laufzeit von Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Der A*-Algorithmus.
Konvexe Hüllen (Convex Hulls)
Gliederung der Vorlesung
Matthias Gläfke Data Mining - Seminar im Sommersemester Vortrag Pincer-Search 5. Juni 2007.
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
 Präsentation transkript:

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln PG 402 Wissensmanagment Lehrstuhl für Künstliche Intelligenz 22. Oktober 2001

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln Gliederung Motivation Formale Problemdarstellung Apriori-Algorithmus Beispiel Varianten des Apriori-Algorithmus Weka Zusammenfassung Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 1. Motivation Interesse an noch unbekannten Zusammenhängen in einer großen DB Beispiel: Supermarktkette möchte für die Marketingstrategie wissen, welche Artikel zus. gekauft werden. Z.B.: In 67% der Fälle in denen Cola u. Saft zus. gekauft werden, wird auch Bier gekauft Eine Assoziationsregel ist ein Ausdruck X => Y (wobei X u. Y Mengen von Objekten sind) Bedeutung: Transaktionen der DB, die X enthalten, tendieren dazu auch Y zu enthalten Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

2. Formale Problemdarstellung Es sei I={i1, i2, ...,in} eine Menge von Objekten (Items) D sei eine Menge von Transaktionen, wobei jede Trans- aktion eine Menge von Objekten ist, also T ⊆ I. Mit jeder Transaktion ist ein eindeutiger Bezeichner, genannt TID assoziiert. Eine Assoziationsregel ist eine Implikation der Form X=>Y, wobei X und Y Untermengen von I sind. (Und X und Y keine gemeinsamen Elemente haben) Eine Regel X=>Y hat den Konfidenzwert c, falls c% der Transaktionen aus D, die X enthalten auch Y enthalten. Eine Regel X=>Y hat den Support s, wenn s% der Transaktionen aus D, X vereinigt Y enthalten. Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 2.1 Das Problem Bei einer gegebenen Datenmenge D von Transaktionen besteht das Problem der Entdeckung der Assoziations- beziehungen darin, alle Assoziationsregeln X=>Y mit Konfidenz(X=>Y) >= min. Konfidenz und Support(X=>Y) >= min. Support  abzuleiten. Beispiel: Der Benutzer gibt als minimalen Konfidenzwert 70 ein. Dann sollen alle Regeln X=>Y abgeleitet werden, falls 70% der Transaktionen die X enthalten auch Y enthalten. Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 2.2 Zwei Teilprobleme 1. Finde alle Kombinationen von Objekten mit Support >= min.Support. Diese Kombinationen werden große Objektmengen genannt, alle anderen Kombinationen klein.   2. Benutze die großen Objektmengen um die gewünschten Regeln zu erzeugen. Die Idee: jede große Objektmenge wird in jeweils zwei disjunkte Teilmengen X und Y aufgeteilt, um Assoziationsregeln der Form X=>Y zu generieren. Wenn die Beziehung Konfidenz(X=>Y) > cmin gilt, dann wird die Regel X=>Y ausgegeben.   Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

2.3 Vorgehensweise des Algorithmus zur Entdeckung großer Objektmengen 1. Iteration: häufig vorkommenden Objekte werden bestimmt. D.h. man zählt für jedes Objekt, wie häufig es in den Trans- aktionen vorkommt, Danach werden die aus der vorherigen Iteration entdeckten großen Objektmengen als Grundmenge benutzt, um neue potentielle große Objektmengen zu erzeugen, genannt Kandidaten. Es wird der aktuelle Support für diese Kandidaten ermittelt. Am Ende eines Durchlaufs wird geprüft, welche Kandidaten wirklich groß sind. Diese werden zur Grundmenge der nächsten Iteration. Prozess wird solange wiederholt, bis keine neuen großen Objektmengen mehr gefunden werden. Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln G1 = {große Objektmenge} FOR (k=2; Gk-1 != { }; k++) DO BEGIN Ck = apriori-gen( Gk-1); neue Kandidaten werden erzeugt FORALL transaction t ∈ D DO BEGIN Ct = subset(Ck,t) ; Kandidaten enthalten in t FORALL Kandidaten c ∈ Ct DO c.support= c.support +1; END Gk = {c ∈ Ck I c.support >= minsupport} Ausgabe: k Gk Regelgenerierung aus Gk   Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

3.1 Apriori-gen-Methode zur Erzeugung der Kandidatenmenge Eingabe der Methode: Gk-1, die Menge der großen Objektmengen mit k-1 Elementen Rückgabe: Teilmenge der Menge aller großen Objektmengen mit k Elementen Im 1.Schritt zwei Mengen mit k-1 Elementen werden vereinigt und zu den Kandidaten hinzugefügt, wenn k-2 Elemente der Mengen übereinstimmen. Im nächsten Schritt entferne aus den Kandidaten mit k Elementen, die Mengen für die die Untermengen mit k-1 Elementen nicht zu den großen Objektmengen gehören. Wir können deshalb so vorgehen, weil jede Untermenge einer großen Objektmenge, selbst wieder groß ist.   Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 4. Beispiel Transaktion Objekt (Artikel) t0 Saft, Cola, Bier t1 Saft, Cola, Wein t2 Saft, Wasser t3 Cola, Bier t4 Saft, Cola, Bier,Wein t5 Wasser t6 Schokolade, Cola, Chips t7 Schokolade, Schinken, Brot t8 Brot, Bier Benutzereingabe: minimaler Support =2 minimaler Konfidenzwert= 75% Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 4.1 Die Kandidatenmenge Nach dem ersten Durchlauf der Transaktionen besteht die Kandidatenmenge C1 aus: Objektmenge Support {Cola} 5 {Saft} 4 {Bier} {Wein} 2 {Wasser} {Schokolade} {Brot] {Chips} 1 {Schinken} Die große Objektmenge enthält diejenigen Kandidaten, die einen Supportwert von mindestens 2 aufweisen G1={ {Cola},{Saft}, {Bier}, {Wein}, {Wasser}, {Schokolade}, {Brot} } Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 4.2 Kandidatenmenge C2 Aus G1 werden alle Kombinationen gebildet um Kandidatenmengen mit zwei Elemente zu erhalten. Objektmenge Support [Cola, Saft} 3 {Bier, Wein} 1 {Cola,Bier} {Bier, Wasser} {Cola, Wein} 2 {Bier, Schokolade} {Cola, Wasser} {Bier, Brot} {Cola,Schokolade} { Wein, Wasser} {Cola, Brot} {Wein, Schokolade} {Cola, Bier} {Wein, Brot} {Saft, Wein} {Wasser, Schokolade} {Saft, Wasser} {Wasser, Brot} {Saft, Schokolade} {Schokolade, Brot} {Saft, Brot} Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 4.3 Kandidatenmenge C3 G2 = {c ∈ C2 I c.support > min.support} G2 = {{Cola,Saft}, {Cola,Bier}, {Cola,Wein}, {Saft,Bier}, {Saft,Wein}} 2.Iteration abgeschlossen 3.Iteration: C3= { a  b I a,b ∈ L2 und Ia  b I = 1} {Cola, Saft} und {Cola Bier} werden zu {Cola, Saft, Bier} {Cola, Bier} und {Cola, Wein} werden zu {Cola, Bier, Wein} kommt jedoch nicht in C3, da Teilmenge {Bier, Wein} keine große Objektmenge ist C3 = {{Cola, Saft, Bier}, {Cola, Saft, Wein}} Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 4.4 Letzte Iteration Kandidatenmenge C3 G3={{Cola,Saft,Bier} {Cola,Saft,Wein}} {Cola, Saft, Bier, Wein} ist nicht in C4, da Teilmenge {Saft, Bier, Wein} nicht groß ist. C4 und G4 sind leer und somit stoppt der Algorithmus Objektmenge Support {Cola,Saft,Bier} 2 {Cola,Saft,Wein} Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

5. AprioriTID-Algorithmus Variante des Apriori-Algorithmus eigentliche Datenmenge wird nach der 1.Iteration nicht mehr zum Zählen der Supportwerte der Kandidaten benutzt. Dazu, eine spezielle Menge, in der jede Transaktion durch eine Menge darin vorkommenden Kandidaten ersetzt wird. In späteren Iterationen kann die Anzahl der Einträge in dieser speziellen Menge geringer sein als die Anzahl der Trans. in D Außerdem kürzer als die korrespondierende Trans., weil in späteren Iterationen wahrscheinlich nur sehr wenige Kandidaten in der Trans. enthalten sind. Jedoch wird in früheren Iterationen sehr viel Speicher benötigt, da jeder Eintrag in der speziellen Menge durch die Aufnahme aller in der Trans. vorkommenden Kandidaten sehr viel größer als die Trans. sein kann. Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

5.1 AprioriHybrid-Algorithmus Nach diesen Beobachtungen hat man einen Algorithmus konstruiert, der in der Anfangsphase den Apriori-Algoritmus, benutzt, und später, wenn zu erwarten ist, dass die spezielle Menge in den Speicher passt, den AprioriTID-Algorithmus. Der AprioriHybrid-Algorithmus liefert nur dann schlechtere Ergebnisse als der Apriori-Algorithmus, wenn der Wechsel in den letzten Iterationen passiert. Dann nimmt er die Kosten des Wechsels auf sich (die Generierung der speziellen Menge) ohne die Vorteile auszunutzen. Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

6. Weka (Waikato Enviroment for Knowledge Analysis) Sammlung von Java-Paketen Implementiert Algorithmen aus dem Bereich Data Mining und maschinelles Lernen Im Netz frei erhältlich Enthält Tools für: das Preprocessing der Daten das Einbinden in ein Lernverfahren die Analyse der Ergebnisse Enthält Implementierung des Apriori-Algorithmus Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln 7. Zusammenfassung Apriori-Algor. Zur Entdeckung von Asoziationsregeln Vorgehensweise in 2 Schritten Bestimmung der großen Objektmengen Benutzung der großen Objektmengen zur Regelgenerierung. Jede Menge wird in zwei disjunkte Teilmengen X und Y aufgeteilt. Assoziationsregel: X=>Y Laufzeit: O( ICI IDI ) ICI : Summe der Größen der Kandidaten IDI : Größe der Datenmenge AprioriTID braucht in den frühen Iterationen viel Speicherplatz, spart aber in den letzten Deshalb Einführung des AprioriHybrid Benutzt in der Anfangsphase den Apriori und später den AprioriTID-Algorithmus Apriori-Algorithmus zur Entdeckung von Assoziationsregeln