Steffen Thomas 96I DATA MINING.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Polynomial Root Isolation
1.1.2: Frequent Pattern Growth von Nicolai Voget
Zerlegung von Graphen.
Apriori-Algorithmus zur Entdeckung von Assoziationsregeln
Fast Algorithm for Mining Association Rules* Vortrag im Rahmen des Seminars Neue Ansätze der Künstlichen Intelligenz Prof. Dr. Katharina Morik Lehrstuhl.
Data Mining Anwendungen und Techniken
Indizierung von Graphen durch häufige Subgraphen (2)
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Der R-Baum Richard Göbel.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
Seminar parallele Programmierung SS 2003
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 16: Grundlagen des Data Mining.
Proseminar „Algorithmen auf Graphen“
2. Univariate Regressionsanalyse 2.1 Das statische Regressionsmodell
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Algorithmen und Komplexität
Was sind Histogramme? (1)
Minimum Spanning Tree: MST
Vortrag: Ingo Gensch, Mathias Reich am:
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.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Classification of Credit Applicants Using Data Mining. Thema.


Fast Algorithm for Mining Association Rules
Kontrollfragen zu Kapitel 1
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Berechnung von Association Rules
Datenbanksysteme für hörer anderer Fachrichtungen
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
CloseGraph: Mining Closed Frequent Graph Patterns Xifeng Yan & Jiawei Han In Proceedings of SIGKDD '03. Washington, DC. Präsentation und aktuelle ( )
Das Traveling Salesman Problem (TSP)
Analyse der Laufzeit von Algorithmen
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Matthias Gläfke Data Mining - Seminar im Sommersemester Vortrag Pincer-Search 5. Juni 2007.
Binärbäume.
Vorstellen und Herleiten der Horner Schemas
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
Häufige Teilgraphen:gSpan Seminartitel: Data Mining Seminarthema:1.5.1 Häufige Teilgraphen: gSpan Fernuniversität Hagen SS 2008 Seminarleiter: Ralf.
Mining über RDBMSe von Christian Widmer
Vorlesung #5 SQL (Teil 2).
 Präsentation transkript:

Steffen Thomas 96I DATA MINING

Allgemein: Suche in riesigen Datenbanken Finden interessanter Trends oder Muster diese können auch unerwartet sein soll zukünftige Entscheidungen vereinfachen

Inhalt: 1 Grundlagen des Data Mining 2 Finden von zusammengehörigen Daten 3 Generierung von Regeln 4 Regeln in Form von Bäumen 5 Clustering 6 Ähnlichkeitssuche über Sequenzen 7 Weitere DataMining-Aufgaben 8 Darwin

1 Grundlagen des Data Mining verwandt mit der Erforschenden Daten-Analyse und der KI Ideen dieser Gebiete auf Data Mining anwendbar wichtigster Unterschied: Größe der Datenmengen neues Kriterium: - Algorithmen müssen skalierbar sein - d.h. linearer Anstieg der Rechenzeit

Grundlagen in der Realität enthalten Daten Rauschen und Lücken herkömmliche Methode wie SQL-,OLAP-Queries reichen nicht aus der KDD-Prozess (Knowledge Discovery Process) data selection: identifizieren des Zieldatensatzes data cleaning: Beseitigung unnötiger Information Vereinheitlichung von Feldwerten Erzeugen neuer Felder data mining: Extrahieren der vorhandenen Muster (patterns) evaluation: visuelle Ausgabe der Ergebnisse

2 Zusammengehörige Daten Ausgangspunkt: Probleme wie Warenkorb-Analyse Warenkorb ist Sammlung von Artikeln eines einzelnen Einkaufs Ziel: finde Artikel, welche zusammen gekauft werden dadurch bessere Platzierung und Werbung möglich

Zusammengehörige Daten 2.1 Frequent Itemsets itemset: Satz unterschiedlicher Artikel support: Anteil eines itemsets (%) BSP: itemset {pen,ink} mit support von 75% {milk,juice} 25% d.h. Milch und Saft werden nicht sehr häufig zusammen gekauft frequent itemsets: alle itemsets mit support über einer bestimmten Schranke (minsup) relativ wenig, besonders bei steigender Datenmenge

