Automatisation de la construction de modèles/formation à l'ShareThisaide de la plate-forme H20
Dr. Changyi Zhu, ingénieur principal
Une interface H2O (version 2/h2o-2) Rest API (Java), comme indiqué ci-dessous, a été créée à ShareThispour automatiser la construction de modèles et le recyclage
Afin d'améliorer les performances de la campagne, il est impératif de rafraîchir continuellement les modèles appris de la machine afin que les modèles utilisent des données récentes pour un réglage fin. Pour ce faire, nous avons besoin d'un pipeline automatisé. Nous utilisons H20 ( http://http://h2o.ai/ ) plate-forme pour construire des modèles. Il a une belle interface utilisateur pour construire de nouveaux modèles. L'interface utilisateur est vraiment pratique pour expérimenter de nouveaux modèles mais une fois qu'un algorithme de modèle a été décidé, le recyclage avec des données plus récentes et le poussant à la production devrait être beaucoup plus automatisé (piloté par API). Puisque plus de l'infrastructure est sur Java, nous voulons construire une interface qui le rendra facile.
Préparer les propriétés d'entrée du générateur de modèles
Un fichier de propriétés d'entrée par défaut (pour GBM ou GLM Model) est fourni par cette interface. Les JSON affichés ci-dessous peuvent être modifiés pour un modèle spécifique (GBM).
Construire le modèle
Un script bash par défaut illustré ci-dessous peut être modifié pour exécuter la build (pour un modèle GBM).
#!/bin/bash
java $CLASSPATH com.ShareThis.service.h2o.model.GBM bin/res/gbm.properties
Un fichier jar pour le modèle sera généré par l'interface et peut être chargé par une application dynamiquement pour l'optimisation. La demande de repos et la réponse sont sauvegardées dans un fichier journal pour une analyse plus poussée afin d'automatiser le processus de construction/recyclage de modèles
Analyser la réponse de repos pour le modèle de construction/recyclage
Le fichier journal peut être chargé par un analyseur à l'aide de Java. util. Les propriétés et les réponses REST, qui sont enregistrées en tant que paires clé/valeur, peuvent être accessibles via les clés suivantes:
public static final Stringfichierd'importation réponse
public static final String analyser la réponse dufichier
public static final String modèle de réponse deBuild
public static final String modèlePREDICTIONResponse
public static final String modèleINSPECTResponse
public static final String ModelCalcAUC_RESPONSE
Les valeurs de réponse peuvent être désérialisées dans une liste d'objets Java à l'aide des classes incluses dans l'interface. Ces réponses peuvent ensuite être analysées par un analyseur, qui fait partie d'un projet futur, pour un ensemble donné de règles pour accorder les propriétés d'entrée du modèle pour un modèle spécifique.