
Wenn Sie als Entwickler, IT-Mitarbeiter oder Data Architect entscheidende geschäftliche Fragen mittels automatisch erstellter Datenmodelle beantworten sollen, dann müssen Sie zuerst Algorithmen für Machine Learning entwickeln. Wenn Sie damit dann in der Lage sind, Informationen aus diesen Machine-Learning-Modellen abzurufen, spart das Zeitaufwand und beschleunigt den Prozess.
Vorhersagemodelle aus Datenbanken mit Oracle Machine Learning erstellen und anwenden inkl. Visualisierung – erklärt für Entwickler und Data Architects.
Eine wesentliche Unterstützung sind dabei nicht zuletzt die leistungsstarken Visualisierungen, die Sie mithilfe der Oracle Analytics Cloud sehr einfach erstellen können.
Die Oracle Datenbank bietet leistungsstarke Algorithmen für Machine Learning. Damit können Data Analysts verborgene Muster und Erkenntnisse offenlegen. Oracle Machine Learning (OML) versetzt Sie in die Lage, Vorhersagemodelle in der Database zu erstellen und anzuwenden, die Ihnen helfen, Kundenverhalten zu prognostizieren, Cross-Selling-Möglichkeiten zu identifizieren, Kundenprofile zu erstellen und Anomalien zu erkennen. Diese Algorithmen sind als SQL-Funktionen implementiert, die direkt innerhalb der Datenbank aufgerufen werden können, ohne die Daten zu transferieren. So nutzen Sie unmittelbar die inhärenten Stärken der Datenbank.
OML bietet eine breite Palette datenbankinterner Algorithmen zur Lösung verschiedener Arten von Business-Problemen. Für Klassifizierungen gibt es Algorithmen wie Naïve Bayes, Decision Tree und Support Vector Machine. Für das Clustering gibt es Enhanced K Means, O-Cluster usw.
Für jedes Machine-Learning-Modell, das in der Datenbank erstellt wird, werden verschiedene Arten von Informationen in Bezug auf das Modell in mehreren spezifischen DB-Tabellen und Views innerhalb der Datenbank gespeichert.
In diesem Blogbeitrag beginnen wir mit der Erstellung eines einfachen OML-Modells und untersuchen die verschiedenen Views, die mit dem Modell in der Datenbank erstellt werden. Außerdem zeigen wir, wie Sie diese Views nutzen können, um wertvolle Informationen über das Modell selbst zu erhalten.
Nehmen wir an, wir erhalten ein demografisches Dataset über eine Gruppe von Kunden und möchten die Kundenreaktion auf ein Affinity-Card-Programm mit Hilfe einer Klassifizierungsfunktion auf der Grundlage eines Decision-Tree-Algorithmus vorhersagen. Dieses Dataset enthält Kundenattributen wie cust_gender, cust_marital_status, education, occupation, houesehold_size und cust_id als Schlüsselelement.

