Motivation Themenblock: Data Preprocessing We are drowning in information, but starving for knowledge! (John Naisbett) Was genau ist Datenanalyse? Praktikum: Data Warehousing und Data Mining Was ist Data Mining? Techniken zur Mustererkennung Ziel: unerwartete Muster Beispiele für Muster: Assotiation Rules, Cluster 2 Inspektion Modell von Gianotti und Pedreschi Daten Kundendaten Daten aus den Filialen Demographische Daten Geographische Daten Aggregation (zielgerichtet) Information X lebt in Z S ist Y Jahre alt X und S sind umgezogen W hat Geld in Z Interpretation Wissen Anzahl Y des Produkts A wird in Gebiet Z verwendet Kunden der Klasse Y verwenden x% von C in Zeitraum D Entscheidung Sonderangebot für Produkt A in Gebiet Z Mailings an Familien mit Profil P Cross-Selling von Produkt an Kunden C Einsatzgebiete für Data Mining I Versicherung Welche Kunden sind unzufrieden und neigen zur Vertragskündigung? Wie kann man unzufriedene Kunden halten? In welche Risikoklasse fällt mein neuer Kunde? Medizin Gibt es Indikatoren für eine spezielle Krankheit und wenn ja, wie sehen diese aus? 3 4
Einsatzgebiete für Data Mining II Einsatzgebiete für Data Mining III Banken Lässt sich betrügerisches Verhalten erkennen? Börse Existieren ähnliche Muster in Aktienkursverläufen? Geologie Was sind typische Charakteristika für Erdbeben? Lassen sich diese für Vorhersagen nutzen? Handel Welche Produkte werden häufig zusammen gekauft? Lässt sich das Einkaufverhalten durch günstige Platzierung beeinflussen? Welche Kundengruppen sollen gehalten werden? An wen soll gezielt Werbung geschickt werden? Welche Produkte können einem Kunden empfohlen werden? 5 6 Thema dieses Blocks Data Preprocessing - Motivation Data Preprocessing: Vorbereiten der Daten für das Data Mining Ausfüllen fehlender Datenobjekte Änderung von Attributen Diskret nach Stetig Zusammengesetzte Attribute Unterteilung des Datenbestands in Training, Validation und Test Sets Fehlende Attribute verzerren Ergebnis Fehler im Datensatz verzerren Ergebnis Algorithmen erfordern bestimmte Daten Tool Oracle Data Miner 7 8
Oracle Data Miner - Anmeldung Oracle Data Miner - Übersicht Starten: s:\odminer\bin\odminer Login-Screen: 9 10 Daten Importieren Datentransformation I Data Transformation: Data -> Transform Aggregate: Einfügen eines Aggregats Compute Field: Berechnetes Attribut Discretize: Diskretisierung von Attributen Filter Single-Record: Filtern von Tupeln 11 12
Datentransformation II Datentransformation III Missing Values: Behandlung fehlender Werte Normalize: Normalisierung von Werten Numeric: Modifikation von Werten Outlier Treatment: Behandlung von Outliern Recode: einzelnen Attribut-Werten neue Werte zuweisen Sample: Sample aus den Daten erstellen Stratified Sample: Sample, bei dem einzelne Attribute mit gewünschter Gewichtung eingebracht werden Split: Teilt Daten auf für Modellerstellung und Modelltest 13 14 Aggregatberechnung Berechnete Attribute Aggregate Attributname gewünschte Funktion All oder Distinct Parameter (Attribut, dessen Werte aggregiert werden) Optional group by oder having Compute Field View erstellen mit neuem, berechnetem Attribut Tabelle auswählen, die neues Attribut erhalten soll Ausdruck definieren ggf. validieren 15 16
Diskretisierung von Attributen I Diskretisierung von Attributen II Discretize Naive Bayes, Adaptive Bayes Networks und Clusteralgorithmen in Oracle brauchen categorische Attribute numerische Daten in diskrete Bereiche ( bins ) unterteilen zuerst die Datentypen überprüfen numerische Datentypen werden angezeigt wir wollen exemplarisch das Attribut Age transformieren Equal Width Binning: bins mit gleicher Breite Parameter: Anzahl der bins Quantile Binning: erstellt bins nach komplexeren Kriterien, Breite der bins nicht mehr gleich. 17 18 Behandlung fehlender Werte Normalisierung von Werten Missing Values Stören beim Data Mining Ersetzung durch: min, max, mean, mode, none, custom value oder Elimininierung des Attribute Normalize Wertebereiche unterscheiden sich z.b. Alter und Einkommen manche Algorithmen reagieren darauf z.b. Einkommen wichtiger als Alter Lösung: Normalisierung Vorgehen Auswahl des Attributs Angabe einer Formel Angabe des Wertebereichs 19 20
Transformieren von Werten Behandlung von Ausreißern Numeric Ähnlicher Ansatz wie Normalize Ziel: Werte besser vergleichbar Bsp: Formel ln(x plus a) Outlier Treatment Manche Algorithmen reagieren empfindlich auf Ausreiser Thresholds Vielfaches der Standardabweichung Angabe eines Anteils der ignoriert werden soll Angabe einer Ober- und Untergrenze Ersetzen der Werte mit Null Grenzwert 21 22 Nutzen von Abbildungsfunktionen Unterteilung des Datenbestandes Recode Werte oder Wertebereiche ersetzen Bedingung definieren Value <=,>= oder = Range Null value Other values Für Data Mining werden drei Datensätze benötigt: Training Set: Model Erstellung Test Set: Modell Test (manchmal) Validation Set: Model Tuning Aufbereitete Relation muss unterteilt werden 23 24
Einfache Unterteilung des Datensatzes Split erstellt automatisch zwei Tabellen Festlegung der Tabellengröße aber: keine Möglichkeit, inhaltlich auf die Zerlegung Einfluss zu nehmen Unterteilung der Datenmenge mit geg. Seed Sample Zufällige Auswahl der Tupel Parameter: Größe in Prozent oder absolut Reproduzierbarkeit Über Random Number Seed gleicher Random Number Seed liefert stets gleiches Sample 25 26 Unterteilung der Datenmenge nach Attribut I Stratified Sample gewichtetes Sampling Sampling abhängig von Attributverteilung Beispiel: Anteil Frauen an der Bevölkerung 50% Sample sollte das widerspiegeln Unterteilung der Datenmenge nach Attribut II Vorgehen Sample Distribution je 50 Prozent Ergebnis unten links Sample rechts Stratified Sample 27 28
Bedeutung von Attributen Zur Vorhersage eines Zielattributs sollten die Attribute genutzt werden die großen Einfluss auf dieses Attribut haben Tool hier: Attribute Importance. Parameter Zu analysierender Datensatz Optional: Automatic Preparation Fehlende Werte werden behandelt Diskretisierung wird durchgeführt kategorische Werte werden neu zusammengefasst Aber: Bessere Ergebnisse durch manuelle Bearbeitung Umwandlung von Sichten in Tabellen Für Perfomanz sinnvoll Vorgehen: View angeben Name der Tabelle angeben 29 30