Zusammengehörige Daten Frequent Itemsets Zusammengehörige Daten Algorithmus: beruht auf einer Eigenschaft von frequent itemsets a priori Eigenschaft: jede Unterteilung eines frequent itemsets ist ebenfalls ein frequent itemset foreach Artikel // Level 1 prüfe ob dieser frequent itemset ist // Artikel >minsup vorhanden k = 1 repeat foreach frequent itemset Ik mit k Artikeln // Level k+1 generiere alle itemsets Ik+1 mit k+1 Artikeln scanne alle Transaktionen einmal und prüfe ob die generierten k+1 itemsets frequent sind k = k+1 until keine neuen frequent itemsets gefunden werden

Zusammengehörige Daten Frequent Itemsets Zusammengehörige Daten Ein Beispiel: minsup = 70% erste Iteration(Level 1): gefunden werden {pen},{ink},{milk} zweite Iteration(Level 2): neue Kandidaten sind {pen,ink},{pen,milk},{pen,juice},{ink,milk},{ink,juice},{milk,juice} nach dem Scannen bleiben folgende frequent itemsets übrig {pen,ink},{pen,milk} dritte Iteration(Level 3): Kandidaten sind {pen,ink,milk},{pen,ink,juice},{pen,milk,juice} keiner der Kandidaten ist frequent, sie werden verworfen Verbesserung der Laufzeit durch Anwendung der a priori Eigenschaft

Zusammengehörige Daten 2.2 Iceberg Queries wenig Resultate, auch bei goßen Datenbasen Anfrage in SQL (Bsp.): SELECT P.custid,P.item,SUM (P.qty) FROM Purchase P GROUP BY P.custid,P.item HAVING SUM (P.qty) > 5 iceberg queries nutzen die selbe bottom-up Strategie wie frequent itemsets ebenfalls Performance-Gewinn durch a priori Eigenschaft

3 Generierung von Regeln wichtige Muster in Datenbasen sind Regeln effektive Beschreibung der Daten es existieren vielfältige Formen von Regeln ebensoviele Algorithmen

Generierung von Regeln 3.1 Association Rules haben die Form LHS => RHS ; LHS,RHS sind itemsets BSP: {pen} => {ink} sprachlich: “Wenn bei einem Einkauf ein Füller gekauft wird, so ist es wahrscheinlich, dass auch gleichzeitig Tinte gekauft wird.” support: ist der support für ein itemset LHS RHS im BSP: support {pen,ink} = 75% confidence(Vertrauen): verdeutlicht die Stärke einer Regel ergibt sich aus sup(LHS) / sup(LHS RHS) im BSP: 75% der Transaktionen die {pen} enthalten enthalten auch {ink}

3.2 Ein Algorithmus zum Finden von Association Rules Generierung von Regeln 3.2 Ein Algorithmus zum Finden von Association Rules Gegeben: minsup, minconf Ausgangspunkt sind frequent itemsets > minsup X ist frequent itemset mit support sX X wird in LHS und RHS zerlegt confidence von LHS => RHS ist sX/sLHS alle Regeln mit confidence > minconf werden akzeptiert der Aufwand zur Generierung von Regeln ist relativ gering

3.3 Association Rules und ISA Hierarchien Generierung von Regeln 3.3 Association Rules und ISA Hierarchien itemsets können oft auch in Hierarchien auftreten dadurch können Beziehungen von Artikeln auf unterschiedlichem Level erkannt werden Stationary Beverage Pen Ink Juice Milk BSP: support von {ink,juice} = 50% jetzt juice = beverage support von {ink,beverage} = 75% der support eines Artikels kann nur steigen, wenn dieser Artikel durch einen Vorgänger in der Hierarchie ersetzt wird

3.4 Allgemeine Association Rules Generierung von Regeln 3.4 Allgemeine Association Rules Association Rules meist im Zusammenhang mit Warenkorb-Analyse kann aber allgemeiner aufgefasst werden bei Sortierung nach anderen Merkmalen können Regeln gefunden werden, die anders interpretiert werden müssen Bsp: Sortierung nach custid Regel: {pen} => {milk} support = confidence = 100% bedeutet:”Wenn ein Käufer einen Füller kauft, so kauft er wahrscheinlich auch Milch.” ebenso Sortierung nach Datum usw. möglich

