Data Warehouses und Data Mining

Ähnliche Dokumente
Datenbanksysteme 2009

Kapitel 17: Date Warehouse

Betriebliche Anwendungen

Betriebliche Anwendungen

Betriebliche Anwendungen

OLTP: Online Transaction Processing

Data Warehouses und Moderne Betriebliche Anwendungen von Datenbanksystemen

Betriebliche Anwendungen

Betriebliche Anwendungen

Data Warehousing. Aufbau eines DWH OLAP <-> OLTP Datacube

Data Warehousing. Beispiel: : Amazon. Aufbau eines DWH OLAP <-> OLTP Datacube. FU-Berlin, DBS I 2006, Hinze / Scholz

Datenbanksysteme 2009

Moderne Betriebliche Anwendungen von Datenbanksystemen

Data Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube

Operative vs. Informationelle Systeme. Informationelle Systeme. Informationelle Systeme. Moderne Betriebliche Anwendungen von Datenbanksystemen

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Data Warehouse. Kapitel 16. Abbildung 16.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen

5 Data Warehouses und Data Mining

Datenbanksysteme 2011

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube

8.1 Überblick. 8 Data Warehousing. klassischen Datenbankanwendungen werden Datenbanken im wesentlichen zur Abwicklung des (

8.1 Überblick. 8 Data Warehousing. klassischen Datenbankanwendungen werden Datenbanken im wesentlichen zur Abwicklung des (

9 Data Warehousing. klassischen Datenbankanwendungen werden Datenbanken im wesentlichen zur Abwicklung des (

Data Cubes PG Wissensmangement Seminarphase

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Themenblock: Erstellung eines Cube

Anfragen an multidimensionale Daten

Unterstützung der Unternehmenssteuerung durch Data Warehouses mit ganzheitlicher Sicht auf Daten aus operativen Systemen

Unterstützung der Unternehmenssteuerung durch Data Warehouses mit ganzheitlicher Sicht auf Daten aus operativen Systemen

Multidimensionale Modellierung

Data Warehousing Kapitel 3: Mehrdimensionale Datenmodellierung

Datenbanken Unit 10: Ranking und Data Mining Erstellen und Ändern von Datenbanken

Aufgabe 1: [Logische Modellierung]

6.6 Vorlesung: Von OLAP zu Mining

Summarization-based Aggregation

SQL - Datenbankdesign - Aufbau

Mining über RDBMSe. von. Christian Widmer. Wie gut lässt sich Mining mit SQL realisieren?

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken

Data Warehousing. Weitere Buzzwörter: OLAP, Decision Support, Data Mining

6.2 Datenmodellierung

Anfragesprachen für On-Line Analytical Processing (OLAP)

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Datenbank Grundlagen. Performanceuntersuchungen

Repetitorium. Data Warehousing und Data Mining 11/12. Sebastian Wandelt 13./16. Februar 2012

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit

Kap. 6 Data Warehouse

3. Mehrdimensionale Datenmodellierung und Operationen Grundlagen

Frühjahrsemester Data Warehousing Kapitel 5: Data Warehousing. H. Schuldt. 5.1 Einführung. Filiale Allschwil

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

1 Vorstellung Kursbeispiel

Datenbanken & Informationssysteme (WS 2016/2017)

Data Warehouse Technologien

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Kapitel 6. Vorlesung: PD Dr. Peer Kröger

Frühjahrsemester Data Warehousing Kapitel 5: Data Warehousing. H. Schuldt. 5.1 Einführung. Filiale Allschwil

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Datenbanken Unit 11: Data Mining

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

Data Warehousing. und Operationen. Dr. Andreas Thor Wintersemester 2009/10. Universität Leipzig Institut für Informatik.

Oracle 10g Einführung

Indexe. Ein Index = eine Struktur auf Platte, die einer Tabelle oder Sicht zugeordent ist, um die Tupeln in der Tabelle oder Sicht schneller abzurufen

Kapitel 7 Grundlagen von Data

Vertrautmachen mit Daten

Datenbanken Grundlagen und Design

23. Daten-Analyse. Datenwarenhäuser. Grundlagen des OLAP (On-Line Analytical Processing)

Dimensionen, Measures

Wiederholung VU Datenmodellierung

Data Mining auf Datenströmen Andreas M. Weiner

Wiederholung VU Datenmodellierung

INTELLIGENTE DATENANALYSE IN MATLAB. Unüberwachtes Lernen: Clustern von Attributen

XML & Intelligente Systeme. - XQuery Teil 2 - Datamining auf XML Dokumenten

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Datenbankmanagementsysteme

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Partitionierungsstrategien für Data Vault

3. Mehrdimensionale Datenmodellierung und Operationen Grundlagen. multi-dimensionale Speicherung (MOLAP)

Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Konzeptbeschreibung Ziel: Methode: Vorgehen: Entfernen von Attributen Verallgemeinerung von Attributen Relevanzanalyse der restlichen Attribute

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Informationsmaß. Konzeptbeschreibung. Beispiel für Konzept-Charakterisierung (1) Beispiel für Konzept-Charakterisierung (2)

Kapitel 3: Datenbanksysteme

Datenbanken zur Entscheidungsunterstützung - Data Warehousing. Prof. Dr. T. Kudraß 1

Teil II: Architektur eines Data-Warehouse-Systems... 57

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items

Transkript:

Data Warehouses und Data Mining Online Transaction Processing Data Warehouse-Anwendungen Data Mining

OLTP: Online Transaction Processing Beispiele: Flugbuchungssystem Bestellungen in einem Handelsunternehmen Charakteristisch: Hoher Parallelitätsgrad Viele (000+/sec) kurze Transaktionen Transaktionen bearbeiten nur ein kleines Datenvolumen "Mission-critical" für das Unternehmen Hohe Verfügbarkeit muss gewährleistet sein Normalisierte Relationen (möglichst wenig Update-Kosten) Nur wenige Indexe

Data Warehouse-Anwendungen: OLAP (Online Analytical Processing) Im Gegensatz zu OLTP stehen bei OLAP etwa folgende Fragestellungen im Zentrum: Wie hat sich die Auslastung der Transatlantikflüge über die letzten zwei Jahre entwickelt? oder Wie haben sich besondere offensive Marketingstrategien für bestimmte Produktlinien auf die Verkaufszahlen ausgewirkt?

Sammlung und periodische Auffrischung der Data Warehouse-Daten OLTP-Datenbanken und andere Datenquellen extract, transform, load OLAP-Anfragen Decision Support Data Mining Data Warehouse

Datenbank-Design für Data Warehouses: Stern-Schema Stern-Schema eines Date Warehouse: Eine sehr große Faktentabelle: Alle Verkäufe der letzten drei Jahre Alle Telefonate des letzten Jahres Alle Flugreservierungen der letzten fünf Jahre Normalisiert Mehrere Dimensionstabellen: Zeit Filialen Kunden Produkt Oft nicht normalisiert

Das Stern-Schema: Handelsunternehmen Kunden Produkte Verkäufe Filialen Zeit Fremdschlüsselbeziehungen Verkäufer

Das Stern-Schema: Krankenversicherung Patienten Ärzte Behandlungen Krankenhäuser Zeit Krankheiten

Stern-Schema Verkäufe VerkDatum Filiale Produkt Anzahl Kunde Verkäufer 25-Jul-00 Passau 347 47 825 Faktentabelle (typischerweise SEHR groß,.000.000+ Tupel) Filialen Kunden FilialenKennung Land Bezirk KundenNr Name wiealt Passau D Bayern 47 Kemper 43 Dimensionstabellen (relativ klein) Verkäufer VerkäuferNr Name Fachgebiet Manager wiealt 825 Handyman Elektronik 9 23

Stern-Schema (cont d) Zeit Datum Tag Monat Jahr Quartal KW Wochentag Saison 25-Jul-00 25 7 2000 3 30 Dienstag Hochsommer 8-Dec-0 8 2 200 4 52 Dienstag Weihnachten Typische Tupel-Anzahl: 000 (3 Jahre) Produkte ProduktNr Produkttyp Produktgruppe Produkthauptgruppe Hersteller.. 347 Handy Mobiltelekom Telekom Siemens.... Typische Tupel-Anzahl: 0.000 (Katalog)

Nicht-normalisierte Dimensionstabellen: Hierarchische Klassifizierung Zeit Datum Tag Monat Jahr Quartal KW Wochentag Saison 25-Jul-00 25 7 2000 3 30 Dienstag Hochsommer 8-Dec-0 8 2 200 4 52 Dienstag Weihnachten Geltende FDs: Datum Monat Quartal ProduktNr Produkttyp Produkte Produktgruppe Produkthauptgruppe Hersteller.. 347 Handy Mobiltelekom Telekom Siemens.... ProduktNr Produkttyp Produktgruppe Produkthauptgruppe

Normalisierung führt zum Schneeflocken-Schema Produkthauptgruppen Kunden Filialen Produktgruppen Produkttypen Zeit Verkäufe Verkäufer Produkte KWs Quartale

Typische Anfragen gegen Stern- Schemata: Analyse "Wieviele Handys welcher Hersteller haben junge Kunden in den Bayerischen Filialen zu Weihnachten 200 gekauft?" Verdichtung SELECT SUM(v.Anzahl), p.hersteller FROM Verkäufe v, Filialen f, Produkte p, Zeit z, Kunden k WHERE z.saison = 'Weihnachten' and Einschränkung z.jahr = 200 and k.wiealt < 30 and der Dimensionen p.produkttyp = 'Handy' and f.bezirk = 'Bayern' AND v.verkdatum = z.datum and v.produkt = p.produktnr and v.filiale = f.filialenkennung and v.kunde = k.kundennr GROUP BY p.hersteller; Verdichtung Join-Prädikate

Algebra-Ausdruck (Star Join) (Produkte) (Filialen) Verkäufe (Kunden) (Zeit)

Grad der Verdichtung: Roll-up/Drill-Down SELECT Jahr, Hersteller, SUM(v.Anzahl) FROM Verkäufe v, Produkte p, Zeit z WHERE v.produkt = p.produktnr AND v.verkdatum = z.datum AND p.produkttyp = 'Handy' GROUP BY p.hersteller, z.jahr; SELECT Jahr, SUM(v.Anzahl) FROM Verkäufe v, Produkte p, Zeit z WHERE v.produkt = p.produktnr AND v.verkdatum = z.datum AND p.produkttyp = 'Handy' GROUP BY z.jahr; Roll-up Drill-down

Analyse von Handyverkaufszahlen nach verschiedenen Dimensionen

Analyse von Handyverkaufszahlen nach verschiedenen Dimensionen Rollup Drill- Down

Data Cubes (n-dim. Datenwürfel) Die Darstellung derart verdichteter Information erfolgt in Decision-Support-Systemen oft spreadsheet-artig (cross tabulation): Dieser 2-dimensionale data cube fasst alle Anfrageergebnisse der vorhergenden Folie zusammen.

Ultimative Verdichtung Keine Gruppierung (keine GROUP BY-Klausel) alle Tupel bilden eine einzige Gruppe, bevor aggregiert wird: SELECT SUM(Anzahl) FROM Verkäufe v, Produkte p WHERE v.produkt = p.produktnr AND p.produkttyp = 'Handy';

Materialisierung von Aggregaten INSERT INTO Handy2DCube ( SELECT p.hersteller, z.jahr, SUM(v.Anzahl) FROM Verkäufe v, Produkte p, Zeit z WHERE v.produkt = p.produktnr and p.produkttyp = 'Handy' and v.verkdatum = z.datum GROUP BY z.jahr, p.hersteller ) UNION ( SELECT p.hersteller, NULL, SUM(v.Anzahl) FROM Verkäufe v, Produkte p WHERE v.produkt = p.produktnr and p.produkttyp = 'Handy' GROUP BY p.hersteller ) UNION ( SELECT NULL, z.jahr, SUM(v.Anzahl) FROM Verkäufe v, Produkte p, Zeit z WHERE v.produkt = p.produktnr and p.produkttyp = 'Handy' and v.verkdatum = z.datum GROUP BY z.jahr ) UNION ( SELECT NULL, NULL, SUM(v.Anzahl) FROM Verkäufe v, Produkte p WHERE v.produkt = p.produktnr and p.produkttyp = 'Handy' );

Relationale Struktur der Datenwürfel

Würfeldarstellung

Der CUBE-Operator (SQL:999) Die Materialisierung von Aggregaten führt zu aufwendigen Anfragen, deren Optimierung für das RDBMS schwierig ist: n Dimensionen 2 n Unterfragen, verbunden durch UNION Aggregate könnten hierarchisch berechnet werden Folgender CUBE-Operator ersetzt 2 3 Unteranfragen: SELECT p.hersteller, z.jahr, f.land, SUM(v.Anzahl) FROM Verkäufe v, Produkte p, Zeit z, Filialen f WHERE v.produkt = p.produktnr AND p.produkttyp = 'Handy' AND v.verkdatum = z.datum AND v.filiale = f.filialenkennung GROUP BY CUBE (z.jahr, p.hersteller, f.land);

Wiederverwendung von Teil-Aggregaten Annahme: Folgende Verdichtung liegt in der Datenbank vorausberechnet vor (materialisiert): INSERT INTO VerkäufeProduktFilialeJahr ( SELECT v.produkt, v.filiale, z.jahr, SUM(v.Anzahl) FROM Verkäufe v, Zeit z WHERE v.verkdatum = z.datum GROUP BY v.produkt, v.filiale, z.jahr ); Dann läßt sich folgende Anfrage auf der vorausberechneten Verdichtung VerkäufeProduktFilialeJahr berechnen (anstatt auf die Faktentabelle Verkäufe zugreifen zu müssen): SELECT v.produkt, v.filiale, SUM(v.Anzahl) FROM Verkäufe v VerkäufeProduktFilialeJahr v GROUP BY v.produkt, v.filiale

Die Materialisierungs-Hierarchie { } {Produkt} {Jahr} {Filiale} {Produkt, Jahr} {Produkt, Filiale} {Filiale, Jahr} {Produkt, Filiale, Jahr} Teilaggregate T sind für eine Aggregation A wiederverwendbar wenn es einen gerichteten Pfad von T nach A gibt Also T A Man nennt diese Materialisierungshierarchie auch einen Verband (Engl. lattice)

Die Zeit-Hierarchie Jahr Quartal Woche (KW) Monat Tag

Bitmap-Indexe Typische OLAP-Workloads lassen die Ausnutzung sehr spezifischer Index-Strukuren zu. Hier: Index auf spezifische Werte eines Attributes mit kleiner diskreter Domäne: Optimierung durch Komprimierung der Bitmaps Ausnutzung der dünnen Besetzung, bspw. durch runlengthcompression Speichere jeweils die Länge der Nullfolgen zwischen zwei Einsen

Bitmap-Indexe: Beispiel-Anfrage und Auswertung Marketing-Aktion: Extrahiere junge, gerade volljährige Kundinnen: SELECT k.name FROM Kunden k WHERE k.geschlecht = 'w' AND k.wiealt BETWEEN 8 AND 9; Unterstützung der Anfrage durch folgende Operation auf Bitmap-Indizes: (w 8 w 9 ) G w

Bitmap-Operationen

Bitmap-Indizes als Join-Indizes Klassischer Join-Index Bitmap-Join-Index Bitmap-Join-Index

B-Baum TID-V B-Baum TID-K (i,ii)(ii,i)(iii,ii)(iv,ii)(v,i)(vi,ii) (I,i)(I,v)(II,i)(II,iii)(II,iv)(II,vi)

5 5 B-Baum TID-V SELECT k.* FROM Verkäufe v, Kunden k WHERE v.produktid = 5 AND v.kundennr = k.kundennr (i,ii)(ii,i)(iii,ii)(iv,ii)(v,i)(vi,ii)

B-Baum TID-K SELECT v.* FROM Verkäufe v, Kunden k WHERE k.kundennr = 47 AND v.kundennr = k.kundennr (I,i)(I,v)(II,i)(II,iii)(II,iv)(II,vi)

Erinnerung: Star Join "Wieviele Handys welcher Hersteller haben junge Kunden in den Bayerischen Filialen zu Weihnachten 200 gekauft?" SELECT SUM(v.Anzahl), p.hersteller FROM Verkäufe v, Filialen f, Produkte p, Zeit z, Kunden k WHERE z.saison = 'Weihnachten' and Einschränkung z.jahr = 200 and k.wiealt < 30 and der Dimensionen p.produkttyp = 'Handy' and f.bezirk = 'Bayern' AND v.verkdatum = z.datum and v.produkt = p.produktnr and v.filiale = f.filialenkennung and v.kunde = k.kundennr GROUP BY p.hersteller; Join-Prädikate

Illustration des Star Join Zeit Verkäufe Kunden Filialen Produkte

Bitmap-Indexe für die Dimensions- Selektion Zeit Verkäufe Kunden Filialen Produkte

Bitmap-Indizes als Join-Indizes Klassischer Join-Index Bitmap-Join-Index Bitmap-Join-Index

Ausnutzung der Bitmap-Join-Indexe Zeit Verkäufe Kunden Filialen Produkte

Eine weitere Join-Methode: DiagJoin Geeignet zur Verfolgung von :N-Beziehungen Daten sind geballt (clustered) durch zeitlich nahe Einfügung in beide beteiligten Tabellen Beispiel: Order (Bestellung) Lineitem (Bestellposition) Order Lineitem Die Lineitems einer Order kommen zeitlich kurz hintereinander Grundidee des DiagJoins besteht darin, synchron über die beiden Relationen zu laufen Die Orders werden in einem Fenster (sliding window) gehalten

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Quirl 5 47 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem

DiagJoin 232 Junker 3452 Lola 9965 Kaller 9876 Hummer 7765 Müller 5645 Maier 47 Kemper Order# Customer Order Handy 9876 Quirl 5 47 Mixer 2 7765 Handy 3 5645 Papier 4 47 Fax 7765 Hub 2 5645 Toner 3 47 Drucker 2 47 Laptop 5645 PC 47 Preis Produkt Position Order# LineItem Tupel muss zwischengespeichert und "nachbearbeitet" werden (temp file).

Anforderungen an den DiagJoin :N-Beziehung zwischen beteiligten Tabellen Die ""-er Tupel sind in etwa dersleben Reihenfolge gespeichert worden wie die "N"-er Tupel Die Tupel werden in der "time-of-creation"-reihenfolge wieder von der Platte gelesen (full table scan) Die referentielle Integrität sollte gewährleistet sein (Warum?) Das Fenster muss so groß sein, daß nur wenige Tupel nachbearbeitet werden müssen Nachbearbeitung bedeutet: Tupel auf dem Hintergrundspeicher (temp file) speichern Den zugehörigen Joinpartner in Order via Index auffinden Dafür ist ein Index auf Order.Order# hierfür notwendig Kein Index nötig für die erste Phase des DiagJoins

Data Mining Klassifikation Assoziationsregeln

Data Mining : Klassifikationsregeln Ziel des Data Mining: Durchsuchen großer Datenmengen nach bisher unbekannten Zusammenhängen (Knowledge discovery) Klassifikation: Treffe "Vorhersagen" auf der Basis bekannter Attributwerte Vorhersageattribute: V, V 2,, V n Vorhergesagtes Attribut: A Klassifikationsregel: P (V ) P 2 (V 2 ) P n (V n ) A = c Prädikate P, P 2,.., P n Konstante c Beispiel für eine Klassifikationsregel: (wiealt>35) (Geschlecht =`m ) (Autotyp=`Coupé ) (Risiko= hoch')

Klassifikations/Entscheidungsbaum Geschlecht m w wiealt geringes Risiko Jedes Blatt des Baumes entspricht einer Klassifikationsregel hohes Risiko <=35 >35 hohes Risiko Coupe Autotyp Van geringes Risiko

Klassifikations/Entscheidungsbaum Geschlecht m w wiealt geringes Risiko <=35 >35 hohes Risiko Autotyp Coupe Van (wiealt>35) (Geschlecht =`m ) (Autotyp=`Coupé ) (Risiko= hoch ) hohes Risiko geringes Risiko

Erstellung von Entscheidungs-/ Klassifikationsbäume Trainingsmenge Große Zahl von Datensätzen, die in der Vergangenheit gesammelt wurden Sie dient als Grundlage für die Vorhersage (= Klassifikation) von "neu ankommenden" Objekten Beispiel: neuer Versicherungskunde wird gemäß dem Verhalten seiner "Artgenossen" eingestuft Rekursives Partitionieren: Fange mit einem Attribut A an und spalte die Tupelmenge bzgl. ihrer A-Werte Jede dieser Teilmengen wird rekursiv weiter partitioniert Fortsetzen, bis nur noch gleichartige Objekte in der jeweiligen Partition sind

Data Mining : Assoziationsregeln Beispielregel: Wenn jemand einen PC kauft, dann kauft er/sie auch einen Drucker Confidence Dieser Wert legt fest, bei welchem Prozentsatz der Datenmenge, bei der die Voraussetzung (linke Seite) erfüllt ist, die Regel (rechte Seite) auch erfüllt ist. Eine Confidence von 80% für unsere Beispielregel sagt aus, dass vier Fünftel der Leute, die einen PC gekauft haben, auch einen Drucker dazu gekauft haben. Support Dieser Wert legt fest, wieviele Datensätze überhaupt gefunden wurden, um die Gültigkeit der Regel zu verifizieren. Bei einem Support von % wäre also jeder Hundertste Verkauf ein PC zusammen mit einem Drucker.

VerkaufsTransaktionen TransID Produkt Drucker Papier PC Toner 222 PC 222 Scanner 333 Drucker 333 Papier 333 Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner Verkaufstransaktionen Warenkörbe Finde alle Assoziationsregeln L R mit einem Support größer als minsupp und einer Confidence von mindestens minconf Dazu sucht man zunächst die sogenannten frequent itemsets (FI), also Produktmengen, die in mindestens minsupp der Einkaufswägen/ Transaktionen enthalten sind Der A Priori-Algorithmus basiert auf der Erkenntnis, dass alle Teilmengen eines FI auch FIs sein müssen

A Priori Algorithmus für alle Produkte p überprüfe ob p ein frequent itemset (Kardinalität ) ist, also in mindestens minsupp Einkaufswägen enthalten ist k := iteriere solange für jeden frequent itemset I k mit k Produkten generiere alle itemsets I k + mit k+ Produkten und I k I k+ lies alle Einkäufe einmal (sequentieller Scan auf der Datenbank) und überprüfe, welche der (k+)-elementigen itemset- Kandidaten mindestens minsupp mal vorkommen k := k+ bis keine neuen frequent itemsets gefunden werden

VerkaufsTransaktionen TransID Produkt Drucker Papier PC Toner 222 PC 222 Scanner 333 Drucker 333 Papier 333 Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner Minsupp=3/5 Disqualifiziert A Priori-Algorithmus FI-Kandidat {Drucker} {Papier} {PC} {Scanner} {Toner} {Drucker, Papier} {Drucker, PC} {Drucker, Scanner} {Drucker, Toner} {Papier, PC} {Papier, Scanner} {Papier, Toner} {PC, Scanner} {PC,Toner} {Scanner, Toner} Zwischenergebnisse Anzahl 4 3 4 2 3 3 3 3 2 3 2

VerkaufsTransaktionen TransID Produkt Drucker Papier PC Toner 222 PC 222 Scanner 333 Drucker 333 Papier 333 Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner A Priori-Algorithmus Zwischenergebnisse FI-Kandidat Anzahl {Drucker, Papier} 3 {Drucker, PC} 3 {Drucker, Scanner} {Drucker, Toner} 3 {Papier, PC} 2 {Papier, Scanner} {Papier, Toner} 3 {PC, Scanner} {PC,Toner} 2 {Scanner, Toner} {Drucker, Papier, PC} 2 {Drucker, Papier, Toner} 3 {Drucker, PC, Toner} 2 {Papier, PC, Toner} 2

Ableitung von Assoziationsregeln aus den frequent itemsets Betrachte jeden FI mit hinreichend viel support Bilde alle nicht-leeren Teilmengen L FI und untersuche die Regel L FI L Die Confidence dieser Regel berechnet sich als: confidence(l FI L) = support(fi) / support(l) Falls die Confidence > minconf ist, behalte diese Regel Betrachte FI = {Drucker, Papier, Toner}, L = {Drucker} support(fi) = 3/5 Regel: {Drucker} {Papier, Toner} confidence = support({drucker, Papier, Toner}) / support({drucker}) = (3/5) / (4/5 = = 75 %

Erhöhung der Confidence Vergrößern der linken Seite (dadurch Verkleinern der rechten Seite) führt zur Erhöhung der Confidence Formal: L L +, R R - confidence(l R) <= confidence(l + R - ) Beispiel-Regel: {Drucker} {Papier, Toner} confidence = support({drucker, Papier, Toner}) / support({drucker}) = (3/5) / (4/5) = = 75% Beispiel-Regel: {Drucker,Papier} {Toner} Confidence = support({drucker,papier,toner}) / support({drucker,papier}) = (3/5) / (3/5) = = 00%