Infos Lehrveranstaltungen 2 V + 2 Ü, geteilt: I I Wissensextraktion Prüfung Prof. Lämmel: NN Prof. Cleve: Klassische Verfahren Projekt und MP 30min Skript, Folien, Übungen etc. in Stud.IP: Wissensextraktion Skript und Folien CopyShop Prof. Dr. Jürgen Cleve / Prof. Dr. Uwe Lämmel Hochschule Wismar 26. Januar 2015 Literatur Cleve/Lämmel: Data Mining, Oldenbourg 2014 http://www.wi.hs-wismar.de/dm-buch s. auch Skript und Stud.IP KNIME http://www.knime.org/ KNIME Desktop Modul DM in ILIAS, etliche Zusatzinfos (Videos, Tests) Weitere Infos unter Stud.IP 1 Einführung Wissensextraktion 26. Januar 2015 Inhaltsverzeichnis Inhaltsverzeichnis Einführung Einführung Data Mining – Grundlagen Data Mining – Grundlagen Anwendungsklassen Anwendungsklassen Wissensrepräsentation Wissensrepräsentation Methoden und Verfahren Methoden und Verfahren Datenvorbereitung Datenvorbereitung Bewertung Bewertung 1 Einführung Wissensextraktion 1 Einführung Wissensextraktion Folie 1-1 (6) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 1 Einführung Data you don’t need is never lost. Ander’s first negative Principle of Computers Einführung Data Mining und Business Intelligence Auswertung von Massendaten Ablauf einer Datenanalyse 1 Einführung Was ist Data Mining? Wissensextraktion 1.1 Data Mining und Business Intelligence Folie 1-2 (7) Business Intelligence I Business Intelligence (BI) ist ein relativ neuer Begriff. I Effektiver/effizienter Umgang mit dem Unternehmenswissen für das Überleben wichtig 1 Einführung Wissensextraktion 1.1 Data Mining und Business Intelligence Business Intelligence I Nach und nach: Reihe von Techniken, Programmen etc. für Unternehmenswissen I Heute: Business Intelligence – Zusammenfassung dieser Techniken und Architekturen für eine effiziente Verwaltung/Analyse des Unternehmenswissens I Aufgaben von BI: Wissensgewinnung, -verwaltung und -verarbeitung. I Querbezüge zu I I I I Informationsmanagement Datenbanken/Data Warehouse Künstliche Intelligenz Data Mining (inkl. OLAP, Statistik) Folie 1-3 (8) 1 Einführung Wissensextraktion 1.1 Data Mining und Business Intelligence Folie 1-4 (9) Business Intelligence – Definition 1 Einführung Wissensextraktion 1.1 Data Mining und Business Intelligence Folie 1-5 (10) Business Intelligence – Definition Business Intelligence im engeren Sinn: I Verschiedene Definitionen des Begriffs Business Intelligence. I Business Intelligence im engeren/weiteren/weiten Sinn. 1 Einführung Folie 1-6 (11) I I ... I 1 Einführung 1 Einführung Wissensextraktion 1.1 Data Mining und Business Intelligence I Folie 1-7 (12) Alle Anwendungen, die im Entscheidungsprozess benutzt werden. I Präsentationssysteme Datenspeicherung und -verwaltung I ... I Wissensextraktion 1.1 Data Mining und Business Intelligence ... BI im weiten Verständnis: alle Analyse-orientierten Anwendungen Data Mining Reporting Analytisches Customer Relationship Management I Business Intelligence – Definition Etwas weiterer BI-Begriff: I I Online Analytical Processing (OLAP) die Management Information Systems (MIS) Executive Information Systems (EIS) I Business Intelligence – Definition I Kernapplikationen, die eine Entscheidungsfindung direkt unterstützen. I Wissensextraktion 1.1 Data Mining und Business Intelligence I Folie 1-8 (13) Business Intelligence – Definition 1 Einführung Wissensextraktion 1.1 Data Mining und Business Intelligence Folie 1-9 (14) Business Intelligence – Data Mining I Schwerpunkt dieser Vorlesung: Wissensextraktion / Data Mining I . . . nur kleiner Ausschnitt aus dem BI-Spektrum Abbildung Business Intelligence [Kemper et al.] 1 Einführung 1.2 Auswertung von Massendaten Was fangen wir mit den Unmengen von Daten an? Wissensextraktion Folie 1-10 (15) 1 Einführung Wissensextraktion 1.2 Auswertung von Massendaten Motivation I weltweit stetig steigende Datenflut Industrielle Prozessdaten I grobe Schätzungen: Verdoppelung alle 20 Monate Umsatzdaten I Daten über den initialen Zweck hinaus benutzen Genom-Daten I Data Mining = Datenschürfen Bilder I Suche nach Mustern oder auffälligen Häufungen Textinformationen I Suche nach Beurteilungskriterien für vorgegebene Ziele I Ausführbar zu Zeiten schwacher Computerauslastung (z.B. nachts) Folie 1-11 (16) 1 Einführung Wissensextraktion 1.2 Auswertung von Massendaten Folie 1-12 (17) Stories of success I I I I 1 Einführung Wissensextraktion 1.2 Auswertung von Massendaten Vorhersage von Klausurnoten Erzeugen eines Entscheidungsbaums (generiert aus alten Kreditdaten) als Entscheidungshilfe für die Bewertung der Kreditwürdigkeit eines Kunden Grammatik <= 6 >6 Logik Generierung von Mustern von typischen Reisenden, um den Verkauf von Billigflügen oder -urlauben zu managen Wissensextraktion Folie 1-14 (19) Ablauf einer Datenanalyse >6 5 (17.0/1.0) <= 6 >6 3 (2.0) Grundlagen <= 1 Logik >1 5 (2.0) Analyse der Gene bei Diabetes-Kranken, um typische Gene zu erkennen 1.3 Ablauf einer Datenanalyse TM <= 6 Windeln und Bier: Analyse des Kaufverhaltens ergibt, dass derjenige, der Windeln kauft, sehr häufig auch Bier kauft, aber nicht umgekehrt. 1 Einführung Folie 1-13 (18) <= 8 4 (6.0/1.0) >8 3 (2.0/1.0) 2 (2.0) Abb. 1: Entscheidungsbaum für die TI-Klausur 2013/14 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse Folie 1-15 (20) Ablauf einer Datenanalyse Evaluation & Interpretation Data Mining Folgende Phasen unterscheidet man beim Data Mining: Selektion Information Wissen Datentransformation Auswahl der geeigneten Datenmengen Datenvorverarbeitung Datenvorverarbeitung Skalierung, Ausreißer . . . Datenselektion Transformation Umwandlung in adäquate Datenformate Data Mining eigentliches Suchen nach Mustern etc. Interpretation / Evaluation Interpretation der Ergebnisse und Auswertung bereinigte Daten Muster Regeln ...... bereinigte und transformierte Daten Zieldaten Daten Abb. 2: Ablauf eines Data-Mining-Prozesses [Fayyad et al.] 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse Folie 1-16 (21) 1.3.1 CRISP Data-Mining-Modell 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse Folie 1-17 (22) 1.3.1 CRISP Data-Mining-Modell CRISP Data-Mining-Modell CRISP Data-Mining-Modell Das CRISP-DM-Modell wurde durch NCR, Daimler-Benz, ISL, OHRA entwickelt. Cross Industry Standard Process for Data Mining (http://www.crisp-dm.org/). Man geht von einem Lebenszyklus in 6 Etappen aus: Data Understanding Business Understanding 1. Verstehen der Aufgabe Data Preparation 2. Verständnis der Daten Deployment 3. Datenvorbereitung Data 4. Data Mining (Modellbildung) Modelling 5. Evaluation Evaluation 6. Einsatz im & Konsequenzen für Unternehmen Abb. 3: CRISP-Modell 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse 1.3.2 Datenselektion Datenselektion Folie 1-18 (23) 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse Folie 1-19 (24) 1.3.3 Datenvorverarbeitung Datenvorverarbeitung I Qualität des Zieldatenbestands untersuchen I Welche Daten sind verfügbar? I durch Einsatz geeigneter Verfahren verbessern I Zusammenführen von Daten aus unterschiedlichen Quellen I Fehlerhafte Daten I interne / externe Daten I Fehlende Daten I Ausreißer und 1 Einführung Wissensextraktion 1.3 Ablauf einer Datenanalyse Folie 1-20 (25) 1.3.4 Datentransformation Analyserelevanten Zieldatenbestand in ein solches Datenbankschema transformieren, I das von dem verwendeten Data-Mining-System verarbeitet werden kann I Attribute transformieren I Dimensionsreduktion 1 Einführung Folie 1-21 (26) Data Mining Wissensextraktion 1.3 Ablauf einer Datenanalyse Wissensextraktion 1.3 Ablauf einer Datenanalyse 1.3.5 Data Mining Datentransformation I 1 Einführung I Verfahrensauswahl (z.B. Clusteranalyse) I Konfiguration des Verfahrens 2 Data Mining – Grundlagen Wissensextraktion Folie 1-22 (27) 1.3.6 Evaluation und Interpretation 26. Januar 2015 Evaluation und Interpretation Inhaltsverzeichnis Einführung Data Mining – Grundlagen I Bewertung der Resultate I Anforderungen: I I I I Anwendungsklassen Gültigkeit Neuartigkeit Nützlichkeit Verständlichkeit Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Bewertung 2 Data Mining – Grundlagen Wissensextraktion 2 Data Mining – Grundlagen Wissensextraktion Folie 2-1 (30) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 2 Data Mining – Grundlagen Data Mining – Grundlagen Begriffe Zwei Beispiele Interdisziplinarität Datentypen Abstands- und Ähnlichkeitsmaße Weitere Grundbegriffe 2 Data Mining – Grundlagen If you file it, you’ll know where it is but you’ll never need it. If you don’t file it, you’ll need it but never know where it is. Tillis’s Organizational Principle Wissensextraktion 2.1 Begriffe Folie 2-2 (31) Daten 2 Data Mining – Grundlagen Wissensextraktion 2.1 Begriffe Folie 2-3 (32) Information Definition 2.1 (Daten) Ansammlungen von Zeichen mit der dazugehörigen Syntax werden Daten genannt. Daten → Plural des lateinischen Datum, ein Informationselement. I unstrukturierte Daten (Bild, Text) I semistrukturierte Daten (WWW-Seiten) I strukturierte Daten (Datenbanken) Definition 2.2 (Information) Werden Daten mit einer Bedeutung gekoppelt, handelt es sich um Informationen. Information → zweckbestimmte Interpretation von Daten durch den Menschen 2 Data Mining – Grundlagen Wissensextraktion 2.1 Begriffe Folie 2-4 (33) Wissen 2 Data Mining – Grundlagen Wissensextraktion 2.1 Begriffe Folie 2-5 (34) Data Mining Definition 2.4 (Data Mining) Beim Data Mining (Datenschürfen) handelt es sich um die Extraktion von Wissen aus Daten. Definition 2.3 (Wissen) Eine Information in Verbindung mit der Fähigkeit, diese zu benutzen, wird als Wissen bezeichnet. Information, die man anzuwenden weiß → Wissen 2 Data Mining – Grundlagen Wissensextraktion 2.2 Zwei Beispiele Folie 2-6 (35) Beispiele Data Mining ist die nichttriviale und automatische Suche nach Wissen in Massendaten. Man unterscheidet: I Data Mining i.e.S. (strukturierte Daten) I Web Mining (semistrukturierte Daten) I Text Mining (unstrukturierte Daten) 2 Data Mining – Grundlagen Wissensextraktion 2.2 Zwei Beispiele Folie 2-7 (36) Beispiele In Warenhäusern werden an den Kassen die verkauften Waren elektronisch erfasst. Diese Daten werden in Datenbanken abgelegt, wodurch riesige Datenbestände über Verkaufsumsätze zur Verfügung stehen. Mit Hilfe von Data-Mining-Verfahren können nun verschiedene Analysen auf diesen Daten durchgeführt werden: I Welche Waren werden häufig gemeinsam mit anderen gekauft? I Wann werden welche Waren in welchen Mengen gekauft? 2 Data Mining – Grundlagen Wissensextraktion 2.3 Interdisziplinarität Folie 2-8 (37) Interdisziplinarität Benutzen dieser Informationen, um effizient bestimmte Aufgaben lösen zu können. I Erkennen von Kundengruppen I Zuschneiden von Werbeprospekten auf diese Kundengruppen I gezieltes Versenden von Werbeprospekten an konkrete Zielgruppen 2 Data Mining – Grundlagen Wissensextraktion 2.3 Interdisziplinarität Folie 2-9 (38) Interdisziplinarität Statistik Es gibt eine ganze Reihe von Bezügen des Data Mining zu anderen Disziplinen. Data Mining ist höchst interdisziplinär. I Datenbanken I Data Warehouses I Wissensbasierte Systeme I Maschinelles Lernen I Statistik I Visualisierung Data Künstliche Intelligenz tik ma the Ma Datenbanken Mining Visualisierung Computergraphik Abb. 4: Interdisziplinarität 2 Data Mining – Grundlagen Wissensextraktion 2.4 Datentypen Folie 2-10 (39) Datentypen 2 Data Mining – Grundlagen Wissensextraktion 2.4 Datentypen Folie 2-11 (40) Datentypen Man unterscheidet folgende wichtige Datentypen: nominal Nominale Daten unterliegen keinerlei Rangfolge. Sie können lediglich nach dem Kriterium gleich bzw. nicht gleich sortiert werden. ordinal Ordinale Daten haben zumindest eine Ordnungsrelation (wie <). metrisch Metrische Daten besitzen alle Ordnungsmerkmale der reellen Zahlen. Man kann mit ihnen rechnen. Verfeinerungen möglich: I Intervalle (Geburtsjahr) I Verhältniszahlen (Gewicht, Größe) Gute Beispiele in [Dorian Pyle, S. 67]. nominal Farbe Beruf Familienstand Staatsangehörigkeit ordinal Schulnote Schuhgröße Erdbebenstärke Altersgruppe metrisch Fläche Geschwindigkeit Körpergröße Kinderzahl Tabelle 1: Beispiel Datentypen 2 Data Mining – Grundlagen Wissensextraktion 2.4 Datentypen Folie 2-12 (41) Umwandlung von ordinalen in metrische Daten I I I Wissensextraktion 2.5 Abstands- und Ähnlichkeitsmaße Folie 2-13 (42) Abstands- und Ähnlichkeitsmaße Betrachten ein Attribut mit den Ausprägungen klein, mittelgroß, groß, sehr groß . Umwandlung in metrisches Attribut: I 2 Data Mining – Grundlagen klein → 0 I dist(v , w ): Abstand zweier Datensätze I simil(v , w ): Ähnlichkeit zweier Datensätze Zur Bestimmung der Ähnlichkeit wird meist der Abstand herangezogen: mittelgroß → 0,3 groß → 0,7 simil(v , w ) = f (dist(v , w )) sehr groß → 1 Achtung: Willkürliche Wahl der Zahlen beeinflusst den Abstand zwischen den Werten und eventuell das Resultat. 2 Data Mining – Grundlagen Wissensextraktion 2.5 Abstands- und Ähnlichkeitsmaße Folie 2-14 (43) Eigenschaften von Distanzfunktionen 2 Data Mining – Grundlagen Wissensextraktion 2.5 Abstands- und Ähnlichkeitsmaße Folie 2-15 (44) Distanzfunktionen Folgende typische Distanzfunktionen gibt es: I Eine Abstandsfunktion (auch Distanzfunktion genannt) sollte folgende Eigenschaften erfüllen: I dist(x , x ) = 0 I dist(x , y ) = dist(y , x ) I dist(x , y ) ≤ dist(x , z ) + dist(z , y ) Hamming-Distanz: distH (v , w ) = counti (vi 6= wi ) q ∑(vi − wi )2 I Euklidische Distanz: distE (v , w ) = I Manhattandistanz: distS (v , w ) = ∑(|vi − wi |) I I Maximumdistanz: distMax (v , w ) = max(|vi − wi |) ... Minkowski-Distanz: distMinkowski (v , w ) = 2 Data Mining – Grundlagen Wissensextraktion 2.5 Abstands- und Ähnlichkeitsmaße Folie 2-16 (45) Distanzfunktionen i i i q p ∑ |vi − wi |p i 2 Data Mining – Grundlagen Wissensextraktion 2.5 Abstands- und Ähnlichkeitsmaße Folie 2-17 (46) Aufgaben 10 Aufgabe 2.1 (Distanz) 8 Wenn man die Schritte des Königs auf einem Schachbrett als Distanz wählt, welchem Distanzbegriff entspricht das? Und welchem Begriff entspricht die Anzahl der Felder, die der Turm passieren müsste? 6 4 2 Aufgabe 2.2 (Distanz) Berechnen Sie die Distanz zwischen den Punkten (0,1,2), (1,5,3) und (4,-2,3). Verwenden Sie dabei alle 4 aufgeführten Distanzfunktionen. 2 6 8 10 4 distH = 2, distE ≈ 8.9, distMan = 12, distMax = 8 Abb. 5: Beispiel Distanzen 2 Data Mining – Grundlagen 2.5 Abstands- und Ähnlichkeitsmaße Wissensextraktion Folie 2-18 (47) Aufgaben 2 Data Mining – Grundlagen Wissensextraktion 2.6 Weitere Grundbegriffe Weitere Grundbegriffe Aufgabe 2.3 (Distanz) Suchen Sie weitere Abstandsmaße. Aufgabe 2.4 (Datentypen) Welchen Typ von Daten haben wir bei den Postleitzahlen: nominal, ordinal, metrisch? I Lernen aus gegebenen Beispielen: Instanzenmenge E. I Lernen auf einer Teilmenge von E: Trainingsmenge T ⊂ E I Validieren auf einer anderen Teilmenge von E (meist E \ T ): Validierungsmenge Folie 2-19 (48) 2 Data Mining – Grundlagen Wissensextraktion 2.6 Weitere Grundbegriffe 3 Anwendungsklassen Wissensextraktion Folie 2-20 (49) 26. Januar 2015 Lern-Strategien Inhaltsverzeichnis Einführung Data Mining – Grundlagen I Nicht-überwachtes Lernen: Die zu entdeckenden Muster sind unbekannt. Anwendungsklassen I Überwachtes Lernen: Es werden Beispiele vorgegeben, z.B. Beispiele für Nadel- oder Laubbäume. Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Bewertung 3 Anwendungsklassen Wissensextraktion 3 Anwendungsklassen Wissensextraktion Folie 3-1 (52) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 3 Anwendungsklassen All great discoveries are made by mistake. Young’s Law Anwendungsklassen Klassifikation Clustering Numerische Vorhersage Assoziationsanalyse Text Mining Web Mining I Klassifikation I Clustering I Numerische Vorhersage I Assoziation I Text Mining I Web Mining 3 Anwendungsklassen Wissensextraktion 3 Anwendungsklassen Wissensextraktion 3.1 Klassifikation Folie 3-2 (53) 3.1 Klassifikation Folie 3-3 (54) Klassifikation Klassifikation Trainingsproben Ziel der Klassifikation ist die Einteilung eines Gegenstandsbereichs (z.B. Kunden) in Klassen (normale / sehr gute Kreditwürdigkeit). Name Alter Adam Beate Clemens Diana Egon Frank ... ≤ 30 ≤ 30 31. . . 40 > 40 > 40 31. . . 40 ... Klassifikationsalgorithmus ⇒ Ein- Kredit- kommen niedrig niedrig hoch mittel mittel hoch ... würd. normal sehr gut sehr gut normal normal sehr gut ... ⇓ Klassifikationsregeln (z.B.) WENN Alter = 31. . . 40 UND Einkommen = hoch DANN Kreditwürdigkeit = sehr gut Abb. 6: Klassifikation – Lernphase 3 Anwendungsklassen Wissensextraktion 3 Anwendungsklassen Wissensextraktion 3.1 Klassifikation Folie 3-4 (55) 3.1 Klassifikation Folie 3-5 (56) Klassifikation Klassifikation Name Alter Gerda Hanno Inge ... 31. . . 40 31. . . 40 > 40 ... Testproben EinKreditkommen würdigkeit hoch sehr gut hoch normal hoch sehr gut ... ... Abb. 7: Klassifikation – Testphase Bewertung durch Regeln sehr gut sehr gut ... ... Name Alter Jochen Karl ... 31. . . 40 ... ... Neue Daten EinKreditkommen würdigkeit hoch ?? ... ... ... ... Bewertung durch Regeln sehr gut ... ... Abb. 8: Klassifikation – Anwendungsphase 3 Anwendungsklassen Wissensextraktion 3.1 Klassifikation Folie 3-6 (57) Klassifikation 3 Anwendungsklassen Wissensextraktion 3.2 Clustering Folie 3-7 (58) Clustering Beispiel 3.1 (Klassifikation) I Vorhersage, ob ein bestimmter Kunde auf eine Werbeaktion reagieren wird I Zeichenerkennung (Kfz-Kennzeichen, Adressen etc.) I Vorhersage von Erdbebenwahrscheinlichkeiten Ziel der Clusteranalyse ist es, eine gegebene Instanzenmenge E (E ⊆ X ) in verschiedene Teilmengen (Cluster) zu zerlegen. Die Individuen innerhalb eines Clusters sollen dabei möglichst ähnlich sein, wohingegen Individuen verschiedener Cluster möglichst unähnlich sein sollen. Einige Verfahren: I Induktion von Entscheidungsbäumen I Induktion von Klassifikationsregeln I Neuronale Feedforward Netze I Bayes-Verfahren 3 Anwendungsklassen Wissensextraktion 3.2 Clustering Folie 3-8 (59) Clustering 3 Anwendungsklassen Wissensextraktion 3.2 Clustering Folie 3-9 (60) Clustering Gegeben I X Instanzenraum I E ⊆ X Instanzenmenge I I dist : X × X → ℜ+ Abstandsfunktion X quality : 22 → ℜ Qualitätsfunktion Gesucht I Clustermenge C = {C1 , . . . , Ck }, wobei: I C ⊆E i I quality(C ) → max I Ci ∩ Cj = (optional) I C ∪ . . . ∪ C = E (optional) 1 k 3 Anwendungsklassen 3.2 Clustering Abb. 9: Schlechtes und gutes Clustering Wissensextraktion Folie 3-10 (61) Clustering 3 Anwendungsklassen 3.3 Numerische Vorhersage Wissensextraktion Folie 3-11 (62) Numerische Vorhersage Beispiel 3.2 (Clustern) Gegeben: I Finden homogener Kundengruppen zur gezielten Angebotsgestaltung I OCR: Finden von Buchstabengruppen, die ähnliche Bilder haben, um spezialisierte Klassifikatoren zu entwickeln k-Means-Algorithmus I Selbstorganisierende Neuronale Netze (z.B. Kohonen Map, Growing Neural Gas) Numerische Vorhersage Beispiel 3.3 (Numerische Vorhersage) I Vorhersage von Verkaufszahlen zur Lageroptimierung I Vorhersage von Aktienkursen I Zeitreihenanalyse Einige Verfahren: I Lineare Regression I Regressionsbäume I Neuronale Netze (Feed forward) Y Menge möglicher Zielwerte I E Menge von Beispielen (x , y ) ∈ X × Y , wobei y = f (x ) I I 3.3 Numerische Vorhersage X Menge möglicher Instanzenbeschreibungen I Gesucht: Einige Verfahren: 3 Anwendungsklassen I Wissensextraktion Folie 3-12 (63) Funktion y 0 = h(x ), so dass error (h, f ) → min. 3 Anwendungsklassen 3.4 Assoziationsanalyse Wissensextraktion Folie 3-13 (64) Assoziationsanalyse Assoziation beschäftigt sich mit der Erkennung und Quantifizierung von Zusammenhängen und Abhängigkeiten von Attributen. I unabhängig von der eigentlichen Klassifikation I Suche nach Zusammenhängen zwischen den Attributen Beispiel 3.4 (Assoziationsanalyse) Ein Versandhaus erkennt: I Wer A kauft, kauft häufig auch B. Also: Anpassung des Angebotsverhaltens 3 Anwendungsklassen Wissensextraktion 3.4 Assoziationsanalyse Folie 3-14 (65) Einordnung in das Data Mining Identifikation von Regelmäßigkeiten, Herausarbeiten von Regeln I Vorhersage des „Verhaltens“ neuer Datensätzen I Anwendungsgebiete: I I Wissensextraktion 3.5 Text Mining Folie 3-15 (66) Text Mining I I 3 Anwendungsklassen Text Mining beschäftigt sich mit der Analyse von Textdokumenten. Texte sind im Gegensatz zu Datenbanken und Web-Seiten unstrukturiert. Risikoabschätzung im Kreditwesen, Versicherungsbranche Spielanalyse gegnerischer Fußballmannschaften ... Einige Verfahren: I A-Priori-Verfahren I ART-Netze 3 Anwendungsklassen Wissensextraktion 3.6 Web Mining Folie 3-16 (67) Web Mining 3 Anwendungsklassen Wissensextraktion 3.6 Web Mining Folie 3-17 (68) Web Mining Web Mining Web Content Mining Web Content Mining Web Usage Mining Web Usage Mining Web Log Mining Integrated Web Usage Mining Abb. 10: Web Mining 3 Anwendungsklassen Wissensextraktion 3.6 Web Mining 4 Wissensrepräsentation Wissensextraktion Folie 3-18 (69) 26. Januar 2015 Web Log Mining Inhaltsverzeichnis Einführung Data Mining – Grundlagen I Internet bedeutende Plattform für die Abwicklung geschäftlicher Prozesse I Wichtig: Gute Web-Präsenz I Web Log Mining: Analyse des Nutzer-Verhaltens, um Rückschlüsse für Optimierung der Web-Präsenz zu ziehen. Anwendungsklassen Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Bewertung 4 Wissensrepräsentation Wissensextraktion 4 Wissensrepräsentation Wissensextraktion Folie 4-1 (72) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 4 Wissensrepräsentation Entscheidungstabellen Entscheidungsbäume Klassifikationsregeln Assoziationsregeln Instanzenbasierte Darstellung Cluster Wissensrepräsentation Quality is inversely proportional to the time left for completion of the project. Wright’s first law of quality. 1. Entscheidungstabellen 2. Entscheidungsbäume 3. Klassifikationsregeln 4. Assoziationsregeln 5. Instanzenbasierte Darstellung 6. Cluster 4 Wissensrepräsentation Wissensextraktion 4.1 Entscheidungstabellen Folie 4-2 (73) Entscheidungstabellen 4 Wissensrepräsentation Wissensextraktion 4.1 Entscheidungstabellen Folie 4-3 (74) Entscheidungstabellen Beispiel 4.1 (Entscheidungstabelle) In Tabelle 2 ist eine Entscheidungstabelle für das Golfspiel gegeben. outlook sunny sunny sunny sunny sunny overcast overcast overcast overcast rainy rainy rainy rainy rainy Eine Entscheidungstabelle ist die tabellarische Auflistung möglicher Bedingungen (Eingaben) und des gewünschten Ergebnisses (Ausgabe), das jeder Bedingung entspricht. temperature hot hot mild mild cool hot hot mild cool mild mild mild cool cool humidity high high high normal normal high normal high normal high normal high normal normal windy false true false true false false false true true false false true false true play no no no yes yes yes yes yes yes yes yes no yes no Tabelle 2: Entscheidungstabelle für Golf-Spiel 4 Wissensrepräsentation Wissensextraktion 4.2 Entscheidungsbäume Folie 4-4 (75) Entscheidungsbäume 4 Wissensrepräsentation Wissensextraktion 4.2 Entscheidungsbäume Folie 4-5 (76) Entscheidungsbäume Beispiel 4.2 (Golfspiel) In Abbildung 11 ist ein möglicher Entscheidungsbaum für das Golf-Beispiel angegeben. Repräsentationsform, bei der die Ergebnisse einer Bedingung verzweigt dargestellt werden. Diese Verzweigungen können wiederum andere Verzweigungen generieren. I graphisch aufbereitete Darstellung I Entscheidungen einfach nachvollziehbar outlook sunny yes humidity high normal no rainy overcast windy false yes true no yes Abb. 11: Entscheidungsbaum Golf-Spiel 4 Wissensrepräsentation Wissensextraktion 4.2 Entscheidungsbäume Folie 4-6 (77) Entscheidungsbäume 4 Wissensrepräsentation Wissensextraktion 4.3 Klassifikationsregeln Folie 4-7 (78) Klassifikationsregeln Die Einteilung in Klassen wird mittels Regeln dargestellt. I UND-verknüpfte Auswertung der Attribute I ODER-Verknüpfung mehrerer Regeln Beispiel 4.3 (Golfspiel) IF outlook = sunny AND humidity = high THEN play = no IF outlook = rainy AND windy = true THEN play = no Abb. 12: WEKA-Entscheidungsbaum Golf-Spiel 4 Wissensrepräsentation 4.4 Assoziationsregeln Assoziationsregeln Wissensextraktion Folie 4-8 (79) IF outlook = overcast THEN play = yes IF humidity = normal THEN play = yes IF none of the above THEN play = yes 4 Wissensrepräsentation 4.4 Assoziationsregeln Wissensextraktion Folie 4-9 (80) Warenkorbanalyse Warenkorbanalyse: In einem Supermarkt werden an der Kasse die Warenkörbe aller Kunden erfasst. I Suche nach Zusammenhängen zwischen den Attributen I unabhängig von der eigentlichen Klassifikation I Wenn Waschpulver gekauft wird, wird i. allg. auch Weichspüler gekauft: IF waschpulver THEN weichspüler I Wenn Fisch gekauft wird, wird i. allg. kein Fleisch gekauft: IF fisch THEN ¬ fleisch I Wenn Sekt gekauft wird, werden i. allg. auch Pralinen gekauft: IF sekt THEN pralinen 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-10 (81) 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-11 (82) 4.4.1 Einfache Assoziationsregeln Golfspiel Einfache Assoziationsregeln Beispiel 4.4 (Golfspiel) Man kann Assoziationsregeln auch folgendermaßen darstellen. I IF temperature = cool THEN humidity = normal IF humidity = normal AND windy = false THEN play = yes Menge von Aktionen T I Assoziationsregel: Implikation mit Angaben über die Häufigkeit ihres Auftretens in T I Prämisse A, Konsequenz B sind Konjunktionen von Elementen aus I (Itemsets), z.B. A = {I1 , I2 , I3 } und B = {I7 } IF outlook = sunny AND play = no THEN I humidity = high I IF windy = false AND play = no THEN outlook = sunny AND humidity = high 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-12 (83) 4.4.1 Einfache Assoziationsregeln Mengen von Items I I A ∩ B ≡ 0/ Form der Regel: A → B 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-13 (84) 4.4.1 Einfache Assoziationsregeln Einfache Assoziationsregeln Support und Konfidenz Support: relative Häufigkeit eines Itemsets in der Menge der Aktionen Die Regel supp(A → B ) = P (A ∪ B ) {bier, chips} → {tvzeitung} ist also als abkürzende Schreibweise für die Regel Konfidenz: relative Häufigkeit einer Regel in der Menge der Aktionen IF bier=yes AND . . . THEN . . . conf(A → B ) = zu verstehen. 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-14 (85) 4.4.1 Einfache Assoziationsregeln supp(A → B ) supp(A) 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-15 (86) 4.4.2 Schwellwerte Support und Konfidenz Schwellwerte Beispiel 4.5 (Support und Konfidenz) Wie hoch sind Support und Konfidenz der Regel IF temperature = cool THEN humidity = normal supp(temperature = cool → humidity = normal ) = P (A ∪ B ) = supp(temperature = cool ) = P (A) = conf(A → B ) = supp(A → B ) supp(A) = 4 14 4 14 4 14 4 14 I Bei großen Datenbanken: sehr viele Regeln (103 , 104 , . . .) möglich, I . . . auch seltene Regeln und Regeln mit geringer Konfidenz Lösung: I Einführung von Schwellwerten: suppmin , confmin I Festlegung durch Analysten Nicht jede unsinnige Regel ist damit zu verhindern: =1 {Person lebt} → {Person atmet} Die Regel ist also absolut sicher, sie hat einen Support von 27 . 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-16 (87) 4.4.2 Schwellwerte 4 Wissensrepräsentation 4.4 Assoziationsregeln 4.4.3 Arten von Assoziationsregeln Assoziationsregeln Arten von Assoziationsregeln Beispiel 4.6 (Assoziationsregeln) In Abb. 13 sind die WEKA-apriori-Assoziationsregeln dargestellt. Minimum support: 0.15 Minimum metric <confidence>: 0.9 Best rules found: 1. humidity=normal windy=FALSE 4 ==> play=yes 4 conf:1 2. temp=cool 4 ==> humidity=normal 4 conf:1 3. outlook=overcast 4 ==> play=yes 4 conf:1 4. temp=cool play=yes 3 ==> humidity=normal 3 conf:1 5. outlook=rainy windy=FALSE 3 ==> play=yes 3 conf:1 6. outlook=rainy play=yes 3 ==> windy=FALSE 3 conf:1 7. outlook=sunny humidity=high 3 ==> play=no 3 conf:1 8. outlook=sunny play=no 3 ==> humidity=high 3 conf:1 9. temp=cool windy=FALSE 2 ==> humidity=normal play=yes 2 conf:1 10. temp=cool humidity=normal windy=FALSE 2 ==> play=yes 2 conf:1 Abb. 13: Assoziationsregeln für Golf-Spiel I hierarchische Assoziationsregeln (Taxonomien) I temporale Assoziationsregeln (Sequenzanalyse) I quantitative Assoziationsregeln I unscharfe Assoziationsregeln Wozu weitere Arten? I Verbessern der Aussagekraft von Regeln I Genauere Vorhersagen (Zahlen, Ausprägungen) I Anpassen an Problemgebiet Wissensextraktion Folie 4-17 (88) 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-18 (89) 4.4.3 Arten von Assoziationsregeln 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-19 (90) 4.4.3 Arten von Assoziationsregeln Hierarchische Assoziationsregeln Quantitative Assoziationsregeln Idee: I Gruppierung von Items und Itemsets I Generalisierung (vergleichbar Vererbung in OO) Idee: Beispiel 4.7 (Hierarchische Assoziationsregeln) Messer, Gabel → Besteck Doppelpass, Flanke → Angriff I Aufnahme konkreter Attributausprägungen (Zahlen, Zeichenketten) I Vorhersage von Einkommen, Kinderzahl, . . . Vorgehen: 1. Einteilung des Wertebereichs in Intervalle (Klassifizierung). Ergebnis: 2. Für jedes Intervall wird ein neuer Begriff geschaffen. I Reduktion der Anzahl der Regeln I Erhöhung der Support-Werte I Algorithmus: Einfügen der Oberbegriffe als Items 3. Die originalen Begriffe werden durch die neuen ersetzt. 4 Wissensrepräsentation Wissensextraktion 4.4 Assoziationsregeln Folie 4-20 (91) 4.4.3 Arten von Assoziationsregeln 4 Wissensrepräsentation 4.4 Assoziationsregeln Wissensextraktion Folie 4-21 (92) 4.4.3 Arten von Assoziationsregeln Quantitative Assoziationsregeln Unscharfe Assoziationsregeln Beispiel 4.8 (Quantitative Assoziationsregeln) Alter 23 28 34 45 65 Anzahl Kinder 0 1 0 2 5 Einkommen 2000 2500 4500 3500 4000 Problem: I starre Intervallgrenzen der quantitativen Regeln I Ausreißer, Messfehler (Physik, Messdaten) Lösung: I sprachliche Begriffe statt fester Intervallgrenzen, z.B.: jung, alt, früh, spät I Zuordnung zu Gruppen nach Fuzzy-Logik-Methoden Neue Klassifizierung: I Alter: [0, 29], [30, 49], [50, ∞) I Kinder: [0, 1], [2, ∞) I Einkommen: [0, 2999], [3000, ∞) (Alter ∈ [0, 29], Einkommen ∈ [0, 2999]) → (Kinder = 0/1) 4 Wissensrepräsentation 4.4 Assoziationsregeln Wissensextraktion Folie 4-22 (93) 4.4.3 Arten von Assoziationsregeln 4.4 Assoziationsregeln Idee: Ein Call-Center plant, Daten der eingehenden Anrufe zu speichern, (u.a.): Zeitpunkt, an dem der Anruf angenommen wurde. Ziel: Sortierung der Anrufe nachTageszeiten I Erfassung zeitlich abhängiger Aktionen I Beispiel: hoher Bierkonsum am Freitag → hoher Konsum von Kopfschmerztabletten am Samstag Umsetzung: I z.B.: Nacht, Morgen, Nachmittag und Abend. I Temporale Datenbanken I Das Intervall Nacht endet um 6 Uhr, ihm folgt das Intervall Morgen. Der Morgen endet um 12 Uhr und geht in den Nachmittag über usw. I Regeln als Schnappschüsse aktueller Zusammenhänge I Beobachtung der Veränderungen der Zusammenhänge Anwendung: Logfile-Analyse Überschneidungen durch Fuzzy-Modelle darstellbar. 4.5 Instanzenbasierte Darstellung Folie 4-23 (94) Temporale Assoziationsregeln Beispiel 4.9 (Unscharfe Assoziationsregeln) 4 Wissensrepräsentation Wissensextraktion 4.4.3 Arten von Assoziationsregeln Unscharfe Assoziationsregeln I 4 Wissensrepräsentation Wissensextraktion Folie 4-24 (95) Instanzenbasierte Darstellung Bei der instanzenbasierten Darstellung werden – ähnlich wie beim Auswendiglernen – einfach alle Individuen gespeichert, z.B. in einer relationalen Datenbank. 4 Wissensrepräsentation 4.6 Cluster Wissensextraktion Folie 4-25 (96) Cluster Wird eine Grundgesamtheit in Teilmengen zerlegt, deren Individuen zueinander ähnlicher als zu den Individuen der anderen Teilmengen sind, bezeichnet man diese Teilmengen als Cluster. 4 Wissensrepräsentation Wissensextraktion 4.6 Cluster Folie 4-26 (97) Cluster 4 Wissensrepräsentation Wissensextraktion 4.6 Cluster Folie 4-27 (98) Cluster Bedingungen I Individuen innerhalb eines Clusters zueinander ähnlich I Individuen unterschiedlicher Clusters zueinander unähnlich Medoid x Centroid Darstellung I Instanzenbasiert I Cluster-Zentrum (Codebook-Vector): Centroid oder Medoid I über Wahrscheinlichkeitsverteilungen Abb. 14: Centroid und Medoid 4 Wissensrepräsentation Wissensextraktion 4.6 Cluster 5 Methoden und Verfahren Wissensextraktion Folie 4-28 (99) 26. Januar 2015 Cluster Inhaltsverzeichnis k-Means ====== Number of iterations: 4 Within cluster sum of squared errors: 26.0 Cluster centroids: Cluster 0 Mean/Mode: sunny mild high FALSE yes Std Devs: N/A N/A N/A N/A N/A Cluster 1 Mean/Mode: overcast cool normal TRUE yes Std Devs: N/A N/A N/A N/A N/A Clustered Instances 0 10 ( 71%) 1 4 ( 29%) Abb. 15: Cluster für das Wetter-Beispiel 5 Methoden und Verfahren Einführung Data Mining – Grundlagen Anwendungsklassen Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Bewertung Wissensextraktion 5 Methoden und Verfahren Wissensextraktion Folie 5-1 (102) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 5 Methoden und Verfahren Methoden und Verfahren Instanzenbasiertes Lernen Entscheidungsbaumlernen Verfahren zur Assoziationsanalyse Lineare Regression Überwachte und selbstorganisierende unüberwachte neuronale Netze Verfahren zur Clusterbildung Naive Bayes 5 Methoden und Verfahren Wissensextraktion A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long. Golub’s Second Law of Computerdom 5 Methoden und Verfahren Wissensextraktion Folie 5-2 (103) Hinweis Bei den studentischen Projekten (unter meiner Homepage) findet man eine Reihe von Verfahren erläutert. Benutzen Sie ebenso den ILIAS-Modul Data Mining. Folie 5-3 (104) Verfahren – Übersicht Instanzenbasiertes Lernen k Nearest Neighbour Entscheidungsbaumlernen a priori Lineare Regression Überwachte Neuronale Netze Selbstorganisierende Neuronale Netze k-means Naive Bayes K l a s s i f i k a t i o n x x x A s s o z i a t i o n N u m e r . C l u s t e r i n g V o r h e r s a g e (x) (x) (x) x x (x) x T e x t W e b M i n i n g M i n i n g x x x x x x x x Tabelle 3: Data-Mining-Verfahren und Anwendungsklassen 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-4 (105) 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-5 (106) 5.1.1 k Nearest Neighbour Instanzenbasiertes Lernen k Nearest Neighbour y I einfachstes Verfahren I Speicherung aller bekannten Individuen I Suche des ähnlichsten Individuums I Dessen Klasse wird vorhergesagt. x Abb. 16: Beispiel k Nearest Neighbour 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-6 (107) 5.1.1 k Nearest Neighbour 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-7 (108) 5.1.2 Der kNN-Algorithmus k Nearest Neighbour Der kNN-Algorithmus I instanzenbasiertes Verfahren I Lernschritt: Beispielobjekte nur gespeichert I Sei f (x ) die zu erlernende Funktion. I Klassifikationsschritt: Unbekannte Objekte werden über Ähnlichkeit zu gespeicherten Beispielen klassifiziert. I Für jedes Trainingsbeispiel (x , f (x )) speichere das Beispiel in einer Liste Trainingsbeispiele. I Komplexität des Verfahrens nur durch den Klassifikationsschritt Der Lernschritt beim kNN-Lernen ist sehr einfach. 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-8 (109) 5.1.2 Der kNN-Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-9 (110) 5.1.2 Der kNN-Algorithmus kNN – Diskrete Funktion kNN Beispiel 5.1 (kNN) I I I V := {v1 , v2 , ..., vm } eine endliche Menge (Zielattributwerte) zu erlernende Funktion: f : ℜn → V zu klassifizierendes Beispiel: y Für alle xi in der Menge Trainingsbeispiele berechne die Ähnlichkeit zu y . Wähle diejenigen k Beispiele x1 , x2 , . . . , xk aus, die zu y am ähnlichsten sind. k klasse(y ) := max v ∈V ∑ δ(v , f (xp )) mit δ(a, b) := p =1 1, falls a=b 0, sonst Nr 1 2 3 4 5 6 7 8 Alter alt alt mittel mittel jung jung jung alt verheiratet ja ja nein ja nein ja ja nein Eigenheim ja nein nein ja nein nein ja ja Akademiker ja nein nein ja nein nein ja nein Einkommen hoch gering gering hoch gering mittel mittel hoch Einkommen für jung/verheiratet/ohne Eigenheim/Akademiker. k=2. 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-10 (111) 5.1.2 Der kNN-Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-11 (112) 5.1.2 Der kNN-Algorithmus kNN kNN – Reellwertige Funktion Beispiel 5.1 cont. Nr neu 1 2 3 4 5 6 7 8 Alter jung alt alt mittel mittel jung jung jung alt verheiratet ja ja ja nein ja nein ja ja nein Eigenheim nein ja nein nein ja nein nein ja ja Datensätze 6 und 7: Gehaltsgruppe mittel. Akademiker ja ja nein nein ja nein nein ja nein Abstand 2 2 3 2 2 1 1 4 I analog diskreter Fall I Zurückgegeben wird der Mittelwert Für alle xi in der Menge Trainingsbeispiele berechne die Ähnlichkeit zu y . Wähle diejenigen k Beispiele x1 , x2 , . . . , xk aus, die zu y am ähnlichsten sind. k ∑ f (xp ) f’(y ) := p=1 k 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-12 (113) 5.1.3 Ein verfeinerter Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-13 (114) 5.1.3 Ein verfeinerter Algorithmus kNN – Ein verfeinerter Algorithmus Diskrete Funktionen I I Schwäche von kNN: alle k Beispiele sind gleichgewichtet I geringer (euklidischer) Abstand = hohe Ähnlichkeit I also: Gewichte einführen I Shepard’s method als Gewicht: das Inverse des Quadrats der Distanz Sei wieder V := {v1 , v2 , ..., vm } die Menge aller Werte, die das Zielattribut annehmen kann. Für alle xi in der Menge Trainingsbeispiele berechne die Ähnlichkeit zu y . Wähle diejenigen k Beispiele x1 , x2 , . . . , xk aus, die zu y am ähnlichsten sind. klasse(y ) := f (xi ) falls y = xi für ein i k ∑ wp × δ(v , f (xp )) max v ∈V sonst p=1 mit δ(a, b) := 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-14 (115) 5.1.3 Ein verfeinerter Algorithmus f (xi ) k falls y = xi für ein i ∑ wp ×f (xp ) p =1 sonst k ∑ wp p =1 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-16 (117) 5.1.4 Anmerkungen 1 . dist(y ,xp )2 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-15 (116) I Für k 1 arbeitet der kNN-Algorithmus i. allg. auch bei verrauschten Trainingsdaten sehr gut. I Im Gegensatz beispielsweise zum Entscheidungsbaum werden alle Attribute in die Berechnung einbezogen. I Die Auswahl der Trainingsdaten verdient einige Beachtung. So ist z.B. von Bedeutung, dass die Trainingsvektoren den Lösungsraum möglichst gleichmäßig aufspannen. 5 Methoden und Verfahren Wissensextraktion 5.1 Instanzenbasiertes Lernen Folie 5-17 (118) 5.1.4 Anmerkungen Aufgabe 5.1 cont. Aufgabe 5.1 (kNN) Klassifizieren Sie folgende Datensätze mittels kNN. I I I I I I I I wp := 1 . dist(y ,xp )2 mit wp := Alt. ja ja nein und Anmerkungen Für alle xi in der Menge Trainingsbeispiele berechne die Ähnlichkeit zu y . Wähle diejenigen k Beispiele x1 , x2 , . . . , xk aus, die zu y am ähnlichsten sind. 1, falls a=b 0, sonst 5.1.4 Anmerkungen Reellwertige Funktionen f’(y ) := Fr/Sa nein ja nein Hung. ja ja nein Gäste einige voll keine Reserv. nein ja nein Typ Franz. Chin. Burger Zeit 30-60 10-30 0-10 Warten Alternative: Gibt es ein geeignetes anderes Restaurant? (ja/nein) Fr/Sa: Ist Freitag oder Samstag? (ja/nein) Hungrig: Bin ich hungrig? (ja/nein) Gäste: Wieviele Leute sind im Restaurant? (keine/einige/voll) Reservierung: Habe ich reserviert? (ja/nein) Typ: Um welche Art von Restaurant handelt es sich? Wartezeit: Welche Wartezeit wird vom Restaurant geschätzt? Warten (Zielattribut): Warte ich, wenn alle Tische besetzt sind? Alt. ja ja nein ja ja nein nein nein nein ja nein ja Fr/Sa nein nein nein ja ja nein nein nein ja ja nein ja Hung. ja ja nein ja nein ja nein ja nein ja nein ja Gäste einige voll einige voll voll einige keine einige voll voll keine voll Reserv. ja nein nein nein ja ja nein ja nein ja nein nein Typ Franz. Chin. Burger Chin. Franz. Ital. Burger Chin. Burger Ital. Chin. Burger Zeit 0-10 30-60 0-10 10-30 >60 0-10 0-10 0-10 >60 10-30 0-10 30-60 Warten ja nein ja ja nein ja nein ja nein nein nein ja Tabelle 4: Restaurant-Beispiel 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-18 (119) 5.2.1 Erzeugen eines Entscheidungsbaums Entscheidungsbaumlernen – Algorithmus I Gegeben: Beispielmenge E und Attributmenge A Auswählen eines Attributs a ∈ A Erzeugen der mit a markierten Baumwurzel Für jede Ausprägung ω ∈ ωa (ωa = Ausprägungsmenge von a) 1. Erzeugen einer mit ω markierten Kante 2. Generieren der Beispiel-Menge E ω ⊂ E : ∀e ∈ E ω : ωa (e) = ω 3. I I Wenn E ω = 0/ : Beenden der Kante mit NIL Sonst: Wenn alle Beispiele e ∈ E ω in derselben Klasse k sind: Kante mit Blatt k abschließen Sonst: 3.1 Erzeugen eines Entscheidungsbaums aus Attributmenge A0 = A \ {a} und Beispielmenge E ω 3.2 Einhängen dieses Baums am Kantenende 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-19 (120) 5.2.1 Erzeugen eines Entscheidungsbaums Entscheidungsbaumlernen – Golfspiel Tag 1 2 3 4 5 6 7 8 9 10 11 12 13 14 outlook sunny sunny overcast rainy rainy rainy overcast sunny sunny rainy sunny overcast overcast rainy temperature hot hot hot mild cool cool cool mild cool mild mild mild hot mild humidity high high high high normal normal normal high normal normal normal high normal high Tabelle 5: Daten Golfspiel windy false true false false false true true false false false true true false true play no no yes yes yes no yes no yes yes yes yes yes no 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-20 (121) 5.2.1 Erzeugen eines Entscheidungsbaums 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-21 (122) 5.2.2 Auswahl eines Attributs Entscheidungsbaumlernen – Golfspiel Auswahl eines Attributs Wurzelattribut (a) outlook Ausprägungen von outlook E sunny sunny E = alle Daten overcast rainy E = Datensätze 1,2,8,9,11 yes humidity yes no = Datensätze 4,5,6,10,14 windy manuell (durch Benutzer) zufällig berechnet 3,7,12,13 normal false high rainy true yes no Abb. 17: Entscheidungsbaum Golf-Spiel 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-22 (123) 5.2.2 Auswahl eines Attributs 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-23 (124) 5.2.3 Metrische Attribute Automatische Attributwahl Metrische Attribute Beispiel 5.2 (Automatische Attributwahl) I Attribut mit lokal bester Klassifikationsleistung I probeweise Teilung an allen Attributen I Vorhersage der Mehrheitsklasse I Auswahl des Attributs mit der geringsten Fehlerrate errora error(ωa ) = errora = ∑( i Für jede Ausprägung (d.h. jede vorkommende Zahl) eine eigene Kante ? → Unsinnig !! Lösung: falsch Wissensextraktion Folie 5-24 (125) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums frühere Kreditwürdigkeit schlecht unbekannt unbekannt unbekannt unbekannt unbekannt schlecht schlecht gut gut gut gut gut schlecht Verschuldung hoch hoch niedrig niedrig niedrig niedrig niedrig niedrig niedrig hoch hoch hoch hoch hoch 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-25 (126) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID3-Algorithmus zur Entscheidungsbaumgenerierung 1 2 3 4 5 6 7 8 9 10 11 12 13 14 nur 2 Kanten (kleiner / größer Schwellwert) |Aωai | ∗ error(ωai )) → min. |A| 5.2 Entscheidungsbaumlernen Zielattr. Risiko hoch hoch mittel hoch niedrig niedrig hoch mittel niedrig niedrig hoch mittel niedrig hoch Zusammenfassung zu Intervallen Schwellwerte alle 5 Methoden und Verfahren Nr. Gruppierung Sicherheiten keine keine keine keine keine angemessen keine angemessen keine angemessen keine keine keine keine ID3-Algorithmus zur Entscheidungsbaumgenerierung Einkommen 0 bis 15 15 bis 35 15 bis 35 0 bis 15 über 35 über 35 0 bis 15 über 35 über 35 über 35 0 bis 15 15 bis 35 über 35 15 bis 35 Tabelle 6: Kreditrisiko Abb. 18: Entscheidungsbaum 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-26 (127) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID3-Algorithmus zur Entscheidungsbaumgenerierung 5 Methoden und Verfahren 5.2 Entscheidungsbaumlernen Wissensextraktion Folie 5-27 (128) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID3-Algorithmus zur Entscheidungsbaumgenerierung Welcher Baum ist für die Klassifikation der unbekannten Datensätze optimal? Der ID3-Algorithmus unterstellt, dass dies der einfachste Baum ist. Abb. 19: Entscheidungsbaum 2 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-28 (129) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-29 (130) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID3-Algorithmus zur Entscheidungsbaumgenerierung FUNCTION induce_tree(Beispielmenge Ex, Attribute Attr) IF alle Eintraege aus Ex gehoeren zur gleichen Klasse THEN RETURN Blattknoten mit Beschriftung dieser Klasse ELSE Waehle ein Attribut A aus Attr; Setze A als Wurzel fuer den aktuellen Baum; Loesche A aus Attr; FOREACH Wert AV von A Erstelle Kante im Baum mit Kantenbeschriftung AV; Seien Ex_AV alle Elemente von Beispielmenge Ex, die als Wert fuer A gerade AV haben; Ergebnis der Kante AV := induce_tree(Ex_AV,Attr); END FOREACH; END IF; END. Auswahl eines geeigneten Attributs ? I Grundlage: Informationstheorie I Wahl des Attributs, das den größten Informationsgewinn liefert. Der Informationsgehalt eines Attributs B wird gemessen als: k I (B ) = ∑ −p(bi ) × log2 (p(bi )) i =1 I Dabei stellen die bi die möglichen Werte des Attributs B dar. I p ist die Wahrscheinlichkeit (besser: relative Häufigkeit) für das Eintreffen von bi . Abb. 20: Algorithmus Entscheidungsbaum 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-30 (131) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-31 (132) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums Informationsgehalt der Kredit-Tabelle ID 3 und maximaler Informationsgewinn Man wählt das Attribut mit dem maximalen Informationsgewinn. I(Tabelle) 6 14 3 = 14 I p(Risiko hoch) = I p(Risiko mittel) I unbekannt p(Risiko niedrig) = 6 14 schlecht gut 5 14 Teiltabelle 1 Folglich ist I (Risiko) = I (Tabelle) = − Alle Datensätze Kreditwürdigkeit ? × log2 ( 6 14 )− 3 14 × log2 ( 3 14 5 )− × log2 ( 14 5 14 ) = 1, 531 Teiltabelle 2 Teiltabelle 3 Kreditwürdigkeit = gut Kreditwürdigkeit = unbekannt Kreditwürdigkeit = schlecht G(Kreditwürdigkeit) Abb. 21: Informationsgewinn Informationsgewinn = I (Tabelle) − G(Kreditwürdigkeit) 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-32 (133) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums I I Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-33 (134) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID 3 und Informationsgewinn I 5 Methoden und Verfahren ID 3 und Informationsgewinn Beispielmenge E (die komplette DB) gegeben. I Wählen zunächst Kreditwürdigkeit als Attribut. Wählt man ein Attribut B mit n Ausprägungen aus, so wird E in n Teilmengen (Teildatenbanken) zerlegt: {E1 , . . . , En }. I Kreditwürdigkeit hat 3 Ausprägungen: unbekannt, schlecht, gut. I Für jeden Wert zählen wir, wie oft welches Risiko vorkommt: Mit B als Wurzel des Baums ist die zur Fertigstellung des Baums voraussichtlich erforderliche Informationsmenge: n G(B ) = Wert unbekannt schlecht gut |Ej | ∑ |E | I (Ej ) j =1 G (gain) ist die gewichtete Summe der Einzelinformationen. Der Gewinn an Information wird dann berechnet als: n Es gilt, gewinn zu maximieren. Dazu geht man alle Attribute durch und wählt jenes aus, das den maximalen Gewinn liefert. 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-34 (135) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums hoch = 2x I= mittel = 1x niedrig = 2x 1,52 |E | G(Kreditwürdigkeit) = ∑ |Ej| I (Ej ) = 5 14 j =1 4 5 × 1, 52 + 14 × 0, 81 + 14 × 1, 37 = 1, 265 5 Methoden und Verfahren 5.2 Entscheidungsbaumlernen Wissensextraktion Folie 5-35 (136) ID 3 – Beispiel Gesamte Tabelle Kreditwürdigkeit ? schlecht 4x (14) hoch = 6x mittel = 3x niedrig = 5x gut 5x I I I Teiltabelle 1 Kreditwürdigkeit = unbekannt niedriges Risiko 2 0 3 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums ID 3 und Gain-Berechnung unbekannt 5x mittleres Risiko 1 1 1 I (Kreditw_unbek) = − 25 × log2 ( 25 ) − 15 × log2 ( 15 ) − 25 × log2 ( 25 ) = 1, 52 I (Kreditw_schlecht) = − 43 × log2 ( 34 ) − 41 × log2 ( 14 ) = 0, 81 I (Kreditw_gut) = − 15 × log2 ( 15 ) − 15 × log2 ( 51 ) − 35 × log2 ( 35 ) = 1, 37 gewinn(B ) = I (E ) − G(B ) I(Tabelle) = 1,531 hohes Risiko 2 3 1 Teiltabelle 2 ... = schlecht hoch = 3x I= mittel = 1x niedrig = 0x 0,81 Teiltabelle 3 ... = gut hoch = 1x I = mittel = 1x niedrig = 3x 1,37 G(Kreditwürdigkeit) = 5/14 * 1,52 + 4/14 * 0,81 + 5/14 * 1,37 Abb. 22: Gain-Berechnung I gewinn(kreditwuerdigkeit) = 1, 531 − 1, 265 = 0, 266 gewinn(einkommen) = 1, 531 − 0, 564 = 0, 967 gewinn(verschuldung) = 1, 531 − 1, 468 = 0, 063 gewinn(sicherheiten) = 1, 531 − 1, 325 = 0, 206 Man wählt nun einkommen als obersten Knoten, da der Gewinn dort am größten ist, und setzt das Verfahren für jeden Teilbaum rekursiv fort. 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-36 (137) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums I nur noch die Datensätze, wo einkommen=15-35 gilt I Spalte für Einkommen eigentlich nun unnötig 2 3 12 14 Zielattr. Risiko hoch mittel mittel hoch frühere Kreditwürdigkeit unbekannt unbekannt gut schlecht Verschuldung hoch niedrig hoch hoch Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-37 (138) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums Fortsetzung für Zweig einkommen=15-35 Nr. 5 Methoden und Verfahren Sicherheiten keine keine keine keine Informationsgehalt der reduzierten Kredit-Tabelle Einkommen 15 bis 35 15 bis 35 15 bis 35 15 bis 35 2 4 2 4 I p(Risiko hoch) = I p(Risiko mittel) = I p(Risiko niedrig) = 0 4 Folglich ist I (Risiko) = 2 2 2 2 0 0 I (Tabelle2) = − × log2 ( ) − × log2 ( ) − × log2 ( ) = 1 4 4 4 4 4 4 Tabelle 7: Kreditrisiko 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-38 (139) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-39 (140) 5.2.4 Der ID3-Algorithmus zur Erzeugung eines Entscheidungsbaums Attribut mit maximalem Informationsgewinn Der Gini-Index Der Gini-Index ist das Äquivalent zum Informationsgehalt einer Tabelle bezüglich eines Zielattributs B: Nun wählt man wieder das Attribut aus, das den maximalen Informationsgewinn erzielt. I I I k gini(B ) = 1 − gewinn(kreditwuerdigkeit) = 1 − 0, 5 = 0, 5 gewinn(verschuldung) = 1 − 0, 6887 = 0, 3113 gewinn(sicherheiten) = 1 − 1 = 0 Man wählt folglich kreditwuerdigkeit als nächsten Knoten, da der Gewinn dort am größten ist. ∑ p ( bi ) 2 i =1 I Dabei stellen die bi die möglichen Werte des Attributs B dar. I p ist die Wahrscheinlichkeit (besser: relative Häufigkeit) für das Eintreffen von bi . Analog zum Gain definiert man dann n GINI(B ) = |Ej | ∑ |E | gini(Ej ) j =1 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-40 (141) 5.2.5 C4.5-Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-41 (142) 5.2.5 C4.5-Algorithmus C4.5-Algorithmus ISplit Bemerkung 5.1 (ISplit) I Wesentlicher Nachteil des ID3-Algorithmus: kann nicht mit numerischen Attributen umgehen I C4.5 (Nachfolger von ID3) kann dies. I Numerische Attribute in Intervalle unterteilt → ordinale Attribute I I Der ID3-Algorithmus hat einen weiteren Nachteil: Die Sortierung der Attribute favorisiert Attribute mit vielen verschiedenen Ausprägungen. Deshalb normalisiert C4.5 den Informationsgewinn. Sei: n ISplit (B ) = − Betrachten Attribut A mit n Ausprägungen A1 , . . . , An Für jedes i: Bilden Intervalle [a|a ≤ Ai ] und [a|a > Ai ] |Ej | j =1 Der Gewinn an Information wird dann normalisiert: I 2 Intervalle: neue (ordinale) Ausprägungen des Attributs A I Wählen die Intervallbildung, die den größten Gewinn liefert. 5 Methoden und Verfahren |Ej | ∑ |E | × log2 ( |E | ) gewinn’(B ) = Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-42 (143) 5.2.5 C4.5-Algorithmus gewinn(B ) ISplit (B ) 5 Methoden und Verfahren 5.2 Entscheidungsbaumlernen 5.2.5 C4.5-Algorithmus ISplit ISplit Beispiel 5.3 (ISplit) Beispiel 5.3 cont. Betrachten Ausschnitt aus einer Kino-Besuch-Datenbank. Gain: Preis 8 5 5 9 8 8 4 5 8 8 9 8 Kino besucht j n j j n j j n n j j n Variante 1: I I Variante 2: 4/5 ⇒ billig: 4 Ausprägungen I 8/9 ⇒ teuer: 8 Ausprägungen I I I 4 ⇒ billig: 1 Ausprägung 5 ⇒ moderat: 3 Ausprägungen 8 ⇒ teuer: 6 Ausprägungen 9 ⇒ sehr teuer: 2 Ausprägungen I Variante 1: 0,97 I Variante 2: 0,73 Damit wird der Gewinn bei Variante 2 größer sein. Typischer Effekt: Attribute mit vielen Ausprägungen bevorzugt. Deshalb: Dividieren Informationsgewinn durch den ISplit: I ISplit Variante 1: 0,92 I ISplit Variante 2: 1,73 Größerer ISplit reduziert den Gewinn für Variante 2 stärker. Wissensextraktion Folie 5-43 (144) 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-44 (145) 5.2.6 Probleme 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-45 (146) 5.2.6 Probleme Probleme ACHTUNG !! I I. allg. großes Problem: Entscheidungsbaum kann ALLE Trainingsdaten korrekt klassifizieren, I . . . aber auf den Testdaten nicht gut funktionieren. I Entscheidungsbaum hat Trainingsdaten auswendig gelernt. I Effekt wird Overfitting genannt. I Verkürzen der Bäume nötig: I I Entscheidungsbaum wird Trainingsdaten häufig nicht zu 100% korrekt vorhersagen, durch: Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-46 (147) 5.2.7 Ergänzungen ID3 – Top down induction of decision trees (TDIDT). I Es wird univariater Baum erzeugt. (An jedem Knoten wird exakt ein Attribut abgefragt.) I Es gibt auch Verfahren, die multivariate Entscheidungsbäume generieren. I Jetzt können in einem Knoten mehrere Attribute benutzt werden. I 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-47 (148) Aufgaben I I widersprüchliche Daten. 5.2.8 Aufgaben Ergänzungen I das Reduzieren der Tiefe des Baums (s.o.) oder I Keine weiteren Unterbäume, wenn eine bestimmte Anzahl von Trainingsdaten unterschritten wird. Ersetzen bereits generierter Unterbäume durch ein Blatt. 5 Methoden und Verfahren I I Z.B. als Linearkombination von Attributen: Gewicht + 2 * Größe < 70. Schnitte im Merkmalsraum linear, aber nicht mehr achsenparallel. Auch nichtlineare Ausdrücke abfragbar: Gewicht / (Größe*Größe) < 25. Nun sind die Schnitte im Merkmalsraum beliebig kurvig. I Vorteil: meist genauer und kleiner. I Nachteil: schwieriger zu bauen und auch schwerer lesbar 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-48 (149) 5.2.8 Aufgaben Aufgabe 5.2 (Golfspiel) Bestimmen Sie aus den folgenden Daten einen Entscheidungsbaum für das Attribut ‘Play?’, welches angibt, ob unter den gegebenen Witterungsbedingungen Golf gespielt wird. Wählen Sie bei gleicher Güte zweier Attribute das in der Tabelle weiter links stehende. Wie gehen Sie mit den numerischen Werten um? 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-49 (150) 5.2.8 Aufgaben Golfbeispiel Restaurantbeispiel Aufgabe 5.3 (Restaurant) Aufgabe 5.2 cont. Outlook sunny sunny overcast rain rain rain overcast sunny sunny rain sunny overcast overcast rain Temp (◦ F) 85 80 83 70 68 65 64 72 69 75 75 72 81 71 Humidity (%) 85 90 78 96 80 70 65 95 70 80 70 90 75 80 Windy? false true false false false true true false false false true true false true Tabelle mit diesen Attributen: Play? no no yes yes yes no yes no yes yes yes yes yes no Tabelle 8: Daten Golfspiel 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-50 (151) 5.2.8 Aufgaben I Alternative: Gibt es in der Nähe ein anderes Restaurant? (ja/nein) I Fr/Sa: Ist Freitag oder Samstag? (ja/nein) I Hungrig: Bin ich hungrig? (ja/nein) I Gäste: Wieviele Leute sind im Restaurant? (keine/einige/voll) I Reservierung: Habe ich reserviert? (ja/nein) I Typ: Um welche Art von Restaurant handelt es sich? (Franz./Chin./Ital./Burger) I Wartezeit: Welche voraussichtliche Wartezeit wird vom Restaurant geschätzt? (0-10/10-30/30-60/>60) I Warten (Zielattribut): Warte ich, wenn alle Tische besetzt sind? (ja/nein) 5 Methoden und Verfahren Wissensextraktion 5.2 Entscheidungsbaumlernen Folie 5-51 (152) 5.2.8 Aufgaben Restaurantbeispiel Restaurantbeispiel Aufgabe 5.3 cont. Aufgabe 5.3 cont. Generieren Sie einen Entscheidungsbaum und klassifizieren Sie nachfolgende Datensätze. Alt. ja ja nein Fr/Sa nein ja nein Hung. ja ja nein Gäste einige voll keine Reserv. nein ja nein Typ Franz. Chin. Burger Zeit 30-60 10-30 0-10 Warten Alt. ja ja nein ja ja nein nein nein nein ja nein ja Fr/Sa nein nein nein ja ja nein nein nein ja ja nein ja Hung. ja ja nein ja nein ja nein ja nein ja nein ja Gäste einige voll einige voll voll einige keine einige voll voll keine voll Reserv. ja nein nein nein ja ja nein ja nein ja nein nein Typ Franz. Chin. Burger Chin. Franz. Ital. Burger Chin. Burger Ital. Chin. Burger Tabelle 9: Daten Restaurantbeispiel Zeit 0-10 30-60 0-10 10-30 >60 0-10 0-10 0-10 >60 10-30 0-10 30-60 Warten ja nein ja ja nein ja nein ja nein nein nein ja 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-52 (153) 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-53 (154) 5.3.1 Der A-Priori-Algorithmus Verfahren zur Assoziationsanalyse Der A-Priori-Algorithmus Der A-Priori-Algorithmus Wir wenden uns nun der Aufgabe zu, Assoziationsregeln zu finden. Der Standard-Algorithmus ist der A-Priori-Algorithmus. 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-54 (155) 5.3.1 Der A-Priori-Algorithmus I gehört zu den wichtigsten iterativen Verfahren I Grundlage AIS-Algorithmus 1993 Ziel: I Finden von Frequent Itemsets I Itemsets, deren Support über suppmin 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-55 (156) 5.3.1 Der A-Priori-Algorithmus Vorgehensweise Generierung der Kandidaten Der A-Priori-Algorithmus wird in zwei Schritten vollzogen: 1. Finden von Frequent Itemsets (Kandidaten) mit ausreichendem Support 2. Erzeugen von Assoziationsregeln aus allen Frequent Itemsets 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-56 (157) 5.3.1 Der A-Priori-Algorithmus Diese Phase läuft in zwei Teilschritten ab: I Join-Phase I Pruning-Phase 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-57 (158) 5.3.1 Der A-Priori-Algorithmus Join- und Pruning-Phase A Priori – Beispiel Join-Phase: I Erzeugen von Frequent Itemsets der Länge k mit k > 2 Beispiel 5.4 (A priori) I paarweises Verbinden aller (k − 1)-langen Sets, die sich in einem Element unterscheiden Betrachten Kinobesuche. Wer geht gern mit wem ? I Ergebnis: k -elementige Menge, in der zwei Teilmengen Frequent Itemsets sind Pruning-Phase: I Zerlegen der Frequent Itemsets in Teilmengen I Test, ob alle diese Teilmengen Frequent Itemsets sind (Monotonieeigenschaft) I Algorithmus endet, wenn keine Frequent Itemsets mehr gefunden werden 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-58 (159) 5.3.1 Der A-Priori-Algorithmus Kinobesucher Anne, Claudia, Ernst Anne, Ernst, Gudrun Anne, Claudia, Ernst, Franz, Gudrun Anne, Claudia, Horst Bernd, Claudia, Ernst, Franz, Gudrun Bernd, Claudia, Ernst, Gudrun, Horst 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-59 (160) 5.3.1 Der A-Priori-Algorithmus A Priori – Beispiel A Priori – Beispiel Beispiel 5.4 cont. Beispiel 5.4 cont. Nun bilden wir 2er FIS: Wir fordern als minimalen Support: 50%. Anne Bernd Claudia Kinobesuch-ID k1 k2 k3 k4 k5 k6 4 2 5 66% 33% 83% Ernst Franz Gudrun Horst 5 2 4 2 83% 33% 66% 33% Bernd, Franz und Horst erfüllen nicht den minimalen Support. Anne, Claudia Anne, Ernst Anne, Gudrun Claudia, Ernst Claudia, Gudrun Ernst, Gudrun 50% 50% 33% 66% 50% 66% (1) (2) (3) (4) (5) (6) Einer dieser 6 Kandidaten erfüllt den Support nicht. 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-60 (161) 5.3.1 Der A-Priori-Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-61 (162) 5.3.1 Der A-Priori-Algorithmus A Priori – Beispiel A Priori – Erzeugen der Regeln Beispiel 5.4 cont. 3er Kandidaten: 1+4 1+5 2+6 4+5 Anne, Claudia, Ernst Anne, Claudia, Gudrun Anne, Ernst, Gudrun Claudia, Ernst, Gudrun ?% ?% ?% ?% I I I Finden von Regeln der Form A → (X \ A) mit A ⊂ X und A 6= 0/ Beispiel: X = {a, b, c , d }, (a, b) → (c , d ) Regel muss minimaler Konfidenz entsprechen. Die beiden mittleren Kandidaten können KEINE FIS sein, da Anne/Gudrun kein 2er FIS ist (Monotonie). Unser Kandidat ACE erfüllt den Support nicht, CEG erfüllt mit 50% den geforderten Support. Vierer-Kandidaten kann es nicht geben, da wir nur ein 3er FIS haben. 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-62 (163) 5.3.1 Der A-Priori-Algorithmus 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-63 (164) 5.3.1 Der A-Priori-Algorithmus A Priori – Vor-/Nachteile A Priori Beispiel 5.5 (A priori) Vorteil Es handelt sich um Mengenoperationen, also: einfache Operationen. Nachteil bei großen Datenmengen schlechtes Laufzeitverhalten Betrachten einzigen 3er Kandidaten: {Claudia, Ernst, Gudrun}. Berechnen Konfidenz nur für eine Regelvariante: Claudia, Ernst → Gudrun conf(A → B ) = P (B |A) = supp(A ∪ B ) supp(A) Also: conf(Claudia, Ernst → Gudrun) = 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-64 (165) 5.3.1 Der A-Priori-Algorithmus 50 66 = 0, 75 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-65 (166) 5.3.2 Modifikationen des A-Priori-Algorithmus A Priori Modifikationen des A-Priori-Algorithmus Beispiel 5.6 (A priori) Seien folgende Frequent Itemsets der Länge 3 bereits berechnet: {a, b, c }, {a, b, d }, {a, c , d }, {a, c , e}, {b, c , d } Hierarchische Assoziationsregeln I neue Begriffe einfach als Items aufnehmen I Support eines Oberbegriffs = Support des Itemsets seiner Komponenten Daraus lassen sich folgende 4er-Kandidaten erzeugen (Join): {a, b, c , d } (1+2) {a, c , d , e} (3+4) Quantitative Assoziationsregeln → Intervalle als Items. {a, b, c , e} (1+4) Pruning: {a, c , d , e} und {a, b, c , e} fallen weg, denn {c , d , e} bzw. {b, c , e} sind keine 3-Frequent-Itemsets. 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-66 (167) 5.3.2 Modifikationen des A-Priori-Algorithmus Erzeugung von temporalen Assoziationsregeln 5 Phasen: 1. Sortierphase: Kundensequenzen 2. Generierungsphase: Hier werden die häufigen Itemmengen gesucht. 3. Transformationsphase: Die Sequenzen werden durch die in ihnen enthaltenen häufigen Itemmengen ersetzt. 4. Sequenzphase: Mit Hilfe der häufigen Itemmengen werden die gewünschten Sequenzen ermittelt. Der Ablauf ist wie beim apriori-Algorithmus. 5. Maximalphase: Aus der Menge der generierten Itemmengen werden die maximalen Sequenzen ermittelt. 5 Methoden und Verfahren Wissensextraktion 5.3 Verfahren zur Assoziationsanalyse Folie 5-67 (168) 5.3.2 Modifikationen des A-Priori-Algorithmus Aufgaben Aufgabe 5.4 (Frequent Itemsets) Seien diese Einkäufe gegeben: ID t1 t2 t3 t4 t5 t6 gekaufte Artikel Brot, Saft, Cola, Bier Saft, Cola, Wein Brot, Saft, Wasser Cola, Bier, Saft Brot, Saft, Cola, Bier, Wein Wasser Ergänzen Sie zunächst für die gegebenen Assoziationsregeln folgende Tabelle: Regel Saft → Cola Cola → Saft Cola → Bier Bier → Cola Support Konfidenz Finden Sie dann alle Frequent Itemsets mit einem minimalen Support von 0,4. 5 Methoden und Verfahren Wissensextraktion 5.4 Lineare Regression Folie 5-68 (169) Lineare Regression 5 Methoden und Verfahren 5.4 Lineare Regression Wissensextraktion Folie 5-69 (170) Lineare Regression Gegeben: Eine Regressionsfunktion beschreibt den Trend bzw. den durchschnittlichen Zusammenhang zwischen metrischen Attributen. error = ∑(yi − ŷi )2 → min I Attributraum X , Zielwertraum Y I Beispielmenge E = X × Y Gesucht: I Zusammenhang ŷ = f (a, x ), wobei a = [a0 , . . . , an−1 ] = Parametersatz der Funktion im n-dimensionalen Raum Lösungsansatz: I 5 Methoden und Verfahren Wissensextraktion 5.4 Lineare Regression Folie 5-70 (171) Lineare Regression error = ∑(yi − ŷi )2 → min. 5 Methoden und Verfahren 5.4 Lineare Regression Wissensextraktion Folie 5-71 (172) Aufgaben Aufgabe 5.5 (Ausfuhränderung) Berechnen Sie aus den nachfolgend gegebenen Daten die durchschnittliche jährliche Änderung der Ausfuhr der BRD für die Periode 1980/81. Folgende Entwicklung der Ausfuhr der BRD (jeweils gegenüber dem Vorjahr) wurde beobachtet: Periode 19.. 73/74 74/75 75/76 76/77 77/78 78/79 79/80 Ausfuhränderung +29 % -4 % +16 % +7 % +4 % +10 % +11 % Abb. 23: Beispiel Regression 5 Methoden und Verfahren 5.5 Überwachte und selbstorganisierende unüberwachte neuronale Netze Wissensextraktion Folie 5-72 (173) Überwachte und unüberwachte neuronale Netze 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-74 (175) 5.6.1 Partitionierendes Clustering Partitionierendes Clustering I Beliebige Anfangspartitionierung → k Cluster I Darstellung durch z.B. Medoid bzw. Centroid I Iterative Neuzuordnung der Objekte zu Clustern I I I Neuberechnung des Centroids Neuzordnung jedes Objekts zum nächstgelegenem Centroid Ende, falls kein Objekt einem anderen Cluster zugeordnet wird Partitionierende Clusterverfahren teilen die Eingabedaten in disjunkte Cluster ein, so dass gilt: I Jeder Cluster besteht aus mindestens einem Objekt. I Jedes Objekt ist höchstens in einem Cluster enthalten. 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-73 (174) Verfahren zur Clusterbildung Neuronale Netze werden im Data Mining sehr häufig eingesetzt. Für tiefergehende Informationen sei hier auf die Vorlesungsreihe „Neuronale Netze“ sowie die einschlägige Literatur verwiesen. 5 Methoden und Verfahren 5 Methoden und Verfahren Wir befassen uns nun mit Verfahren, die Objekte zu geeigneten Mengen (Clustern) zusammenfassen. 5 Methoden und Verfahren 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-75 (176) 5.6.1 Partitionierendes Clustering Algorithmus 1. Erzeuge (zufällig) k Anfangscluster Ci . Alle Objekte x aus den Eingabedaten werden (zufällig) einem der Cluster zugeordnet. 2. Bestimme die Mittelpunkte x1 , x2 , . . . , xk der Cluster. 3. Für alle x aus den Eingabedaten: Weise x demjenigen Cluster Ci zu, von dessen Mittelpunkt xi es am wenigsten entfernt ist. 4. Gehe zu 2, falls mindestens ein x einem anderen Cluster zugewiesen wurde. 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung 5 Methoden und Verfahren Folie 5-76 (177) Wissensextraktion 5.6 Verfahren zur Clusterbildung 5.6.1 Partitionierendes Clustering Folie 5-77 (178) 5.6.1 Partitionierendes Clustering k-Means k-Means Centroide berechnen Initiale Cluster Vorteile von k-Means X I X Neuordnung und neue Centroide X X X X x Anfällig bzgl. Rauschen und Ausreißern, da alle Objekte in die Berechnung des Centroiden eingehen. I Gute initiale Cluster sind oft schwer zu bestimmen. I Ergebnis und Laufzeit sind abhängig von der initialen Zerlegung. I X X x X Nachteile von k-Means Neuordnung und neue Centroide Neuordnung und neue Centroide xX Anzahl der Iterationen vergleichsweise klein. Einfache Implementierung, deswegen ist es ein populäres Clusteringverfahren. I X X Abb. 24: Clustering mit k-Means 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung 5 Methoden und Verfahren Folie 5-78 (179) Wissensextraktion 5.6 Verfahren zur Clusterbildung 5.6.1 Partitionierendes Clustering Folie 5-79 (180) 5.6.1 Partitionierendes Clustering k-Means – Beispiel k-Means – Beispiel 9 8 9 9 7 8 8 6 7 7 5 6 Daten 4 5 3 4 2 3 1 6 NEU Daten ALT 2 0 0 1 2 3 4 5 6 7 8 NEU Daten ALT 4 3 2 1 9 5 1 0 0 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 Abb. 25: k-Means – Ausgangssituation Abb. 26: k-Means – 1./2. Schritt Ziel: 3 Cluster. Startcluster (1, 5), (2, 6), (3, 6). Euklidische Distanz. 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung 5 Methoden und Verfahren Folie 5-80 (181) Wissensextraktion 5.6 Verfahren zur Clusterbildung 5.6.1 Partitionierendes Clustering Folie 5-81 (182) 5.6.1 Partitionierendes Clustering k-Means – Beispiel k-Means – Beispiel 9 9 9 9 8 8 8 8 7 7 7 7 6 6 6 5 NEU Daten ALT 4 3 5 NEU Daten ALT 4 3 3 2 2 1 1 1 0 0 1 2 3 4 5 6 7 8 9 NEU Daten ALT 4 2 0 6 5 1 2 3 4 5 6 7 8 9 5.6 Verfahren zur Clusterbildung 3 1 0 0 1 2 3 4 5 Abb. 27: k-Means – 3./4. Schritt 5 Methoden und Verfahren NEU Daten ALT 4 2 0 0 5 6 7 8 9 0 1 2 3 4 5 6 7 8 Abb. 28: k-Means – 5./6. Schritt Wissensextraktion Folie 5-82 (183) 5.6.1 Partitionierendes Clustering k-Medoid 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-83 (184) 5.6.1 Partitionierendes Clustering Aufgaben Aufgabe 5.6 (k-Means) I nicht mit Centroid, sondern Medoid I Wiederholtes Tauschen eines Medoids mit einem Nichtmedoid, wobei sich die Qualität des Clusterns verbessern muss. Gegeben seien die folgenden (zweidimensionalen) Datensätze: x y 3 5 6 2 8 3 1 5 2 4 2 6 6 1 6 8 7 3 7 6 8 1 8 7 I Sofortige Neuordnung I Variante 1: Partitioning Around Medoids (PAM) (relativ vollständige Suche) Bilden Sie mittels k-Means 3 Cluster. Als Anfangszentren verwenden Sie die ersten drei Datentupel. I Variante 2: Clustering Large Applications based on RANdomized Search (CLARANS) (stark eingeschränkte Suche) Aufgabe 5.7 (k-Means) Erläutern Sie, wie man bei dem k-Means-Verfahren den Centroid berechnet. 9 5 Methoden und Verfahren 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-84 (185) 5.6.2 Hierarchisches Clustering Ziel: Aufbau einer Hierarchie von Clustern I Verschmelzen von Clustern mit minimaler Distanz (größter Ähnlichkeit) I Darstellung: Baumstruktur (Dendrogramm) Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-85 (186) 5.6.2 Hierarchisches Clustering Hierarchisches Clustering I 5 Methoden und Verfahren Hierarchisches Clustering Ein Dendrogramm ist ein Baum, dessen Knoten jeweils einen Cluster repräsentieren und der folgende Eigenschaften besitzt: I Die Wurzel repräsentiert die gesamte Datenmenge. I Ein innerer Knoten repräsentiert die Vereinigung aller Objekte, die in den darunterliegenden Teilbäumen enthalten sind. I Die Blätter repräsentieren einzelne Objekte. 5 Methoden und Verfahren 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-86 (187) 5.6.2 Hierarchisches Clustering Abb. 29: Hierarchisches Clustering 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-87 (188) 5.6.2 Hierarchisches Clustering Hierarchisches Clustering Agglomeratives Clustering Man unterscheidet zwei Verfahren: I Beginn: Jedes Objekt ist ein eigener Cluster. Agglomeratives Clustering I Verschmelzen von jeweils 2 ähnlichsten Clustern zu einem. Divisives Clustering I usw. bis nur noch ein Cluster (alle Objekte) vorhanden 5 Methoden und Verfahren 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-88 (189) 5.6.2 Hierarchisches Clustering Wissensextraktion Folie 5-89 (190) Hierarchisches Clustern I Beginn: Alle Objekte bilden ein Cluster. I Teilen des / der Cluster in jeweils 2 oder mehrere Teil-Cluster I usw. bis jedes Objekt ein eigener Cluster ist 5.6 Verfahren zur Clusterbildung 5.6 Verfahren zur Clusterbildung 5.6.2 Hierarchisches Clustering Divisives Clustering 5 Methoden und Verfahren 5 Methoden und Verfahren Wissensextraktion Folie 5-90 (191) 5.6.3 Erwartungsmaximierung Erwartungsmaximierung Nachteil beider Techniken einmal gebildete Cluster (frühe Verschmelzungs- oder Aufteilungsentscheidungen) können nicht wieder aufgelöst werden 5 Methoden und Verfahren 5.6 Verfahren zur Clusterbildung Wissensextraktion Folie 5-91 (192) 5.6.3 Erwartungsmaximierung Erwartungsmaximierung Man beginnt also mit k zufällig gewählten Gauß-Verteilungen. Nun berechnet man die Wahrscheinlichkeiten, mit denen I Objekte werden nicht bestimmten Clustern eindeutig zugeordnet I Objekte können zu mehreren Clustern gehören I jeweils mit einer bestimmten Wahrscheinlichkeit I Kombination von k Gaußverteilungen I ein Punkt x (Objekt) aus einer I der k Gaußverteilungen Ci (i = 1, . . . , k ) entstanden ist. 1 T −1 1 × e− 2 (x −µCi ) (∑Ci ) (x −µCi ) P (x |Ci ) = p (2π)k | ∑Ci | Dabei ist: I k die Anzahl der Cluster I ∑Ci die Kovarianzmatrix für die Punkte im Cluster Ci µCi der Vektor des Mittelpunkts des Clusters i I 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-92 (193) 5.6.3 Erwartungsmaximierung 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung Erwartungsmaximierung Erwartungsmaximierung Jetzt berechnet man die Gesamt-Wahrscheinlichkeitsdichte für x: Die Wahrscheinlichkeit, mit der ein bestimmtes Objekt x zu einem Cluster Ci gehört, ist (Satz von Bayes): k P (x ) = ∑ Wi × P (x |Ci ) P (Ci |x ) = Wi × i =1 I Folie 5-93 (194) 5.6.3 Erwartungsmaximierung Wi . . . Anzahl der Objekte im Cluster Ci an Gesamtzahl (relative Häufigkeit) Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-94 (195) 5.6.3 Erwartungsmaximierung P (x ) Gesamt-Wahrscheinlichkeitsdichte : E= E soll maximiert werden. 5 Methoden und Verfahren P (x |Ci ) ∑ log(P (x )) x ∈D 5 Methoden und Verfahren Wissensextraktion 5.6 Verfahren zur Clusterbildung Folie 5-95 (196) 5.6.4 Dichtebasiertes Clustering Iterativer Algorithmus Dichtebasiertes Clustering 1. Initiale Belegung der Parameter 2. Berechne P (xi ), P (xj |Ci ) und P (Ci |xj ) 3. Berechne neue Mittelpunkte der k Cluster 4. Gehe zu 2. I Cluster als Menge von Objekten, die in einer bestimmten Dichte zueinander stehen I getrennt durch Regionen geringerer Dichte Ende, falls E nicht weiter verbessert werden kann. 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-96 (197) 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-97 (198) 5.7.1 Bayessche Formel Naive Bayes Bedingte Wahrscheinlichkeit Sei Y ein Ereignis mit P (Y ) > 0. Dann heißt I Ziel: Vorhersage der wahrscheinlichsten Klasse I Es findet kein Training eines Modells statt. I Die Vorhersage wird direkt aus den Trainingsdaten berechnet. I Grundannahme: Alle Attribute sind voneinander unabhängig. 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-98 (199) 5.7.1 Bayessche Formel P (X |Y ) = P (X ∧ Y ) P (Y ) bedingte Wahrscheinlichkeit von X unter der Bedingung Y . Falls P (Y ) = 0, so ist die bedingte Wahrscheinlichkeit nicht definiert. 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-99 (200) 5.7.2 Berechnungsgrundlagen Die Bayessche Formel Naive Bayes – Berechnungsgrundlagen Stellt man die Formel für die bedingte Wahrscheinlichkeit um, so erhält man: P (X ∧ Y ) = P (Y ) ∗ P (X |Y ) Betrachtet man die bedingte Wahrscheinlichkeit von Y bezüglich X , so ergibt sich analog: P (Y ∧ X ) = P (X ) ∗ P (Y |X ) Da das logische Und kommutativ ist, gilt: P (Y ) ∗ P (X |Y ) = P (X ) ∗ P (Y |X ) Somit erhält man die Bayessche Formel: P (X |Y ) = P (Y |X ) ∗ P (X ) P (Y ) Sei A = {a1 , . . . , an } eine Menge von Attributwerten, z.B. {sunny , hot }. Wir möchten berechnen, ob (nicht) gespielt wird (yes/no), wenn es sunny und hot ist. Mit der Bayesschen Formel erhalten wir: P (yes|[sunny , hot ]) = P ([sunny , hot ]|yes) ∗ P (yes) P ([sunny , hot ]) Analog berechnen wir P (no|[sunny , hot ]) = P ([sunny , hot ]|no) ∗ P (no) P ([sunny , hot ]) Wir sagen dann yes vorher, wenn P (yes|[sunny , hot ]) größer als P (no|[sunny , hot ]) ist, sonst no. 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-100 (201) 5.7 Naive Bayes Folie 5-101 (202) 5.7.2 Berechnungsgrundlagen 5.7.2 Berechnungsgrundlagen Naive Bayes – Berechnungsgrundlagen Naive Bayes – Berechnungsgrundlagen In beiden Formeln im Nenner der gleiche Term: P ([sunny , hot ]). Da wir nur bezüglich der Größe vergleichen, können wir diesen weglassen. Wir reden deshalb nicht mehr von P, sondern von Likelihood L. Nun nochmal in der Übersicht: Relative Häufigkeit h[a, k ] des Attributs a in der Klasse k Likelihood L(yes|[sunny , hot ]) = P ([sunny , hot ]|yes) ∗ P (yes) L(no|[sunny , hot ]) = P ([sunny , hot ]|no) ∗ P (no) n L[k ](A) = ∏ h[ai , k ] × h[k ] i =1 L[k ](A) Wahrscheinlichkeit P [kj ](A) = ∑ L[kj ](A) i Der Naive-Bayes-Algorithmus geht von der Unabhängigkeit der Attribute aus und ersetzt: i Vorhersage km : Pm (A) = max(P [kj ](A)) j P ([sunny , hot ]|yes) = P (sunny |yes) ∗ P (hot |yes) 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-102 (203) 5.7 Naive Bayes Folie 5-103 (204) 5.7.3 Beispiel Wetterdaten 5.7.3 Beispiel Wetterdaten Beispiel Wetterdaten Tag 1 2 3 4 5 6 7 8 9 10 11 12 13 14 outlook sunny sunny overcast rainy rainy rainy overcast sunny sunny rainy sunny overcast overcast rainy Beispiel Wetterdaten temperature hot hot hot mild cool cool cool mild cool mild mild mild hot mild humidity high high high high normal normal normal high normal normal normal high normal high windy false true false false false true true false false false true true false true play no no yes yes yes no yes no yes yes yes yes yes no Wird an einem Tag mit folgenden Eigenschaften gespielt? outlook = sunny temperature = hot humidity = normal windy = true Tabelle 10: Wetter-Daten 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-104 (205) 5.7 Naive Bayes Folie 5-105 (206) 5.7.4 Naive-Bayes-Algorithmus 5.7.4 Naive-Bayes-Algorithmus Naive Bayes Algorithmus Naive Bayes Algorithmus Schritt 1: Ermittlung der relativen Häufigkeiten h[sunny , yes] = outlook 2 9 weil temperature I es 9 Tage gibt, an denen gespielt wurde (play=yes), I an 2 dieser Tage outlook=sunny war. und humidity windy sunny overcast rainy hot mild cool high normal true false play yes no 2/9 3/5 4/9 0/5 3/9 2/5 2/9 2/5 4/9 2/5 3/9 1/5 3/9 4/5 6/9 1/5 3/9 3/5 6/9 2/5 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-106 (207) 5.7 Naive Bayes Folie 5-107 (208) 5.7.4 Naive-Bayes-Algorithmus Naive Bayes Algorithmus Schritt 2: Berechnung der Likelihoods L[yes](sunny , hot , normal , true) =h[sunny , yes]*h[hot , yes]*h[normal , yes]*h[true, yes]*h[yes] = 2 /9 * 2/9 * 6 /9 * 3/9 * 9/14 ≈ 0,007055 L[no](sunny , hot , normal , true) = h[sunny , no] * h[hot , no] * h[normal , no] * h[true, no] * h[no] = 3 /5 * 2/5 * 1/5 * 3 /5 * 5/14 ≈ 0,010286 5.7.4 Naive-Bayes-Algorithmus Naive Bayes Algorithmus Schritt 3: Berechnung der Wahrscheinlichkeiten (wir kürzen sunny,hot,normal,true mit A ab). P [yes](A)=L[yes](A)/(L[yes](A)+ L[no](A) ) =0,007055/(0,007055+0,010286) ≈ 0,406835 P [no](A) = L[no](A) /(L[yes](A)+ L[no](A) ) =0,010286/(0,007055+0,010286) ≈ 0,593165 Schritt 4: Vorhersage (P [yes](A) = 40, 68%) < (P [no](A) = 59, 31%) ⇒ NO 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-108 (209) 5.7 Naive Bayes Folie 5-109 (210) 5.7.5 Aufgaben 5.7.5 Aufgaben Aufgaben Aufgaben Aufgabe 5.8 (Naive Bayes) I Alternative: Gibt es in der Nähe ein geeignetes anderes Restaurant? (ja/nein) I Fr/Sa: Ist Freitag oder Samstag? (ja/nein) I Hungrig: Bin ich hungrig? (ja/nein) I Gäste: Wieviele Leute sind im Restaurant? (keine/einige/voll) I Reservierung: Habe ich reserviert? (ja/nein) I Typ: Um welche Art von Restaurant handelt es sich? (Franz./Chin./Ital./Burger) I Wartezeit: Welche voraussichtliche Wartezeit wird vom Restaurant geschätzt? (0-10/10-30/30-60/>60) I Warten (Zielattribut): Warte ich, wenn alle Tische besetzt sind? (ja/nein) Aufgabe 5.8 cont. Berechnen Sie mit Naive Bayes, ob wir in folgenden Fällen warten oder nicht. Alt. ja ja nein Fr/Sa nein ja nein Hung. ja ja nein Gäste einige voll keine Reserv. nein ja nein Typ Franz. Chin. Burger Zeit 30-60 10-30 0-10 Warten 5 Methoden und Verfahren Wissensextraktion 5 Methoden und Verfahren Wissensextraktion 5.7 Naive Bayes Folie 5-110 (211) 5.7 Naive Bayes Folie 5-111 (212) 5.7.5 Aufgaben 5.7.5 Aufgaben Aufgaben Aufgaben Aufgabe 5.8 cont. Alt. ja ja nein ja ja nein nein nein nein ja nein ja Fr/Sa nein nein nein ja ja nein nein nein ja ja nein ja Hung. ja ja nein ja nein ja nein ja nein ja nein ja Gäste einige voll einige voll voll einige keine einige voll voll keine voll Reserv. ja nein nein nein ja ja nein ja nein ja nein nein Typ Franz. Chin. Burger Chin. Franz. Ital. Burger Chin. Burger Ital. Chin. Burger Zeit 0-10 30-60 0-10 10-30 >60 0-10 0-10 0-10 >60 10-30 0-10 30-60 Warten ja nein ja ja nein ja nein ja nein nein nein ja Aufgabe 5.9 (Naive Bayes) Seien folgende Datensätze gegeben (a=angest, s=selbst, v=verh, l=ledig, M=Miete, E=Eigentum) Beruf Fam.st. Kinder Wohnung a v j M a l n E a v n M a v j E s l j E s l n M s v j E s v n E Wo lebt ein lediger Angestellter mit Kindern? Tabelle 11: Restaurant-Daten 6 Datenvorbereitung Wissensextraktion 6 Datenvorbereitung Wissensextraktion 26. Januar 2015 Inhaltsverzeichnis 26. Januar 2015 Inhaltsverzeichnis – Kapitel 6 Einführung Data Mining – Grundlagen Datenvorbereitung Motivation Arten der Datenvorbereitung Datenvorbereitung – Beispiel Anwendungsklassen Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Bewertung 6 Datenvorbereitung Wissensextraktion Folie 6-1 (215) Datenvorbereitung 6 Datenvorbereitung Wissensextraktion 6.1 Motivation Folie 6-2 (216) Motivation Daten müssen i.allg. vorbereitet werden. Experience is something you don’t get until just after you need it. Olivier’s Law Unter Vorbereitung fassen wir die 3 ersten Teilprozesse des KDD-Prozesses zusammen. I Wertebereiche und Ausreißer I Fehlende, ungenaue, falsche, widersprüchliche Werte Auch Nicht-Wissen kann Information sein! I I I Bedeutung der Daten Enthält das falsche / fehlende Datum eine Info (bewusste Nichtantwort)? Welchen Einfluss hat der fehlende Wert auf das Resultat? 6 Datenvorbereitung Wissensextraktion 6.1 Motivation Folie 6-3 (217) Motivation I I I Visuelle Wahrnehmungsfähigkeit des Menschen beschränkt Hohe Dimension → hohe Rechenzeit I I Folie 6-4 (218) Datenvorbereitung spielt wichtige Rolle I I Reduktion der hohen Dimension durch: I Wissensextraktion 6.1 Motivation Datenvorbereitung und DM Dimensionsreduktion I Viele Attribute → hochdimensionale Probleme I 6 Datenvorbereitung I Ausblenden einiger Attribute Zusammenfassung von abhängigen Komponenten für Laufzeitverhalten für Qualität der Resultate etwa 80% des Gesamtaufwands Datentransformation, Skalierung etc. 6 Datenvorbereitung Wissensextraktion 6.1 Motivation Folie 6-5 (219) Garbage in – garbage out 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-6 (220) Arten der Datenvorbereitung Folgende Klassen der Vorbereitung unterscheidet man: I Analyseverfahren versagen auf schlechten Daten. I Deshalb ist die Datenvorbereitung für den Erfolg wichtig. I GIGO: Garbage in, garbage out. Datenselektion und -integration Daten auswählen und zusammenfügen Datensäuberung Daten werden bereinigt. Datenreduktion Daten werden reduziert, z.B. bezüglich der Dimension. Datentransformation Daten werden umgewandelt, um so adäquate Darstellungsformen (in Abhängigkeit vom jeweiligen Verfahren) für die Daten zu bekommen. 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-7 (221) 6.2.1 Datenselektion und -integration I Jede Filiale hat unter Umständen ihre eigene Datenbank. I Es ist eine unterschiedliche Semantik und Syntax der Attribute möglich. Die Datenintegration fügt Daten mehrerer Datensätze unterschiedlicher Quellen (verschiedene Datenbanken) zusammen. Ergebnis sollte ein schlüssiger Datensatz sein. 6.2.2 Datensäuberung Datensäuberung Wissensextraktion Folie 6-8 (222) Probleme Motivation: Gewünscht ist eine filialübergreifende Datenanalyse. 6.2 Arten der Datenvorbereitung 6.2 Arten der Datenvorbereitung 6.2.1 Datenselektion und -integration Datenselektion und -integration 6 Datenvorbereitung 6 Datenvorbereitung Wissensextraktion Folie 6-9 (223) Entitätenidentifikationsproblem Welche Merkmale besitzen dieselbe Semantik? Redundanzen z.B. Name/name Widersprüche z.B. unterschiedliche Adressen für die gleiche Person Datenwertkonflikte z.B. Entfernung in Meilen und Kilometern 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-10 (224) 6.2.2 Datensäuberung Fehlende Daten I Attribut ignorieren I Fehlende Werte manuell einfügen I Globale Konstante zum Ausfüllen des fehlenden Werts (z.B.: unbekannt, minus unendlich) I Fehlende Daten I Verrauschte Daten I Falsche Daten I Durchschnittswert aller Einträge derselben Klasse I Inkonsistente Daten I Wahrscheinlichsten Wert eintragen (anhand statistischer Methoden ermitteln) I Datensatz als fehlerhaft kennzeichnen und von Weiterverarbeitung ausnehmen 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-11 (225) 6.2.2 Datensäuberung 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-12 (226) 6.2.2 Datensäuberung Fehlende Daten Verrauschte Daten I Einfügen von Werten ⇒ Veränderung des Datenbestands Klasseneinteilung (binning): Man gruppiert die Daten und ersetzt sie durch Mittelwerte oder Grenzwerte. I Verbundbildung (clustering): Hier werden die Ausreißer durch Verbundbildung erkannt. I Semantik der Daten kann dadurch verfälscht werden. I I Ignorieren/Weglassen verfälscht die Daten bezüglich der Wahrscheinlichkeitsverteilung der Attributwerte. Kombinierte Maschine/Mensch-Untersuchung (combined computer and human inspection): I Ziel, dass jegliche Veränderung unseres Datenbestands informationsneutral sein sollte, verletzt. I Allerdings haben wir bei fehlenden Daten keine Alternative. Achtung: I I Qualität der Daten evtl. verändert. 6 Datenvorbereitung I I I Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-13 (227) 6.2.2 Datensäuberung Computer erstellt Liste (anscheinend) befremdlicher Werte. Mensch filtert die Ausreißer aufgrund von Erfahrungswerten heraus. Regression: Man beschreibt die Daten als mathematische Funktion. Dann ersetzt man die realen Datenwerte durch die berechneten Funktionswerte der gefundenen Funktion. 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-14 (228) 6.2.2 Datensäuberung Inkonsistente und falsche Daten Inkonsistente und falsche Daten Beispiel 6.1 (Inkonsistente Daten) Seien die folgenden Tabellen gegeben: Kundendaten Ku-Nr. Name Ort 1 Meier Wismar 2 Schulze Schwerin 3 Lehmann Rostock Folgende Korrekturen sind möglich: Bestellungen Bestell-Nr. Ku-Nr. 1 2 3 1 2 1 4 4 I Zuhilfenahme anderer Datensätze I Künstliches Anlegen eines fehlenden Schlüsselattributs I Falls nicht möglich: betreffenden Datensatz löschen oder als fehlerhaft markieren. In der Bestellungen-Tabelle wird auf den Kunden 4 verwiesen, den es aber gar nicht gibt. 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-15 (229) 6.2.2 Datensäuberung Wissensextraktion Folie 6-16 (230) Datenreduktion Beispiel 6.2 (Fehlerhafte, unzulässige Werte) I Verletzter Wertebereich: Wenn auf einstellige natürliche Zahlen beschränkt, dann dürfen keine Zahlen x < 0 oder x > 9 auftauchen. I Verletzte Plausibilitätsbeziehungen: Sonst umsatzschwacher Kunde hat plötzlich sehr hohen Jahresumsatz. 6.2 Arten der Datenvorbereitung 6.2 Arten der Datenvorbereitung 6.2.3 Datenreduktion Fehlerhafte, unzulässige Werte 6 Datenvorbereitung 6 Datenvorbereitung Wissensextraktion Folie 6-17 (231) 6.2.3 Datenreduktion Aggregation Unter Aggregation (auch Verdichtung) versteht man das Zusammenfassen von Fakten zu einem Fakt oder das Generalisieren der Daten. So kann man z.B. Daten durch ihre Mittelwerte ersetzen oder Teilwerte zu einer Gesamtsumme zusammenfassen. Problem: Datensätze sehr umfangreich Strategien: Folgende Techniken können angewendet werden. 1. Aggregation 2. Dimensionsreduktion 3. Datenkompression 4. Numerische Datenreduktion 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-18 (232) 6.2.3 Datenreduktion Dimensionsreduktion Bei der Dimensionsreduktion werden irrelevante Daten (Attribute) vernachlässigt und relevante Daten einbezogen. I Schrittweise Vorwärtsauswahl: Gute Attribute werden schrittweise in die Zielmenge eingegliedert. I Schrittweise Rückwärtseliminierung: Ausgehend von der Gesamtmenge werden schlechte Attribute schrittweise eliminiert. I Kombination aus beiden 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-19 (233) 6.2.3 Datenreduktion 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-20 (234) 6.2.3 Datenreduktion Datenkompression Numerische Datenreduktion 1. mit Hilfe von Stichproben Die Daten werden entweder transformiert oder kodiert, um eine Reduktion der Datenmenge und damit eine Reduktion der Komplexität des Data Mining zu erhalten. Zufällige Stichprobe zufällige Auswahl Repräsentative Stichprobe zufällige, aber repräsentative Auswahl Geschichtete Stichprobe zufällige Auswahl, wichtige Attribute haben Wert Inkrementelle Stichproben schrittweise Verfeinerung Average Sampling Daten teilen und separat analysieren, dann Resultate mitteln Selektive Stichprobe Stichprobe gezielt Windowing inkrementell, Erweiterung um falsch bewertete Datensätze Clustergestützte Stichprobe Cluster von ähnlichen Daten, davon jeweils einer 2. Lineare Regression 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-21 (235) 6.2.4 Datentransformation 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-22 (236) 6.2.4 Datentransformation Datentransformation Anpassung unterschiedlicher Datenstrukturen Anpassung: 1. von unterschiedlichen Datenstrukturen 2. der Datentypen 3. von Konvertierungen oder Kodierungen Innerhalb der Datenbank kann es Attribute mit nicht kompatiblen Datenstrukturen geben. Diese müssen gegebenenfalls angepasst werden. 4. von Zeichenketten 5. von Datumsangaben 6. von Maßeinheiten und Skalierungen Weitere Transformationen können in Betracht kommen: 1. Kombination oder Separierung von Attributen 2. ggf. Berechnung abgeleiteter Werte 3. Datenaggregation 4. Datenglättung 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-23 (237) 6.2.4 Datentransformation Ist diese 2 vom Datentyp Char oder Integer? Sollte eine Umwandlung stattfinden? 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-24 (238) Anpassung von Konvertierungen oder Kodierungen Datenquelle und Zielmenge benutzen evtl. unterschiedliche Kodierungen. Z.B. Binärkodierung: aus Attributen mit einer bestimmten Anzahl Merkmalsausprägungen ⇒ Menge binärer Attribute. Diskretisierung wird angewendet, um den Wertebereich von quantitativen Attributausprägungen in endlich vielen Teilmengen zusammenzufassen. Betrachtet man die 2 als Datum, so stellt sich die Frage: I 6.2 Arten der Datenvorbereitung 6.2.4 Datentransformation Anpassung der Datentypen I 6 Datenvorbereitung Wissensextraktion Folie 6-25 (239) 6.2.4 Datentransformation Anpassung von Zeichenketten Kann das Data-Mining-Programm mit Umlauten, Groß- und Kleinschreibung sowie Leerzeichen in den Datensätzen umgehen, oder sollte hier eine Umwandlung erfolgen? 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-26 (240) 6.2.4 Datentransformation Anpassung von Datumsangaben Datumsangaben sind oft unterschiedlich kodiert. Es können auch Daten aus unterschiedlichen Zeitzonen vorhanden sein. 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-27 (241) 6.2.4 Datentransformation nationale Standards bei Maßeinheiten → Anpassungen erforderlich. I Inch; Zentimeter; Yard; Meter. I Normalisierung: Transformation aller Merkmalsausprägungen auf die Werte einer stetigen, numerischen Skala (z.B. [0,1]): x −min(x ) xneu = max(x )−mini (x ) i I i Zunächst den Minimalwert subtrahieren (Minimum wird 0) Alle Werte durch den ermittelten Maximalwert dividieren Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-29 (243) 6.2.4 Datentransformation Evtl. nötig: verschiedene Attribute zu einem neuen zusammenzufügen I Tag; Monat; Jahr → Datum. 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-30 (244) 6.2.4 Datentransformation Berechnung abgeleiteter Werte I I Alternativ: statistischer Mittelwert und Standardabweichung der Attributwerte Subtrahieren den Mittelwert von jedem Wert, anschließend das Ergebnis durch die Standardabweichung dividieren. 6 Datenvorbereitung I Folie 6-28 (242) Kombination oder Separierung von Attributen I I Wissensextraktion 6.2 Arten der Datenvorbereitung 6.2.4 Datentransformation Anpassung von Maßeinheiten und Skalierungen I 6 Datenvorbereitung Datenaggregation Berechnen abgeleiteter Werte → ganz neue Attribute Einnahmen - Ausgaben → Gewinn. 6 Datenvorbereitung Wissensextraktion 6.2 Arten der Datenvorbereitung Folie 6-31 (245) 6.2.4 Datentransformation I Oft: Daten verfügbar in einer zu feinen Aggregationsebene. I Bspl.: Einwohnerzahl von Berlin gesucht, aber nur Einwohnerzahlen der einzelnen Stadtteile verfügbar 6 Datenvorbereitung 6.2 Arten der Datenvorbereitung Wissensextraktion Folie 6-32 (246) 6.2.4 Datentransformation Datenglättung Fazit Die Hauptidee der Datenglättung (s. auch verrauschte Daten) ist, dass jeder (numerische) Wert aus der gegebenen Datenmenge durch die Gleichung Wert(i ) = Mittelwert(i ) + Rauschen dargestellt werden kann, wobei i der i-ten Instanz entspricht. Ziel: Reduzierte Wertemenge Man kennt vier Techniken, mit denen Daten geglättet werden können: I Eingruppierung (binning) I Clustering I kombinierte menschliche und maschinelle Kontrolle I Regression 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-33 (247) Datenvorbereitung – Beispiel Pers. Wohnnr. ort 1 23966 2 23966 3 23966 4 23966 5 23966 6 23966 7 23966 8 23966 9 23966 10 23966 11 23966 12 23966 13 23966 GeAlter schlecht m 45 w 57 m 52 m 28 male 57 fem 26 m 39 m 38 m 42 w 37 m 45 m 37 w 35 Jahres- Betriebsgehalt zugehörigkeit 32 10 35000 25 40 5 27 6 45 25 27 96 39 4 32 3 31 15 30 10 32 8 5 30 15 Tabelle 12: Ausgangsdaten Datentransformation dient dazu, Daten zwischen verschiedenen Formen zu transformieren. Es können auch bestehende Attribute in neue Attribute aufgeteilt oder Daten zwischen verschiedenen Ebenen aggregiert werden, um eine geänderte Sicht auf die Daten zu erhalten. 6 Datenvorbereitung 6.3 Datenvorbereitung – Beispiel Wissensextraktion Folie 6-34 (248) Datenvorbereitung – Beispiel Position Bildungsabschluss arb Lehre verw Bachelor manager Master arb Lehre manager Master arb Lehre manager Master arb Lehre arb ohne verw Abi arb verw Abi Was fällt uns als erstes auf? I Das Attribut Wohnort enthält keine nützliche Information. I Das Geschlecht ist mal als m/w angegeben, mal als male/fem. I Beim Jahresgehalt ist in Datensatz 2 wohl das Gehalt nicht in Tausend angegeben, sondern absolut. I Im Datensatz 12 fehlen etliche Werte. Diesen sollten wir folglich weglassen. I Im Datensatz 6 steht bei Betriebszugehörigkeit eine 96. 2 Interpretationen: 96=1996 oder Monate. Wir entscheiden uns für die Monate. I In Datensatz 11 fehlt der Bildungsabschluss. Das können wir z.B. korrigieren, indem wir dort den häufigsten Wert einsetzen, der für die gleiche Position (arb) vorkommt: Lehre. 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-35 (249) Bereinigte Daten Pers. nr. 1 2 3 4 5 6 7 8 9 10 11 13 Geschlecht m w m m m w m m m w m w 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-36 (250) Ziel der Analyse ? Alter Jahresgehalt 45 32 57 35 52 40 28 27 57 45 26 27 39 39 38 32 42 31 37 30 45 32 35 30 Betriebszugehörigkeit 10 25 5 6 25 8 4 3 15 10 8 15 Position Bildungsabschluss arb Lehre verw Bachelor manager Master arb Lehre manager Master arb Lehre manager Master arb Lehre arb ohne verw Abi arb Lehre verw Abi I . . . zunächst Cluster I Personalnummer hat keine Information. I Für das Clustern sind metrische Werte günstig. I Also nominale Attribute einfach durch Integer-Werte kodieren. Tabelle 13: Bereinigung der Daten 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-37 (251) Datenvorbereitung – Beispiel Geschlecht 0 1 0 0 0 1 0 0 0 1 0 1 Alter Jahresgehalt 45 32 57 35 52 40 28 27 57 45 26 27 39 39 38 32 42 31 37 30 45 32 35 30 Betriebszugehörigkeit 10 25 5 6 25 8 4 3 15 10 8 15 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-38 (252) Datenvorbereitung – Beispiel – 3 Cluster Position Bildungsabschluss 0 1 1 3 2 4 0 1 2 4 0 1 2 4 0 1 0 0 1 2 0 1 1 2 Tabelle 14: Codierung Variante 1 6 Datenvorbereitung Abb. 30: Clusterversuch 1 Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-39 (253) Datenvorbereitung – Beispiel normalisiert I Alter ist dominant. I Grund: Abstandsmaß. I Lösung: Normalisieren aller Daten auf das Intervall [0,1]. 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-40 (254) Datenvorbereitung – Beispiel normalisiert Geschlecht 0 1 0 0 0 1 0 0 0 1 0 1 Alter Jahresgehalt 0,61 0,28 1 0,44 0,84 0,72 0,06 0 1 1 0 0 0,42 0,67 0,39 0,28 0,52 0,22 0,35 0,17 0,61 0,28 0,29 0,17 Betriebszugehörigkeit 0,32 1 0,09 0,14 1 0,23 0,05 0 0,55 0,32 0,23 0,55 Position Bildungsabschluss 0 0,25 0,5 0,75 1 1 0 0,25 1 1 0 0,25 1 1 0 0,25 0 0 0,5 0,5 0 0,25 0,5 0,5 Tabelle 15: Codierung Variante 2 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-41 (255) Datenvorbereitung – Beispiel - normalisiert 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Datenvorbereitung – Beispiel Gute Cluster !! Abb. 31: Clusterversuch 2 – Alter Abb. 32: Clusterversuch 2 – Bildungsabschluss Folie 6-42 (256) 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-43 (257) Datenvorbereitung – Beispiel 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel Folie 6-44 (258) Datenvorbereitung – Beispiel Geschlecht m w m m m w m m m w m w Nun als Ziel: Klassifikation. Brauchen nominale/ordinale Attribute. Wandeln metrische Attribute in ordinale / nominale um. Alter Jahresgehalt alt gering alt viel alt viel jung gering alt viel jung gering jung viel jung gering alt gering jung gering alt gering jung gering Betriebszugehörigkeit kurz lang kurz kurz lang kurz kurz kurz lang kurz kurz lang Position Bildungsabschluss arb Lehre verw Bachelor manager Master arb Lehre manager Master arb Lehre manager Master arb Lehre arb ohne verw Abi arb Lehre verw Abi Tabelle 16: Codierung Variante 3 6 Datenvorbereitung Wissensextraktion 6.3 Datenvorbereitung – Beispiel 7 Bewertung Wissensextraktion Folie 6-45 (259) 26. Januar 2015 Beispiel – Entscheidungsbaum Inhaltsverzeichnis Einführung Data Mining – Grundlagen Anwendungsklassen Wissensrepräsentation Methoden und Verfahren Datenvorbereitung Abb. 33: Entscheidungsbaum mit ID3 Bewertung 7 Bewertung Wissensextraktion 7 Bewertung Wissensextraktion Folie 7-1 (262) 26. Januar 2015 Inhaltsverzeichnis – Kapitel 7 Bewertung Negative expectations yield negative results. Positive expectations yield negative results. Nonreciprocal Laws of expectations. Bewertung Interessantheitsmaße Gütemaße und Fehlerkosten Trainings- und Testmengen Bewertung von Clustern 1. Das Prinzip der minimalen Beschreibungslängen 2. Interessantheitsmaße 3. Fehlerraten und Fehlerkosten 4. Trainings- und Testmengen 7 Bewertung Wissensextraktion Folie 7-2 (263) Prinzip der minimalen Beschreibungslängen 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-3 (264) Interessantheitsmaße Die Beschreibungslänge ist definiert als: I Speicherplatz zur Beschreibung einer Theorie plus I Speicherplatz zur Beschreibung der Fehler der Theorie Dieses Konzept geht auf William of Ockham, geboren in Ockham (in Surrey, England) ca. 1285 zurück, der postulierte, dass ein Modell desto besser sei, je einfacher es sei (Occam’s razor). Spezielle Aspekte der Bewertung von Assoziationsregeln Notwendigkeit: I (zu) viele Regeln I keine automatische Filterung möglich (Problembezogenheit) Idee: Interessantheitsmaße der deskriptiven Statistik übernehmen 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-4 (265) 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-5 (266) 7.1.1 Support Interpretation und Evaluierung von Regeln Support I signifikante Merkmale der Regeln: beispielsweise Konfidenz und Support I Filtern von Regeln auf der Basis dieser Merkmale I grafische Darstellungen von Regeln I Basis der Bewertung von Regeln: Interessantheitsmaße 7 Bewertung Der Support einer Regel A → B ist definiert durch: supp(A → B ) = P (A ∪ B ). Wir berechnen also die relative Häufigkeit, in wievielen Datensätzen unserer Datenmenge sowohl A als auch B vorkommt. Wissensextraktion 7.1 Interessantheitsmaße Folie 7-6 (267) 7.1.1 Support 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-7 (268) 7.1.2 Konfidenz Support Konfidenz Support: Flächeninhalt der schraffierten Fläche, geteilt durch die Fläche der gesamten Menge. conf(A → B ) = P (B |A) = supp(A → B ) supp(A) Konfidenz: Verhältnis der schraffierten Fläche und der gestrichelt schraffierten Fläche. Abb. 34: Support der Assoziationsregel A → B Problem: I Abb. 35: Konfidenz der Assoziationsregel A → B Auch seltene Items können interessant sein. 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-8 (269) 7.1.2 Konfidenz 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-9 (270) 7.1.2 Konfidenz Konfidenz Completeness Weiteres Interessantheitsmaß : Vollständigkeit (completeness). completeness(A → B ) = P (A ∪ B |B ) Probleme: I Triviale Zusammenhänge I Regeln mit geringer statistischer Korrelation erreichen manchmal hohe Konfidenz. Abb. 36: Completeness der Assoziationsregel A → B 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-10 (271) 7.1.2 Konfidenz 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-11 (272) 7.1.3 Gain-Funktion Interessantheitsmaße Gain-Funktion Beispiel 7.1 (Interessantheismaße für Assoziationsregeln) Seien folgende Werte gegeben: P (A) = 0, 50, P (B ) = 0, 40, P (A ∪ B ) = 0, 35. Es ergeben sich folgende Werte: Unangenehme Effekte mit Support/Konfidenz: supp(A → B ) = P (A ∪ B ) = 0, 35 conf(A → B ) = P (B |A) = supp(A → B ) supp(A) completeness(A → B ) = P (A ∪ B |B ) = = 0, 35 0, 50 supp(A → B ) supp(B ) = 70% = 0, 35 0, 40 Konfidenz der Regel ist nicht sonderlich gut, allerdings hohe Completeness. I Regel scheitert am Support, obwohl hohe Konfidenz I Verzicht auf Support würde Regeln mit geringem Support, aber hoher Konfidenz erlauben. Also: Mix aus Support und Konfidenz, der obige Effekte verhindert. = 7 8 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-12 (273) 7.1.3 Gain-Funktion 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-13 (274) 7.1.3 Gain-Funktion Gain-Funktion Gain-Funktion Bemerkung 7.1 (Gain) Woher kommt der gain? Je geringer der Support von A, desto höher soll die Konfidenz der Regel sein: gain(A → B ) = supp(A → B ) − θ × supp(A). I Reduktion des Supports einer Regel I gain = 0: In jedem θ1 -ten Fall, in dem A vorkommt, kommt auch B vor I gain > 0: starker Zusammenhang, gain < 0: schwacher Zusammenhang conf(A → B ) ≥ minconf supp(A) +θ Wir erlauben θ zwischen 0 und 1. Mit conf(A → B ) = supp(A→B ) supp(A) können wir die Ungleichung mit supp(A) multiplizieren und erhalten: supp(A → B ) ≥ minconf + supp(A) × θ supp(A → B ) − θ × supp(A) ≥ minconf 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-14 (275) 7.1.4 p-s-Funktion 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-15 (276) 7.1.4 p-s-Funktion Kriterien für Interessantheitsmaße p-s-Funktion Kriterien für Interessantheitsmaße für Assoziationsregeln (RI): 1. RI (A → B ) = 0 genau dann, wenn supp(A → B ) = P(A) × P(B ) ist. Das Interessantheitsmaß sollte 0 sein, wenn A und B statistisch unabhängig sind. 2. RI sollte mit supp(A → B ) monoton wachsen. 3. RI sollte mit P(A) und P(B ) monoton fallen. ps(A → B ) = supp(A → B ) − supp(A) × supp(B ) I wie Gain-Funktion mit θ = supp(B ) I ps > 0: positiver, ps < 0: negativer statistischer Zusammenhang Konfidenz erfüllt nur die Bedingung 2! 7 Bewertung Wissensextraktion 7.1 Interessantheitsmaße Folie 7-16 (277) 7.1.5 Lift 7 Bewertung Wissensextraktion 7.2 Gütemaße und Fehlerkosten Folie 7-17 (278) 7.2.1 Fehlerraten Lift Fehlerraten Fehlerrate bei Klassifikationen lift(A → B ) = supp(A → B ) supp(A) × supp(B ) = Fehlerrate = conf(A → B ) supp(B ) Fehler Alle Fehlerrate bei numerischer Vorhersage I Wahrscheinlichkeit der Regel im Verhältnis zu ihrem Auftreten I Außergewöhnlichkeit der Regel Fehlerrate = ∑ (Realwerti − Vorhersagewerti )2 i ∑ Realwert2i i Erfolgsrate Erfolgsrate = 1 − Fehlerrate 7 Bewertung Wissensextraktion 7.2 Gütemaße und Fehlerkosten Folie 7-18 (279) 7.2.2 Weitere Gütemaße für Klassifikatoren Weitere Gütemaße für Klassifikatoren Man unterscheidet 4 Fälle: TP (richtig positiv) Ein guter Kunde wird als guter erkannt. TN (richtig negativ) Ein nicht guter Kunde wird als nicht guter erkannt. FP (falsch positiv) Ein nicht guter Kunde wird als guter erkannt. FN (falsch negativ) Ein guter Kunde wird als nicht guter erkannt. Darauf aufbauend definiert man eine Reihe von abgeleiteten Kenngrößen. 7 Bewertung Wissensextraktion 7.2 Gütemaße und Fehlerkosten Folie 7-19 (280) 7.2.2 Weitere Gütemaße für Klassifikatoren Weitere Gütemaße für Klassifikatoren Korrekte Klassifikationen T=TP+TN Falsche Klassifikationen F=FP+FN Relevanz R=TP+FN (Anzahl der guten Kunden) Irrelevanz I=FP+TN (Anzahl der nicht guten Kunden) Positivität P=TP+FP (Anzahl der als gut klassifizierten Kunden) Negativität N=TN+FN (Anzahl der als nicht gut klassifizierten Kunden) Korrektheitsrate T/n (Anteil der korrekt klassifizierten Kunden) Inkorrektheitsrate F/n (Anteil der nicht korrekt klassifizierten Kunden) 7 Bewertung Wissensextraktion 7.2 Gütemaße und Fehlerkosten Folie 7-20 (281) 7.2.2 Weitere Gütemaße für Klassifikatoren Richtig-negativ-Rate TNR=TN/I (Wie oft wurde ein nicht guter Kunde auch als solcher klassifiziert.) Falsch-positiv-Rate FPR=FP/I (Wie oft wurde ein nicht guter Kunde als guter klassifiziert.) Falsch-negativ-Rate FNR=FN/R (Wie oft wurde ein guter Kunde als nicht guter klassifiziert.) Wissensextraktion 7.2 Gütemaße und Fehlerkosten Folie 7-22 (283) 7.2.3 Fehlerkosten Negativer Vorhersagewert TN/N (Wie oft ist ein als nicht gut vorhergesagter Kunde ein nicht guter Kunde?) Negative Falschklassifikationsrate FN/N (Wie oft ist ein als nicht gut vorhergesagter Kunde ein guter Kunde?) Positive Falschklassifikationsrate FP/P (Wie oft ist ein als gut vorhergesagter Kunde ein nicht guter Kunde?) 7 Bewertung Wissensextraktion 7.2 Gütemaße und Fehlerkosten Klassifikator wirkt sich auf Gewinn bzw. Verlust einer Firma aus. I Kredit für Bankkunde bewilligt, . . . den dieser nicht zurückzahlt, entstehen zusätzliche Kosten. . . . den dieser zurückzahlt, entsteht Gewinn. 0 1 Kredit für Bankkunde nicht bewilligt, I I Folie 7-23 (284) Kostenmatrix I I Positiver Vorhersagewert, Genauigkeit, Präzision TP/P (Wie oft ist ein als gut vorhergesagter Kunde ein guter Kunde?) 7.2.3 Fehlerkosten Fehlerkosten I Folie 7-21 (282) Weitere Gütemaße für Klassifikatoren Richtig-positiv-Rate TPR=TP/R (Wie oft wurde ein guter Kunde auch als solcher klassifiziert.) (Sensitivität, Trefferquote, Recall) I Wissensextraktion 7.2 Gütemaße und Fehlerkosten 7.2.2 Weitere Gütemaße für Klassifikatoren Weitere Gütemaße für Klassifikatoren 7 Bewertung 7 Bewertung . . . den dieser zurückgezahlt hätte, entsteht Verlust in Zinshöhe. . . . den dieser nicht zurückgezahlt hätte, wurde Verlust verhindert. I Fehler ist also nicht gleich Fehler, korrekte Vorhersage nicht gleich korrekte Vorhersage. I Folglich: gewichtete Fehlerrate 7 Bewertung Wissensextraktion 7.3 Trainings- und Testmengen Folie 7-24 (285) Vorhersage 0 1 10 -20 -30 20 Wird ein Datensatz des Typs 0 mit 1 vorhergesagt, so kostet uns das 20, eine korrekte Vorhersage für 0 bringt uns 10. ; Gewichtete Fehlerberechnung 7 Bewertung Wissensextraktion 7.3 Trainings- und Testmengen Folie 7-25 (286) 7.3.1 Holdout Trainings- und Testmengen I Holdout Lernen allein auf der gegebenen Menge nicht ausreichend. I Verfahren würde gegebene Beispiele auswendig lernen. I Also: separate Testmenge erforderlich Beim Holdout wird die Instanzenmenge in zwei Teilmengen zerlegt, wobei die eine zum Trainieren und die andere zum Testen verwendet wird. Train ∪ Test = Instance Wie teilt man Beispielmenge auf in: I Trainingsmenge I Testmenge 7 Bewertung Wissensextraktion 7.3 Trainings- und Testmengen Folie 7-26 (287) 7.3.2 Stratifikation 7 Bewertung Wissensextraktion 7.3 Trainings- und Testmengen Folie 7-27 (288) 7.3.3 Kreuzvalidierung Stratifikation Kreuzvalidierung zufälliges Holdout evtl. Problem, dass Testdaten und Trainingsdaten Beispiele völlig unterschiedlicher Klassen enthalten Stratifikation versucht Teilung so, dass sowohl in der Trainings- als auch in der Testmenge die Häufigkeitsverteilung h der Klassen K in der gesamten Instanzenmenge abgebildet wird. ∀k ∈ K : hkInstance = hkTrain = hkTest I Aufteilung der Datenmenge stratifiziert in V gleich große Teilmengen I Auswahl EINER dieser Untermengen als Testmenge I Training mit den anderen Untermengen I Test mit zurückbehaltener Testmenge I Wiederholung mit jeder anderen Teilmenge als Testmenge I Fehlerrate des Verfahrens: Mittelwert der jeweiligen Fehlerraten V ∑ Fehlerratei Fehlerrate = i =1 V 7 Bewertung Wissensextraktion 7.3 Trainings- und Testmengen Folie 7-28 (289) 7 Bewertung Wissensextraktion 7.4 Bewertung von Clustern Folie 7-29 (290) 7.3.4 Leave-one-out Leave-one-out Bewertung von Clustern Ansatz 1: ∑ Fehlerrate = i =1 Güte1 = 1 k ∑ ∑ dist(x , mi )2 Ansatz 2: Fehlerratei ∑ ∑ dist(x , mi )2 i =1 x ∈Ci Das Leave-one-out-Verfahren ist im wesentlichen identisch mit der Kreuzvalidierung. Hierbei wird jedoch die N-elementige Instanzenmenge in genau N Teilmengen zerlegt. |Instance| k G1 = i =1 x ∈Ci Güte2 = ∑ dist(mj , mi )2 1≤i ≤j ≤k |Instance| Man kann die Ansätze kombinieren, indem man beide Gütemaße multipliziert: Güte = Güte1 × Güte2 8 Literatur Wissensextraktion Folie 8-30 (291) Literatur Jürgen Cleve, Uwe Lämmel. Data Mining. Oldenbourg, 2014. Usama M. Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth, Ramasamy Uthurusamy. Advances in Knowledge Discovery and Data Mining. MIT Press, 1996. Hans-Georg Kemper and Walid Mehanna and Carsten Unger. Business Intelligence. Vieweg, 2006. Dorian Pyle. Data Preparation for Data Mining. Morgan Kaufmann, 1999.