Abstrakt
Das richtige Modell zu finden, um neue Ergebnisse anhand neuer Daten vorherzusagen, ist eine wichtige Leistung. Oftmals ist es jedoch nur ein Schritt auf einem Weg, dessen Ziel darin besteht, die Vorhersagekraft des Modells einem deutlich größeren Publikum zugänglich zu machen. JMP Pro bietet zahlreiche Tools, die die Anpassung, den Vergleich und die Auswahl von Vorhersagemodellen erleichtern. JMP Pro 13 hat das Formeldepot hinzugefügt: eine effiziente Möglichkeit, Modelle zu sammeln, auf neue Tabellen anzuwenden und auf die Plattformen „Modellvergleich“ und „Profiler“ zuzugreifen. Um die Bereitstellung von Modellen in der Produktion zu erleichtern, kann das Formeldepot diese auch in Scoring-Code in verschiedenen Programmiersprachen konvertieren. In diesem Tutorial veranschaulichen wir anhand einer Fallstudie aus der Immobilienbranche den Workflow der Vorhersagemodellierung. Wir erfassen Daten, bereiten sie für die Modellierung vor, generieren Vorhersagemodelle, veröffentlichen Modelle im Formeldepot und untersuchen und wählen die besten Modelle aus. Anschließend generieren wir Scoring-Code, um die Erstellung von Webanwendungen zu unterstützen, die Immobilienpreise „vor Ort“ berechnen können. Wir untersuchen außerdem verschiedene Methoden zur Datenbewertung und geben einen Überblick über aktuelle Bereitstellungsarchitekturen.
Tutorial-Inhalte
Das Endergebnis des Tutorials ist eine Webanwendung mit Prognosefunktionen, die auf AWS gehostet wird. Sie finden sie hier . Nachfolgend finden Sie eine Erläuterung der Inhalte des Tutorials, wie sie in den Anhängen dieser Seite zu finden sind.
Die Client-Ebene (siehe angehängte Datei RedFinWeb.zip) verwendet Bootstrap für die Benutzeroberfläche und OpenLayers für die Mapping-Funktionen. Sie ist als statische Website implementiert, die auf AWS S3 gehostet wird. Die Benutzeroberfläche erfasst die Benutzerdateneingaben über ein angepasstes HTML-Formular. Diese dienen als Eingabewerte für die Modellauswertung, die durch einen REST- Aufruf an die Compute-Ebene ausgelöst wird.
Die Rechenschicht (siehe angehängte Datei RedFinServerless.zip) nutzt zwei Amazon-Dienste: API-Gateway ist der Einstiegspunkt für die REST-Aufrufe, die einem AWS- Lambda- Dienst zugeordnet sind. Lambda ist Amazons Implementierung des Serverless-Architecture- Paradigmas, auch Function-as-a-Service (FaaS) genannt. Serverless bietet skalierbare Leistung bei geringen Verwaltungskosten für zustandslose Anwendungen mit geringer Latenz und hohem Durchsatz und eignet sich daher hervorragend für Scoring-Anwendungen, die per Definition peinlich parallel sind.
Der Lambda-Dienst war das endgültige Bereitstellungsziel für den von JMP generierten Python-Scoring-Code. Die Bereitstellung von Anwendungen in AWS-Diensten kann manuell über die Verwaltungskonsole erfolgen. Um den Prozess zu optimieren, empfehlen wir jedoch die Verwendung eines der zahlreichen verfügbaren Open-Source-Wrapper. In dieser Übung haben wir das Serverless Application Framework verwendet.
Beachten Sie, wie der Python-Code sowohl die Feature-Engineering-Aufgaben (Clustering, Binning, Imputation) als auch das darauf aufbauende Modell erfasst. Dadurch können dieselben Rohdatenquellen, die zur Erstellung des Modells verwendet wurden, auch zur Bewertung neuer Daten in der Produktion genutzt werden – ein wichtiger Aspekt beim Aufbau einer wartungsfreundlichen Analyse-Pipeline.
Im Anhang finden Sie außerdem ein Jupyter-Notebook (RedFinNotebook.zip), mit dem das Modell vor der Bereitstellung getestet wurde; eine Sammlung von Python-Modellen, die von JMP für das Wohnszenario generiert wurden (RedFinModels.zip); und die ursprüngliche JMP-Tabelle mit der Datenbereinigung und den Skripten zur Modellgenerierung (RedFinData.zip). Diese letzte ZIP-Datei enthält außerdem eine Tabelle, die veranschaulicht, wie das REST-Backend direkt von anderen Anwendungen zur Bewertung aufgerufen werden kann, in diesem Fall über eine Excel-Formel.
Verweise