{"id":15927,"date":"2020-08-28T16:19:44","date_gmt":"2020-08-28T14:19:44","guid":{"rendered":"http:\/\/54.194.80.134.nip.io\/?p=15927"},"modified":"2020-08-31T08:36:10","modified_gmt":"2020-08-31T06:36:10","slug":"integration-von-machine-learning-pipelines-in-die-sap-systemlandschaft","status":"publish","type":"post","link":"https:\/\/www.cubeserv.com\/de\/integration-von-machine-learning-pipelines-in-die-sap-systemlandschaft\/","title":{"rendered":"Integration von Machine Learning Pipelines in die SAP Systemlandschaft"},"content":{"rendered":"\t\t
Wie kann eine Machine Learning Pipeline mit einer graphischen Benutzeroberfl\u00e4che in Ihrer Die Screenshots wurden im Rahmen eines Workshops bei der Swiss Data Science Conference 2020 mit SAP Data Intelligence Version 3.0 erstellt.<\/p> Als erster Use Case wurde die Preisvorhersage von Autos gew\u00e4hlt. Das entsprechende Datenset ist auf Kaggle zu finden, siehe\u00a0https:\/\/www.kaggle.com\/bozungu\/ebay-used-car-sales-data<\/a>.\u00a0Der vorherzusagende Wert (output variable) ist der Preis in Euro f\u00fcr den ein Gebrauchtwagen in 2016 angeboten wurde. Die Daten sind in einer SAP HANA Datenbank gespeichert, wodurch ein In-Memory Zugriff und somit eine hohe Performance gew\u00e4hrleistet ist.<\/p> Das angewendete Vorgehensmodell basiert auf dem\u00a0Cross Industry Standard Process for Data Mining (CRISP-DM) framework. Die ersten vier Phasen (Gesch\u00e4ftsverst\u00e4ndnis, Datenverst\u00e4ndnis, Modellierung und Evaluation) wurden zun\u00e4chst mit der Unterst\u00fctzung von Jupyter Notebook mit Python umgesetzt. Anschliessend wurde die Parameterkonfiguration des Gradient Boosting Regression Algorithmus mit dem kleinsten\u00a0Root Mean Squared Error (RMSE) verwendet um die Machine Learning Pipeline in der graphischen Benutzeroberfl\u00e4che von SAP Data Intelligence zu modellieren und im letzten Schritt als RESTful API zu deployen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t In der Phase des „Datenverst\u00e4ndnis“ bietet die Verwendung von Jupyter Notebooks in der Programmiersprache Python eine Vielzahl von Funktionalit\u00e4ten zur Analyse und der entsprechenden Aufbereitung der Ergebnisse. Im nachfolgenden Screenshot sind verschiedene Werte zu den Spalten in dem verwendeten Datenset zu finden, bspw. die Eindeutigkeit der Werte, Null-Werte sowie Durchschnitts- und Medianwerte. Damit ist bspw. m\u00f6glich herauszufinden ob eine Ausreisser Behandlung notwendig ist und wie das Datenset sinnvoll in Training- und Validierungsdatenset aufgeteilt werden kann.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Nach dem Kennenlernen der Daten ist die Wahl des zu verwendenden Algorithmus auf das Hybrid Gradient Boosting Regression aus SAP Predictive Analytics Library (SAP PAL) gefallen. Die eingetragenen Parameter wurden als Start-Konfiguration gew\u00e4hlt, dann die zu verwendenden Spalten bzw. Features angegeben um im letzten Schritt eine Vielzahl von Trainingsmodellen zu erstellen. F\u00fcr technische und mathematische Detailinformationen zum Gradient Boosting in Python kann ich folgende Webseite empfehlen: Gradient Boosting in Python from Scratch<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Anschliessend besteht die M\u00f6glichkeit die Qualit\u00e4t der Modelle nach\u00a0verschiedenen statistischen Kennzahlen zu bewerten. Im untenstehenden Screenshot wurde der Root-Mean-Square Error (RMSE) als Kennzahl gew\u00e4hlt. Die Parameter (N_ESTIMATORS und MAX_DEPTH) die zum kleinsten RSME gef\u00fchrt haben, wurden gew\u00e4hlt um das zu verwendende Modell zu trainieren.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Nach der Modellierung und Evaluation habe ich es in der Vergangenheit h\u00e4ufig erlebt, dass es f\u00fcr Unternehmen eine grosse Herausforderung ist, die entwickelten und evaluierten Modelle in Produktion zu deployen. Die Integration in die bestehenden Gesch\u00e4ftsprozesse sowie die Machine Learning Pipeline \u00fcber verschiedene IT-Systeme (mit unterschiedlichen Programmiersprachen) zu steuern geh\u00f6rten ebenfalls zu den teils untersch\u00e4tzten Aktivit\u00e4ten. Der Data Intelligence Modeler erlaubt diese Integration von IT-Systemen und Programmiersprachen in einer graphischen Benutzeroberfl\u00e4che. Im nachfolgenden Screenshot ist die Data Pipeline ersichtlich, welche zum Training des\u00a0 st\u00e4rksten Modells verwendet wird.\u00a0\u00a0<\/p> Da die Modellierung und Evaluation im CRSIP-DM h\u00e4ufig in mehreren Iterationen durchgef\u00fchrt werden, ist sinnvoll und zugleich hilfreich dies in\u00a0<\/span>Jupyter\u00a0Notebook durchzuf\u00fchren. Anschliessend\u00a0 k\u00f6nnen\u00a0<\/span>der Standard-Komponente „HANA ML Training“ die Parameter, die zum st\u00e4rksten Modell gef\u00fchrt haben, \u00fcbergeben werden.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t In jeder Pipeline im Data Intelligence Modeller k\u00f6nnen verschiedene Operatoren verwendet werden. Ein Beispiel ist das „HANA ML Training“. Es kann jedoch bspw. auch der Python Operator verwendet werden, um individuelle Python Code oder R Code zu integrieren (bspw. falls nicht ein Algorithmus aus der SAP PAL verwendet werden soll, wie in diesem Beispiel).\u00a0<\/p> Der Zugriff auf eine Vielzahl von Datenbanken, Cloud Anbieter und weitere SAP Produkte wie S\/4HANA ist ebenso m\u00f6glich wie die Steuerung von SAP BW Prozessketten.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Nach der Erstellung des st\u00e4rksten Modells kann dieses nun in einer Consumer-Pipeline via einem RESTful API zur Verf\u00fcgung gestellt werden, wie im nachfolgenden Screenshot abgebildet.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Nach erfolgreichen Deployment ist es m\u00f6glich mit einem POST-Request die Schnittstelle zu benutzen, um sich f\u00fcr ein Auto den Preis vorhersagen zu lassen. Die Eigenschaften werden (wie im nachfolgenden Screenshot abgebildet) im JSON-Format im Body des POST-Request mitgegeben.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Wie kann eine Machine Learning Pipeline mit einer graphischen Benutzeroberfl\u00e4che in Ihrer SAP Systemlandschaft erstellt und voll-integriert angewendet werden? In diesem Blog-Beitrag habe ich Ihnen gezeigt, wie dies mit SAP Data Intelligence m\u00f6glich ist. <\/p>\n Des Weiteren ist es durch die Verwendung der Jupyter Notebooks mit Python einfach m\u00f6glich die sehr iterative Vorgehensweise bei Data Mining oder Data Science Vorhaben integriert umzusetzen und einfach in bestehende Gesch\u00e4ftsprozesse und IT-Prozesse zu integrieren und dadurch einen Mehrwert zu bieten.<\/p>\n Gerne tausche ich und meinen Kollegen\/innen mich mit Ihnen \u00fcber Ihre Data Science Vorhaben aus und wir pr\u00fcfen inwieweit wir Sie in Zukunft unterst\u00fctzen k\u00f6nnen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
SAP Systemlandschaft erstellt und voll-integriert angewendet werden? In diesem Blog-Beitrag zeige ich Ihnen wie es geht.<\/span><\/p>Data understanding in Python mit Jupyter Notebook<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Model training and evaluation mit Hybrid Gradient Boosting Regression<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Verwendung Parameterkonfiguration im SAP Machine Learning Operator zur In-Memory Ausf\u00fchrung<\/h2><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Deployment des Machine Learning Models via RESTful API<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Aufruf RESTful API zur Preisvorhersage auf Basis des Machine Learning Modells<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Integration von Machine Learning Pipelines in Ihre IT-Systemlandschaft<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t\tVereinbaren Sie jetzt Ihren<\/span>\n\t\t\t\t\n\t\t\t\t\tExpert Call.<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t\tWir freuen uns \u00fcber Ihre Nachricht.<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t
Benedikt Bleyer<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
Design, Build and Run Your Business Analytics Platform. Professional experience in Advanced Analytics, Data Integration, Data Governance & Enterprise Planning.<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
\n\t\t\t\t\t\t\t