Machine Learning mit SAP HANA

Immer wieder werden die Funktionen und Algorithmen am durchgängigen betriebswirtschaftlichen Beispiel einer Abwanderungsanalyse/Kündigungsvorhersage praktisch veranschaulicht. Dabei lernen Sie einzuschätzen, wie Sie diese Techniken für eigene Szenarien einsetzen und etwaige Hürden bei der Implementierung leichter überwinden.

Leseprobe:

Machine Learning, Data Science und künstliche Intelligenz sind Technologieansätze, die in den letzten Jahren viel Aufmerksamkeit erfahren haben und deren Einsatz sich in Wirtschaft und Industrie zunehmend verbreitet.

Die SAP hat in den letzten Jahren in allen drei Bereichen neue Lösungen auf den Markt gebracht und bestehende Produkte weiterentwickelt. Insbesondere SAP HANA als leistungsfähige In-Memory-Datenbank, Datenplattform und Herzstück vieler moderner SAP-Produkte bietet vielfältige Machine-Learning-Algorithmen. Zentrale Bausteine sind die beiden HANA-nativen Bibliotheken Predictive Analysis Library und Automated Predictive Library. Diese können sowohl mit SQLScript als auch mit Non-SAP-Sprachen wie Python oder R verwendet werden.

Mit diesem Buch möchte ich Ihnen einen Überblick über die Möglichkeiten geben, die SAP HANA für den Einsatz von Machine Learning (ML) bietet, und anhand ausgewählter Beispiele zeigen, wie man die HANA-Algorithmen implementieren kann. Dadurch sollen Sie besser einschätzen lernen, wie Sie diese Techniken für eigene Szenarien einsetzen und etwaige Hürden bei der Implementierung leichter überwinden.

Im ersten Kapitel erläutere ich zunächst wichtige Begriffe und Vorgehensweisen des Machine-Learning-Prozesses. Sie werden lernen, wie Sie die Beispieldaten in Ihre HANA-Plattform importieren sowie notwendige Schemata und Tabellen erstellen. Diese Vorbereitungen dienen als Grundlage, um die praktischen Beispiele in den Folgekapiteln nachzuvollziehen. Sie erfahren außerdem, wie Sie die Python-Tools, z.B. das Jupyter Notebook, einsetzen und von dort eine Verbindung zur Ihrer HANA-Instanz aufbauen.

2.1.2 Testen des trainierten Modells

In diesem Abschnitt wenden Sie das trainierte Modell (aus dem vorherigen Abschnitt) auf neue Daten an, die dem Lernalgorithmus zum Zeitpunkt des Trainings nicht präsentiert wurden. Durch den Vergleich zwischen vorhergesagter und tatsächlicher Klasse lässt sich die Verallgemeinerungsfähigkeit des Modells beurteilen.

Die Prognosebildung wird durch die Prozedur <code>_SYS_AFL.PAL_DECISION_TREE_PREDICT</code> durchgeführt. Diese Methode hat folgende Eingabeargumente:

  • DATA: die Tabelle mit den Eingabedaten für die Prognose
  • MODEL: das trainierte Modell für die Prognosebildung
  • PARAMETER: Parametertabelle zur Steuerung der Prognose

Im Eingabeparameter <code>DATA</code> übergeben Sie genau die Datensätze der Tabelle <code>CHURN</code>, die beim Training nicht verwendet wurden. Diese befinden sich – nach Ausführung des Codes aus Abschnitt 2.1.1 – in der Tabellenvariablen <code>lt_input_test</code> (vgl. Listing 2.2). Anders als bei den Trainingsdaten wird aber die letzte Spalte <code>EXITED</code> nicht übergeben. Diese soll nun vom Modell prognostiziert werden.

4.1 Datenexploration und -vorbereitung mit HANA-Techniken

Daten, die in SAP HANA gespeichert sind, können in Python abgefragt und transformiert werden. Ein wichtiger Baustein dafür ist der HANA Dataframe, den der Python ML Client im Paket <code>hana-ml</code> bereitstellt.