Allgemeine Association Rules Generierung von Regeln Sortierung nach Datum wird auch als kalendrische Warenkorb-Analyse bezeichnet ein Kalender ist dabei Gruppierung von Daten: z.B.: jeder Sonntag im Jahr 1999 jeder Erste des Monats durch Spezifizierung von interessanten Kalendern, können Regeln entdeckt werden, die in der gesamten Datenbasis nicht auffallen würden u.ä. BSP: Regel: pen => juice allgemein: support = 50% Kalender = jeder Erste des Monats jetzt: support = confidence = 100% durch die Wahl verschiedener Gruppierungsmöglichkeiten, kann man viel komplexere Regeln identifizieren

Generierung von Regeln 3.5 Sequentielle Muster Sequenz ist eine Gruppe von Tupeln, die nach bestimmten Merkmalen geordnet ist macht, genau wie association rules, Aussagen über diese Tupel Bsp.: Sortierung nach custid und item: Sequenz von Einkäufen eines Kunden (custid = 201 {pen,ink,milk,juice},{pen,ink,juice}) Teilsequenz ist ebenfalls Sequenz; eine Sequenz {a1,..,am} ist in Sequenz S enthalten, wenn S eine Teilsequenz {b1,..,bm} hat BSP: Sequenz {pen},{ink,milk},{pen,juice} ist enthalten in {pen,ink},{shirt},{juice,ink,milk},{juice,pen,milk} Algorithmen zur Berechnung von Sequenzen sind ähnlich denen zum Finden von frequent itemsets

3.6 Association Rules und Vorhersagen Generierung von Regeln 3.6 Association Rules und Vorhersagen association rules werden häufig zur Vorhersage benutzt diese müssen aber durch weitere Analysen und Grundlagenwissen gesichert sein BSP: Annahme: Tinte wird durch Füller, Füller mit Bleistiften verkauft Regel {pen} => {ink}, hat confidence(Vertrauen) von 100% (in der gegebenen Datenbasis),d.h.: um mehr Tinte zu verkaufen, könnte man Füller billiger anbieten aber {pencil} => {ink}, hat ebenfalls confidence von 100%, d.h.: billigere Bleistifte, verkaufen mehr Tinte wäre ein falscher Schluß

Generierung von Regeln Association Rules und Vorhersagen Generierung von Regeln in Wirklichkeit, nicht so triviale Entscheidungen kausale Verbindung zwischen LHS und RHS notwendig gefundene Regeln sollten als Ausgangspunkt für weitere Analysen dienen Expertenwissen ist nützlich gefundene Regeln als alleiniger Entscheidungsgrund sind zu unsicher

Generierung von Regeln 3.7 Bayesische Netze sind Graphen, die kausale Beziehungen zwischen Variablen oder Ereignissen darstellen können jede Kombination von kausalen Verbindungen ist ein Model der realen Welt BSP: kaufe Füller kaufe Tinte Bedarf an Schreibinstrumenten kaufe Bleistifte Zahl der Modelle ist exponential zu Zahl der Variablen nur einige wichtige Verbindungen sollten ausgewertet werden

3.8 Classification und Regression Rules Generierung von Regeln 3.8 Classification und Regression Rules Bsp: VersicherungsInfo(Alter: integer, Autotyp: string, Risiko: boolean) es werden Regeln gesucht, die das Versicherungsrisiko bestimmen z.B.: “Wenn das Alter zwischen 16 und 25 ist und das Auto ein Sportwagen oder Truck, so ist ein Risiko gegeben.” gesuchtes Attribut heißt: dependent(abhängiges) Attribut Risiko bestimmende Attribute: predictor Attribute Alter, Autotyp

Classification und Regression Generierung von Regeln Allgemeine Form: P1(X1) ^ P2(X2)... ^ Pk(Xk) => Y X1..Xk: predictor Attribute P1..Pk: Prädikate Y: dependent Attribut Form der Prädikate abhängig vom Typ der predictor Attribute: numerisch: Pi hat die Form li R Xi R hi kategorisiert: Pi hat die Form Xi i {v1,..,vj} die Regel heißt: classification rule, wenn dependent Attribut kategorisiert ist regression rule, wenn dependent Attribut numerisch ist Bsp: (16 R Alter R 25) ^ (Auto i {Sport,Truck}) => Risiko = true

