<Insert Picture Here> Oracle Data Mining 11.2 Maik Sandmann Oracle Deutschland B.V. & Co. KG [email protected] The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2 Agenda • • • • • • • Data Mining ist Teil des Datenbankkernels Data Mining mit Oracle Exadata Data Mining Funktionen Data Mining Algorithmen Datenaufbereitung Predictive Analytics Wo finde ich Informationen über Oracle Data Mining 3 „If I had one hour to save the world, I would spend fifty-five minutes defining the problems and only five minutes finding the solution“ Albert Einstein http://www.wikihow.com/define-a-problem 4 Was ist Data Mining und was nicht ??? Quelle: http://www.crisp-dm.org/Process/index.htm 5 Wettbewerbsvorteile sichern Optimierung “Predictive” Modellierung Wettbewerbsvorteil $$ Was wäre der bestmöglichste Fall? Forecasting / Extrapolation Statistische Analyse Was wird als Nächste passieren? Was passiert, wenn der Trend fortläuft? Analytics Warum ist es passiert? Alarmierung Welche Aktionen sind notwendig? Wo liegt genau das Problem? Access & Ad hoc - Berichte Wie häufig, wo, wie viel mal? Berichtswesen Standardberichte Was ist passiert? Query/Drill Down “Degree of Intelligence” Quelle: Competing on Analytics, by T. Davenport & J. Harris 6 Geschäftsanforderungen Voraussagen individuellen Verhaltens Klassifizierung Finden von Segmenten oder Clustern Clustering Beziehung zwischen Zielattributen herausfinden Finden gleichzeitig auftretenden Events Finden betrügerischer - oder seltener Events Attribute Importance Associations Anomaly Detection 7 Data Mining ist Teil des Datenbankkernels • • • • • • • • • Kein Datentransfer in Drittsysteme Bessere Kontrolle durch Vermeidung redundanter Daten Vereinfachung durch automatisierte Datenaufbereitung Einheitliche Adminstration Einfache Datenaktualisierung (Refresh) Nutzung vorhandener analytische Funktionen in Oracle Integration mit den gesamten Oracle Technologie Stack „Ein“ Domain Konzept Verfügbar über PL/SQL, JAVA und SQL select cust_id from customers where region = „US‟ and prediction_probability(churnmod, „Y‟ using *) > 0.8; 8 Was ist neu in Data Mining 11g Rel.1 • Kein DMSYS Schema mehr – Data Mining Modelle werden als Data Dictionary Objekte im SYS Schema abgelegt. • Neue System- und Objektprivilegien für den Zugriff • Automatic Data Preparation (ADP) • Neue Algorithmen (z.B. Gereralized Linear Models) – Logistische Regression (Klassifizierung) – Regression (Regression) • Neue SQL Minging Funktionen – Prediction_Bounds, Add_Cost_Matrix, ... 9 Was ist neu in Data Mining 11g Rel.2 • Einführung von PMML Version 3.1 (mit 11.2.0.2) – Siehe DBMS_DATA_MINING.IMPORT_MODEL • 12 Algorithmen und 15 statistische Funktionen (DBMS_STAT_FUNCS) 10 Oracle Data Miner 11g Release 2 GUI für die Oracle Data Mining Option • Grafisches Interface für Datenanalysten • SQL Developer Extension (OTN download) • Aufzeigen der Daten Entdecken neuer Muster (explore) • Erstellen und evaluieren von DM Modellen • Apply von “Predictive” Modellen • Verfügbarkeit von analytischen Workflows • Deployen von SQL Apply Code / Skripten 11 Explore Data • Thumbnail Verteilung eines jeden Attributs – Gruppiert mit Attributen • Zusammenfassung aller Attribute – Min, max, stdev, variance median, mean, skewness, kurtosis, etc. 12 Erstellen und Evaluieren • Modelvergleiche und Performanzergebnisse • Abgleich und Tuning der vorausssagenden Modelle 13 Darstellung der Modell - Details • Interaktive Modellsicht 14 Analytische “Work Flow” Methodologie • Erstellen, verteilen und automatisieren 15 SQL Developer Active Query Builder • Neuer, einfacher, interaktiver Query Builder im SQL Developer für die Datenaufbereitung 16 Beispiel: Einfaches, Predictive SQL Selektiere die Kunden, die mit mehr als 85% Wahrscheinlichkeit “HIGH VALUE” Kunden sind, und zeige deren Alter und Einkommen an. SELECT cust_id, prob FROM (SELECT cust_id, PREDICTION_PROBABILITY (nb_sh_clas_sample, 1 USING *) prob FROM mining_data_apply_v WHERE cust_id < 100011) ORDER BY cust_id; 17 Data Mining Funktionen (Klassen) Supervised Funktionen Unsupervised Funktionen • Attribute Importance • Classification • Regression • • • • Association Rules Anomaly Detection Clustering Feature Extraction 18 Verfügbare Algorithmen Supervised Funktionen • Decision Tree (DT) • Naive Bayes (NB) • Generalized Linear Models (GLM) • Support Vector Machine (SVM) • Minimum Description Length (MDL) Unsupervised Funktionen • Apriori (AP) • k-Means (KM) • Non-Negative Matrix Factorization (NMF) • One Class Support Vector Machine (One-Class SVM) • Orthogonal Partitionining Clustering (O-Cluster oder OC) 19 Vorhandene PL/SLQ Pakete • DBMS_DATA_MINING – Die Apply Prozedur erzeugt Tabelle mit Spalten, basierend auf den verwendeten Algorithmus • DBMS_DATA_MINING_TRANSFORM – Mit der Stack Prozedur kann eine Transformationsliste erstellt und dem Modell mitgegeben werden. • DBMS_PREDICTIVE_ANALYTICSBein Beinhaltet automatische Routinen für Predict, Explain und Profile Operationen. 20 Administration - Data Mining Views ALL_, DBA_ und USER_VIEWS: • ALL_MINING_MODELS • ALL_MINING_MODEL_ATTRIBUTES • ALL_MINING_MODEL_SETTINGS 21 SQL Funktionen für Prognosen (Prediction) Data Mining Funktionen sind SQL Operatoren, die für das Deployment der Mining Modelle gentutz werden. SELECT cust_id FROM (SELECT cust_id FROM mining_data_apply_v WHERE country_name = 'Italy' ORDER BY PREDICTION_PROBABILITY(DT_SH_Clas_sample, 1 USING *) DESC, cust_id) WHERE rownum < 11; PREDICTION PREDICTION_BOUNDS (nur GLM) PREDICTION_COST PREDICTION_DETAILS PREDICTION_PROBABILITY PREDICTION_SET 22 Predictive Analytics Ist ein „Verfahren“, die DM Prozesse in einfacher Art und Weise durchführt. Manchmal auch unter dem Begriff „One-Click“ - DM bekannt, setzt es keine Data Mining Kenntnisse voraus. • Keine Mining Modelle notwendig. • Kein Verständnis der Mining Funktionen notwendig. • Kein Verständnis der Algortihmen notwendig. 23 Predictive Analytics - Operationen Operationen: • EXPLAIN • PREDICT • PROFILE API: DBMS_PREDICTIVE_ANALYTICS Beispiel eines EXPLAIN„S 24 11g Statistiken & SQL Analytic(Free) • Ranking functions – rank, dense_rank, cume_dist, percent_rank, ntile • Window Aggregate Funktionen (moving and cumulative) – Avg, sum, min, max, count, variance, stddev, first_value, last_value • LAG/LEAD Funktionen – Direct inter-row reference using offsets • Reporting Aggregate Funktionen – Sum, avg, min, max, variance, stddev, count, ratio_to_report • Statistische Aggregationen – Correlation, linear regression family, covariance • Linear Regression – Fitting of an ordinary-least-squares regression line to a set of number pairs. – Frequently combined with the COVAR_POP, COVAR_SAMP, and CORR functions Statistics Beschreibende Statistik – DBMS_STAT_FUNCS: summarizes numerical columns of a table and returns count, min, max, range, mean, median, stats_mode, variance, standard deviation, quantile values, +/- n sigma values, top/bottom 5 values • Korrelations – Pearson’s correlation coefficients, Spearman's and Kendall's (both nonparametric). • Cross Tabs – Enhanced with % statistics: chi squared, phi coefficient, Cramer's V, contingency coefficient, Cohen's kappa • Hypothetisches Testing – Student t-test , F-test, Binomial test, Wilcoxon Signed Ranks test, Chi-square, Mann Whitney test, Kolmogorov-Smirnov test, One-way ANOVA • Distribution Fitting – Kolmogorov-Smirnov Test, Anderson-Darling Test, Chi-Squared Test, Normal, Uniform, Weibull, Exponential Anmerkung Statistiken und SQL Analytics sind auch in der Oracle Database Standard Edition enthalten. 25 Weiterführende Informationen Oracle Data Mining auf OTN Oracle Data Mining Blog Oracle Data Mining 26 27 28