Automatisierung der Modellbildung/Umschulung @ShareThis unter Verwendung der H20-Plattform
Dr. Changyi Zhu, leitender Ingenieur
Eine H2O (Version 2/h2o-2) Rest API (Java) Schnittstelle, wie unten gezeigt, wurde unter ShareThis erstellt, um die Modellerstellung und das Retraining zu automatisieren
Um die Kampagnenleistung zu verbessern, ist es unerlässlich, die maschinell gelernten Modelle kontinuierlich zu aktualisieren, damit die Modelle aktuelle Daten für die Feinabstimmung verwenden. Um dies zu erreichen, brauchen wir eine automatisierte Pipeline. Wir verwenden H20 ( http://http://h2o.ai/ ) Plattform, um Modelle zu erstellen. Es hat eine schöne Benutzeroberfläche, um neue Modelle zu bauen. Die Benutzeroberfläche ist wirklich praktisch, um mit neuen Modellen zu experimentieren, aber sobald ein Modellalgorithmus entschieden ist, sollte die Umschulung mit neueren Daten und deren Weitergabe an die Produktion viel automatisierter sein (API-gesteuert). Da ein Großteil der Infrastruktur auf Java basiert, wollen wir eine Schnittstelle aufbauen, die es einfach macht.
Vorbereiten der Eingabeeigenschaften des Model Builders
Eine standardmäßige Eingabe-Eigenschaftsdatei (für GBM- oder GLM-Modell) wird von dieser Schnittstelle bereitgestellt. Die unten gezeigten jsons können für ein bestimmtes (GBM-)Modell modifiziert werden.
Erstellen des Modells
Ein unten gezeigtes Standard-Bash-Skript kann geändert werden, um den Build auszuführen (für ein GBM-Modell).
#!/bin/bash/bash
java $CLASSPATH com. sharethis .service.h2o.model.GBM bin/res/gbm.properties
Eine jar-Datei für das Modell wird von der Schnittstelle erzeugt und kann von einer Anwendung dynamisch zur Optimierung geladen werden. Sowohl die REST-Anfrage als auch die Antwort werden zur weiteren Analyse in einer Protokolldatei gespeichert, um den Modellbildungsprozess zu automatisieren.
Analyse der REST-Reaktion für Modellbau/Umschulung
Die Protokolldatei kann von einem Analysator über java.util. geladen werden. Auf Eigenschaften und die REST-Antworten, die als Schlüssel/Wertpaare gespeichert sind, kann über die folgenden Schlüssel zugegriffen werden:
public static final Zeichenkette IMPORTFILERESPONSE
public static final string PARSEFILERESPONSE
public static final String String MODELBUILDRESPONSE
public static final String String MODELPREDICTRESPONSE
public static final String String MODELINSPECTRESPONSE
public static final Zeichenkette MODELCALCAUC_RESPONSE
Die Antwortwerte können über die im Interface enthaltenen Klassen in eine Liste von Java-Objekten deserialisiert werden. Diese Antworten können dann von einem Analysator, der Teil eines zukünftigen Projekts ist, für ein bestimmtes Regelwerk analysiert werden, um die Modelleingabeeigenschaften für ein bestimmtes Modell anzupassen.