Classification und Regression Generierung von Regeln support: für eine Bedingung C ist % von Tupeln, die C wahr machen für Regel C1 => C2 ist support für Bedingung C1 ^ C2 confidence: angenommen alle Tupeln die C1 wahrmachen für Regel C1 => C2, % der Tupeln, die auch C2 wahr machen das effiziente Finden solcher Regeln ist nichttriviales Problem diese Regeln werden auf vielfältigste Weise eingesetzt

4 Regeln in Form von Bäumen repräsentieren classification und regression rules der Baum ist dabei die Ausgabe der Datamining-Anfrage Bezeichnungen: Entscheidungsbäume, repräsentieren classification rules regression-Bäume, repräsentieren regression rules Bsp: Alter Entscheidungsbaum <= 25 >25 Auto NEIN Kombi Sport, Truck NEIN JA “Wenn jemand 25 oder jünger ist und einen Kombi fährt, so hat er ein niedriges Risiko.”

4.1 Entscheidunsbäume Baumartige Regeln stellt einen Datensatz von einer Wurzel bis zu einem Blatt dar jeder interne Knoten ist mit einem predictor Attribut bezeichnet heißt auch splitting Attribut, d.h. teilt die Daten in Zweige auf ausgehende Kanten werden mit Prädikaten bezeichnet Information über splitting Attribut und Prädikat heißt splitting criterion (Kriterium) jedes Blatt ist mit dem Wert des dependent Attributs bezeichnet eine classification Regel ergibt sich wie folgt: der Weg von Wurzel zum Blatt über verschiedene Prädikate = LHS der Wert des Blattes = RHS

Berechnung eines gestutzten Baums: Entscheidunsbäume Baumartige Regeln Entscheidungsbäume werden in 2 Phasen konstruiert: growth(Wachstums) Phase: ein übergroßer Baum, mit sämtlichen Daten wird erzeugt die Regeln dieses Baumes sind überspezialisiert pruning(Stutzungs) Phase : die finale Größe wird bestimmt die Regeln sind allgemeiner Berechnung eines gestutzten Baums: split selection Methode: hat als Input die Datenbasis oder einen Teil von ihr erzeugt daraus ein split Kriterium

Entscheidunsbäume Baumartige Regeln Schema zur Erzeugung eines gestutzten Baums: Input: Knoten n, Partition D, split selection Methode S Output: Entscheidungsbaum für D, mit Wurzel in n BuildTree(Knoten n, Datenpartition D, split selection methode S) wende S auf D an, um ein splitting Kriterium zu finden if(gutes Kriterium gefunden) Erzeuge zwei Knoten n1, n2 aus n Teile D in D1, D2 BuildTree(n1, D1, S) BuildTree(n2, D2, S) endif

4.2 Ein Algorithmus für Entscheidungsbäume Baumartige Regeln 4.2 Ein Algorithmus für Entscheidungsbäume obiges Schema sofort anwendbar, wenn Daten in Hauptspeicher passen andernfalls versagt Algorithmus Lösung: die split selection Methode untersucht jeweils einzelne Attribute benötigt nicht unbedingt die ganze Datenbasis zusammengefasste(aggregierte) Daten sind ausreichend wird als AVC set bezeichnet (Attribut-Value,Classlabel)

Entscheidunsbäume Baumartige Regeln Die split selection Methode benötigt AVC set für jedes predictor Attribut Bsp: AVC set für Knoten Alter SELECT R.Alter,R.Risiko, COUNT (*) FROM VersicherungsInfo R GROUP BY R.Alter, R.Risiko AVC set für Knoten Auto SELECT R.Auto,R.Risiko, COUNT (*) WHERE R.Alter <= 25 GROUP BY R.Auto, R.Risiko AVC group Satz aller AVCs aller Attribute am Knoten n

5 Clustering Ziel: Aufteilung der Daten in Gruppen, die Aussagen über Ähnlichkeit machen Daten einer Gruppe sind ähnlich, unterschiedlicher Gruppen unähnlich dies wird durch Abstandsfunktion gemessen die Ausgabe eines Clustering-Algorithmus besteht aus zusammen-gefassten Repräsentationen für jeden Cluster Cluster werden zusammengefasst durch Center C und Radius R einer Sammlung von Daten r1..rn Bsp: KundenInfo(Alter: int, Gehalt: real)

