Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Steffen Thomas 96I DATA MINING.

Ähnliche Präsentationen


Präsentation zum Thema: "Steffen Thomas 96I DATA MINING."—  Präsentation transkript:

1 Steffen Thomas 96I DATA MINING

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

3 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

4 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

5 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

6 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

7 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} % 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

8 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

9 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

10 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

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

12 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}

13 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

14 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

15 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

16 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

17 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

18 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ß

19 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

20 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

21 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

22 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

23 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

24 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.”

25 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

26 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

27 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

28 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)

29 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

30 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)

31 Clustering 2 Arten von Clustering-Algorithmen:
Gehalt 60k 30k 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

32 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

33 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

34 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

35 Ä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

36 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

37 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

38 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

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

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


Herunterladen ppt "Steffen Thomas 96I DATA MINING."

Ähnliche Präsentationen


Google-Anzeigen