35
<Insert Picture Here> Datenschätze heben: Data Mining Carsten Czarski Leitender Systemberater – Business Unit Database ORACLE Deutschland GmbH

- doag.org · Statistik und Analysen mit SQL • Ranking-Funktionen • rank, dense_rank, cume_dist, percent_rank, ntile ... • Datentransformation ohne

Embed Size (px)

Citation preview

<Insert Picture Here>

Datenschätze heben: Data MiningCarsten CzarskiLeitender Systemberater – Business Unit DatabaseORACLE Deutschland GmbH

Agenda

• Data Mining ... erste Schritte ...

• Der Data Mining-Ansatz von Oracle• Der Data Mining-Prozess

• Daten aufbereiten• Statistisches Modell bilden• Modell evaluieren• Modell anwenden

Grundlage des Data MiningStatistik und Analysen mit SQL

• Ranking-Funktionen• rank, dense_rank, cume_dist, percent_rank, ntile

• Analytische Funktionen (Query Window)• Avg, sum, min, max, count, variance, stddev, first_value, last_value

• Analytische Funktionen (Aggregate) • Sum, avg, min, max, variance, stddev, count, ratio_to_report

• Interrow-Berechnungen• Lag, lead

• Statistische Aggregate• Korrelation, Lineare Regression, Kovarianz

• Lineare Regression• "Methode der kleinsten Quadrate"• Kombination mit COVAR_POP, COVAR_SAMP, CORR

Data Mining ... mal ganz einfach ...Wovon hängt das Gehalt ab?

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ------- --------- ----- --------- ----- ----- ------7369 SMITH CLERK 7902 17-DEC-80 800 207499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 307521 WARD SALESMAN 7698 22-FEB-81 1250 500 307566 JONES MANAGER 7839 02-APR-81 2975 207654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 307698 BLAKE MANAGER 7839 01-MAY-81 2850 307782 CLARK MANAGER 7839 09-JUN-81 2450 107788 SCOTT ANALYST 7566 19-APR-87 3000 207839 KING PRESIDENT 17-NOV-81 5000 107844 TURNER SALESMAN 7698 08-SEP-81 1500 0 307876 ADAMS CLERK 7788 23-MAY-87 1100 207900 JAMES CLERK 7698 03-DEC-81 950 307902 FORD ANALYST 7566 03-DEC-81 3000 20

Data Mining ... mal ganz einfach ...Offensichtlich vom Job!

ATTRIBUTE_NAME EXPLANATORY_VALUE RANK-------------------- ----------------- ----------JOB .274372188 1HIREDATE_HH24 0 2DEPTNO 0 2COMM 0 2ENAME 0 2HIREDATE_D 0 2HIREDATE_MM 0 2HIREDATE_WW 0 2EMPNO 0 2HIREDATE_DDD 0 2: : :

Oracle Data Mining-Ansatz

• Direkt in der Datenbank

• Funktionalität steht in der Datenbank bereit• Data Mining Option• PL/SQL und Java API• Werkzeug: Oracle Data Miner• Oracle Excel Plugin

1. Data Mining 2. Ergebnis

Data Mining direkt in der DatenbankVorteile …

• Datentransformation ohne Materialisierung• Definition von Views • Pipelined Table Functions• Unterstützung auch "ausgefallener" Datentypen• Ausnutzung des Optimizers

• Skalierbarkeit auch bei großen Datenmengen• Durchgängige Sicherheitskonzepte

• Virtual Private Database / Row Level Security• Schutz vor dem DBA durch Database Vault• Greift auch für die Anwendung der Ergebnisse

Der Data Mining Prozess

Anforderung:Verständnis für die Daten ...

• Ermittelte Zusammenhänge sind statistischer Natur• Verständnis des "Geschäfts" absolut notwenig

• Sonst: U.U. Annahme sinnloser statistischer Aussagen

http://www.zeit.de/2006/25/Stimmt-s_P-25_xml

Der Data Mining Prozess

Daten vorbereiten

• Daten in Rohform für Data Mining meist ungeeignet• 50-80% der Projektzeit sind Daten-Aufbereitung• Daher Aufbereitung

• Ausreißer entfernen• Klassenbildung• Umkodieren• Aggregationen• Berechnungen• :

Daten vorbereiten

• Daten-Aufbereitung als View in der Datenbank• Vorteil:

• Daten werden nicht bewegt• Datenbankfunktionalität (bspw. Geodaten)• SQL = Standard-Sprache für Datenbearbeitung• Vorhandenes Know How kann genutzt werden• Werkzeugunterstützung durch Data Miner

SQL: View Definition

View (virtuelle Tabelle)

Oracle Data MiningInfrastruktur für die Datenaufbereitung