Clustering 2 Arten von Clustering-Algorithmen: Gehalt 60k 30k 20 40 60 Alter 2 Arten von Clustering-Algorithmen: partielles: unterteilt die Daten in k Gruppen (benutzerdefiniert) hierarchisches: generiert Sequenz von Teildaten, verschmilzt in jeder Iteration 2 dieser Teile, bis eine Partition übrig bleibt

5.1 Ein Clustering Algorithmus der BIRCH Algorithmus Annahmen: Zahl der Datensätze ist sehr gross möglichst nur ein Scan der Datenbasis Hauptspeicher ist limitiert 2 Kontrollparameter: Größe des Hauptspeichers, resultiert in k Speicherblöcken e anfängliche Schranke für Radius der Cluster wenn e klein ist, werden viele kleine Cluster berechnet, sonst wenige, relativ grosse ein Cluster heißt kompakt, wenn Radius < e

BIRCH Algorithmus Clustering der Algorithmus behält immer <= k Cluster-Zusammenfassungen (Ci,Ri) im Speicher er behandelt immer kompakte Cluster es werden sequentiell Einträge gelesen und wie folgt bearbeitet: 1. Berechne den Abstand des Eintrags r und jedes existierenden C i ist der Index des Clusters mit kleinstem Abstand (r, Ci) 2. Berechne den neuen Radius Ri’, des i-ten Clusters wenn Ri’ <= e, weise r dem i-ten Cluster zu (neues Ci, Ri = Ri’) sonst, erzeuge neuen Cluster mit r Problem: weitere Cluster passen nicht in Hauptspeicher Lösung: erhöhe e, es werden Cluster verschmolzen

6 Ähnlichkeitssuche über Sequenzen Viele Informationen in Datenbasen bestehen aus Sequenzen Annahme: der Benutzer gibt Query-Sequenz an, will ähnliche Sequenzen erhalten ist eine Art unscharfe Suche Daten-Sequenz X ist eine Reihe von Zahlen X = {x1,..,xk} k ist Länge der Sequenz Teilsequenz Z = {z1,..,zj} erhält man aus X durch Löschen von Zahlen an Anfang und Ende

Ähnlichkeitssuche Abstand zweier Sequenzen = Euklidische Norm ||X-Y|| = benutzerdefinierte Schranke e Ziel: Finden aller Sequenzen im e -Abstand Ähnlichkeits-Anfragen können in zwei Arten unterteilt werden: Komplett-Sequenz Matching: Query-Sequenz und Sequenzen der Datenbasis sind gleich lang Ziel: alle Sequenzen im e -Abstand Teilsequenz Matching: Query-Sequenz ist kürzer als Sequenzen der Datenbasis Ziel: Finde alle Teilsequenzen im e -Abstand

6.1 Suche ähnlicher Sequenzen Ähnlichkeitssuche 6.1 Suche ähnlicher Sequenzen Annahme: Komplett-Sequenz Matching Suche ist ein mehrdimensionales Indizierungs-Problem Daten- und Query-Sequenzen sind Punkte im k-dimensionalen Raum Anlegen eines Hyper-Rechtecks mit Seitenlänge 2* e und Query-Sequenz als Zentrum alle Sequenzen im Rechteck werden ausgegeben durch Benutzung der Indizes deutliche Reduzierung von Rechenzeit und Zahl der betrachteten Daten

7 Weitere DataMining-Aufgaben bisher nur Suche nach Mustern weitere wichtige Aufgaben: Datensatz und Feature Auswahl: Suche des ‘richtigen’ Datensatzes und dazugehöriger Attribute Sampling: Samples reduzieren den Aufwand in übergrossen Datenbanken Nachteil: wichtige Informationen können übersehen werden Berechnung der Samples noch rückständig (Forschungsgebiet) Visualisierung: verbessert Verständniss über komplexe Datensätze hilft interessante Muster zu erkennen

8 Darwin Daten Mining Tool in Oracle-Umgebung parallele, skalierbare Client/Server-Architektur beliebig grosse Datenmengen einfachste Point-and-Click Bedienung visuelle Ausgabe der Ergebnisse

Darwin Client: Windows 95/NT/98 Server: Windows NT(ab 4.0) SUN Solaris HP-UX

Verwendete Algorithmen: Darwin Verwendete Algorithmen: Neuronale Netze mit Spezialfällen Entscheidungsbäume(classification, regression) speicherbasiertes Beweisen Bayesisches Lernen (ab 4.0) erweitertes Clustering