Wir werden nun ein Klassifizierungsmodell unter Verwendung des Decision-Tree-Algorithmus erstellen, um diese Aufgabe zu lösen. Die Datenbank bietet mehrere Optionen, um die Genauigkeit eines Modells zu verbessern, z. B. die Behandlung fehlender Werte und von Ausreißern, eine Methode zur Eingrenzung von Daten mit hoher Kardinalität usw. Für unsere Zwecke in diesem Blogbeitrag wollen wir die mindestens erforderlichen grundlegenden Schritte zum Aufbau eines Decision-Tree-Modells verwenden.
Der für die Erstellung eines Klassifizierungsmodells verwendete Standard-Mining-Algorithmus ist Naïve Bayes. Um ein Decision Tree Classification Model zu erstellen, müssen wir zunächst eine Parametertabelle erstellen, ausfüllen und als Input für den Prozess der Modellerstellung verwenden.
Hier ist ein Beispiel zum Erstellen und Befüllen einer solchen Tabelle:
CREATE TABLE dt_sh_sample_settings
(setting_name VARCHAR2(30),
setting_value VARCHAR2(4000));
INSERT INTO dt_sh_sample_settings VALUES
(dbms_data_mining.algo_name, dbms_data_mining.algo_decision_tree);
Hier ist ein Beispiel zum Erstellen eines Klassifikationsmodells unter Verwendung des Decision-Tree-Algorithmus:
BEGIN
DBMS_DATA_MINING.CREATE_MODEL(
model_name => 'DT_TEST,
mining_function => dbms_data_mining.classification,
data_table_name => 'mining_data_build_v',
case_id_column_name => 'cust_id',
target_column_name => 'affinity_card',
settings_table_name => 'dt_sh_sample_settings');
END;
Jedes Mal, wenn ein Machine-Learning-Modell erstellt wird, gibt es einige Details zum Modell, die in ein paar Data-Mining-bezogenen Views gespeichert werden. Der folgende Abschnitt beschreibt die wichtigen Data-Mining-Views, die zum weiteren Verständnis des Modells genutzt werden können. Die Informationen aus diesen Views können mithilfe der Oracle Analytics Cloud einfach visualisiert werden.
a) ALL_MINING_MODELS – Diese View in der Datenbank beschreibt alle für den aktuellen Benutzer zugänglichen Mining-Modelle. Sie enthält Details über den model_name, die im Algorithmus verwendete mining_function (Klassifizierung, Regression, Clustering usw.), die zur Erstellung des Modells verwendet wurde (Naïve Bayes, Decision Tree usw.), das Erstellungsdatum, die Modellgröße usw. Diese View enthält einen Datensatz für jedes erstellte OML-Modell.
Es gibt zwei verwandte Views:
1) DBA_MINING_MODELS, wo alle Mining-Modelle in der Datenbank beschrieben sind;
2) USER_MINING_MODELS, wo die Modelle beschrieben sind, die vom aktuellen Benutzer sind.
Die Informationen der Views können innerhalb der Oracle Analytics Cloud visualisiert werden, indem sie dort als Dataset eingebunden werden.
Wichtiger Hinweis: Wenn Sie im Dialogfenster für die Erstellung des Datasets zu dem Schema navigieren, werden diese Data-Mining-Views nicht als Objekte aufgeführt. Sie können jedoch ein benutzerdefiniertes SQL Statement wie „Select * from ALL_MINING_MODELS“ eingeben, um den Dateninhalt abzurufen.

Hier ist ein Beispiel für die Ausgabe der View ALL_MINING_MODELS bezogen auf das Modell DT_TEST:

b) ALL_MINING_MODEL_ATTRIBUTES – Dies ist eine wichtige View. Sie enthält Informationen über die Spalten der Trainingsdaten, die zur Erstellung des Modells verwendet wurden. Für jedes Attribut sind in dieser View Details über den Attributnamen, den Datentyp sowie das Attribut „Target“ verfügbar. Auch in diesem Fall gibt es zwei verwandte Views: DBA_MINING_MODEL_ATTRIBUTES und USER_MINING_MODEL_ATTRIBUTES.
Hier ist ein Beispiel dieser View für ein Modell namens DT_TEST, wie es in der Oracle Analytics Cloud visualisiert wird:

c) ALL_MINING_MODEL_SETTINGS – Diese View beschreibt die Einstellungen des Mining-Modells. Hier ist ein entsprechendes Beispiel für die Einstellungen eines Modells namens DT_TEST, das mit Oracle Analytics Cloud visualisiert wurde:

d) ALL_MINING_MODEL_VIEWS – Dies ist eine weitere wichtige View, die eine etwas andere Art von Informationen liefert. Die Anzahl und Art dieser erstellten Modell-Views ist abhängig vom gewählten Algorithmus. Ein mit dem Naïve-Bayes-Algorithmus erstelltes ML-Modell verfügt über eine Reihe von verwandten Modell-Views. Bei einem ML-Modell, das unter Verwendung des Decision Trees erstellt wurde, werden andere Modell-Views erstellt usw. Nehmen wir zum Beispiel ein Decision-Tree-Modell namens DT_TEST.
Die folgende Abbildung zeigt die erstellten Modell-Views:

Beachten Sie, dass die View-Namen ein festes Format haben. Er beginnt mit DM$V, gefolgt von einem Buchstaben, der spezifisch für das Modell ist, gefolgt von dem Modellnamen. DM$V<Alphabet><Modellname>.
Für jedes ML-Modell, das in der Oracle Databank erstellt wird, gibt es eine Menge Metadaten über das Modell, die als Teil der Dictionary-Views verfügbar sind. Weitere Details über dieses Thema entnehmen Sie bitte der Oracle-Dokumentation.
Um zu erfahren, wie Sie von Oracle Analytics profitieren können, besuchen Sie Oracle.com/analytics. Und folgen Sie uns doch auch auf Twitter @OracleAnalytics.
Kontakt:
Ein spannendes Thema, über das ich gerne mit Ihnen spreche, per E-Mail, LinkedIn, Xing oder Twitter. Cesar Ortiz, Principal Solution Engineer.