Die im Folgenden dargestellten Python-Quellcodes bilden eine logische Einheit. Ich empfehle, diese im Jupyter Notebook oder JupyterLab – eine Erweiterung des Jupyter Notebook – auszuführen. Jedes Listing entspricht einem Quellcodeblock im Jupyter Notebook. Nach Ausführung eines Blocks wird Ihnen das Ergebnis direkt im Jupyter Notebook in Form von Diagrammen oder Tabellen ausgegeben. Somit entsteht über die Zeit ein Notizbuch, bestehend aus Quellcode und den zugehörigen Ergebnissen. Die Python-Befehle funktionieren ebenso – evtl. mit kleineren Anpassungen – in anderen Umgebungen, etwa in der Python-Konsole oder in Entwicklungsumgebungen.

In den folgenden Abschnitten zeige ich Ihnen die verschiedenen Funktionen rund um den HANA Dataframe, mit denen Sie Daten u.a. abfragen, analysieren und transformieren können.

Als Beispieldaten nutze ich größtenteils wieder die Tabelle CHURN mit den Kundendaten aus Abschnitt 1.3. Die hier gezeigten Techniken können also auch verwendet werden, um etwa das Kündigungsverhalten von Kunden zu analysieren oder erste Voruntersuchungen der Daten zu machen, bevor wir in Abschnitt 4.3 mit dem Entwickeln von Machine-Learning-Modellen loslegen.

6.1.2 SAP S/4HANA

Für S/4HANA liefert die SAP standardmäßig Prognoseapplikationen zur Unterstützung verschiedener Geschäftsprozesse aus. Diese Applikationen nutzen das virtuelle S/4-Datenmodell der jeweiligen Module und trainieren Machine-Learning-Modelle in der HANA-Datenbank. Eigene Modelle können Sie mit dem Tool Intelligent Scenario Lifecycle Management (ISLM) trainieren und verwalten. Dieses Tool unterstützt zwei Ansätze:

  • Embedded Machine Learning: Verwendung der PAL und APL der HANA-Instanz des S/4-Systems
  • External Machine Learning: Einbindung von externen Prognosefunktionen aus SAP Data Intelligence (SAP DI)

Beim ersten Ansatz werden die ML-Algorithmen in der HANA-Instanz des S/4-Systems ausgeführt. ISLM bietet hierzu ein UI, mit dem Sie neue Machine-Learning-Szenarien erstellen, die Sie im S/4-Framework »Embedded Analytics« oder in eigener ABAP-Businesslogik verwenden können. Weitere Informationen hierzu finden Sie im SAP-Blog »Leveraging Machine Learning with the ISLM Framework« [27].

Wenden Sie hingegen gemäß dem zweiten Ansatz SAP DI an, findet der gesamte Entwicklungsprozess der ML-Modelle in der Software SAP Data Intelligence statt. Nach dem Trainingsprozess werden die produktionsreifen Modelle von SAP DI zur externen Nutzung in einem Webservice gekapselt. Dieser Webservice lässt sich im S/4-System in ISLM einbinden und wird zum Zeitpunkt der Prognosebildung aufgerufen.

Themen

  • Machine Learning
  • SAP
  • Cloud
  • ABAP
  • HANA

Für den Newsletter anmelden und nie mehr Neuerungen verpassen!

Als Dank erhalten Sie 10% Rabatt auf eine Einze-Jahreslizenz für unsere SAP-Lernplattform.1

* Pflichtfelder

1. Einmalig und nur für Neukunden. Der Gutschein ist nicht mit anderen Aktionen kombinierbar und nur bei Espresso Tutorials GmbH einlösbar.

Über uns

In unseren Printbüchern und E-Books servieren wir SAP-Wissen wie einen Espresso: Auf das Wesentliche – angereichert mit konkreten Fallbeispielsen und Videos.

Schlagwörter

  • Analysis
  • Analysis Office
  • Analytics
  • Analyzer
  • Berechtigung
  • BEx
  • BI
  • BPC
  • BusinessObjects
  • BW
  • Cloud
  • Design Studio
  • Einstieg
  • HANA
  • Lumira
  • Performance
  • Web Intelligence
  • SAP
  • SAPUI5
  • S/4HANA
  • SAP Fiori
  • ABAP

© 2011 - 2025 Espresso Tutorials