Upload
phamnguyet
View
222
Download
0
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
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
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: 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
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• :
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 ...
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
• PL/SQL-Funktionen • DBMS_DATA_MINING.COMPUTE_CONFUSION_MATRIX• DBMS_DATA_MINING.COMPUTE_ROC• DBMS_DATA_MINING.COMPUTE_LIFT
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