• DBMS_DATA_MINING_TRANSFORM• Framework für Datentransformation• Transformations-Metadaten im Data Dictionary hinterlegen• Spezielle Verfahren out-of-the-box (Bsp: Supervised Binning)• Views automatisch generieren

View (virtuelle Tabelle)

Oracle Data MiningInfrastruktur für die Datenaufbereitung

• Beispiel:Klassenbildung nach Perzentilen: Hier: 20

• Automatisches Generieren der View

Daten vorbereiten: Oracle Data Miner

Daten vorbereiten: Vorteil Oracle: Besondere Datentypen

• Objekt-Know How der Datenbank nutzen• Geodaten , Texte, XML, Bilder (Metadaten) ...

Automatische Daten-Aufbereitung

• Neu in Oracle11g: Automatic Data Preparation

• Modellspezifische Standard-Annahmen• Bsp: Supervised Binning für Klassifizierung• Erweiterbar durch eigene Attributklassen

• Standardmäßig abgeschaltet• DBMS_DATA_MINING.PREP_AUTO_ON

Der Data Mining Prozess

ModellbildungWelchen Algorithmus nehmen ...?

• Abhängig von der Aufgabenstellung ...• Klassifizierung

Naive Bayes, Decision Tree, SVM• Generialized Linear Models (GLM)

Lineare Regression, Logistic Regression• Attribute Importance

Minimum Descriptor Length (MDL)• Clustering

K-MEANS, O-Cluster• :

ModellbildungPL/SQL API

ModellbildungWelches ist der "beste" Algorithmus ...?

Iteratives Modell1. Daten aufbereiten 2. Modell erstellen (Statistische Methoden)3. Güte prüfen4. Daten erneut aufbereiten5. ... zurück zu 2 ...

Der Data Mining Prozess

Evaluierung des Modells ...

• Anhand von Testdaten• Vorherige Abtrennung von den Trainingsdaten• Anwendung des erstellten Modells auf die Testdaten

• Beurteilung des Modells anhand ...• Confusion Matrix

• ROC (Receiver Operating Characteristics)• Lift

Evaluierung des Modells ...ROC

Evaluierung des Modells

• PL/SQL-Funktionen • DBMS_DATA_MINING.COMPUTE_CONFUSION_MATRIX• DBMS_DATA_MINING.COMPUTE_ROC• DBMS_DATA_MINING.COMPUTE_LIFT

Der Data Mining Prozess

Anwendung

• Anwendung auf ganze Datenbestände• Oracle Data Miner• DBMS_DATA_MINING.APPLY

Anwendung ( real time)

• SQL-Funktionen• PREDICTION• PREDICTION_PROBABILITY• PREDICTION_COST• PREDICTION_BOUNDS (für GLM)

• Transaktionale Anwendung in ...• Stored Procedures, RDBMS Trigger, Views, ...

Anwendung ( real time)Gefundenes Modell LIVE nutzen

PRED PROB------------------- -----------1 0,7040

Anwendung ( real time)Gefundenes Modell LIVE nutzen

PRED PROB------------------- -----------0 0,5824

Data Mining direkt in der DatenbankVorteile …

• Durchgängige Sicherheitskonzepte• Virtual Private Database / Row Level Security• Schutz vor dem DBA durch Database Vault• Greift auch für die Anwendung der Ergebnisse

• Datentransformation ohne Materialisierung• Definition von Views • Pipelined Table Functions• Unterstützung auch "ausgefallener" Datentypen• Ausnutzung des Optimizers

• Skalierbarkeit auch bei großen Datenmengen• Kontrolle über Ressourcenverbrauch

• Resource Manager / Enterprise Manager Grid Control

Oracle Data Mining und SPSS

• Architektur• Clementine Client:

sendet den Data Mining Prozeßbeschreibende "stream description language" (SDL) zum Server

• Clementine Server:Optimiert das Data Mining, indembestimmte DM-Aufgaben an die Oracle Datenbank abgegeben werden

• Oracle Datenbank/ODM:führt diese Aufgaben aus und gibt aggregierte Ergebnisse an Clementinezurück

http://www.spss.com/clementine/oracle.htm

Weitere Informationen ...

• Oracle Technology Network: Data Mininghttp://www.oracle.com/technology/products/bi/odm/����index.html

• Oracle Data Miner: Download + Tutorialhttp://www.oracle.com/technology/products/bi/odm/����odminer.html

• Oracle Dokumentation• Data Mining Conceptshttp://download-uk.oracle.com/docs/cd/B19306_01/����datamine.102/b14339/toc.htm

• Data Mining Application Developer's Guidehttp://download-uk.oracle.com/docs/cd/B19306_01/����datamine.102/b14340/toc.htm

Data Mining ...... und Application Express

• Zweiteiliges Tutorial in der APEX Community• http://www.oracle.com/global/de/community/tipps/����datamining/index.html

• http://www.oracle.com/global/de/community/tipps/����datamining-2/index.html