Abstrait
Trouver le bon modèle pour prédire de nouveaux résultats à partir de nouvelles données est une étape importante. Mais il s'agit souvent d'une étape dans un parcours dont l'objectif final est de partager la puissance prédictive du modèle avec un public beaucoup plus large. JMP Pro propose de nombreux outils pour faciliter l'ajustement, la comparaison et la sélection de modèles prédictifs. JMP Pro 13 a ajouté le Formula Depot : un moyen efficace de collecter des modèles, de les appliquer à de nouvelles tables et d'accéder aux plateformes de comparaison et de profileur de modèles. Pour faciliter le déploiement des modèles en production, le Formula Depot peut également les convertir en code de scoring dans différents langages de programmation. Dans ce tutoriel, nous utilisons une étude de cas immobilière pour illustrer le workflow de modélisation prédictive. Nous compilerons les données, les préparerons pour la modélisation, générerons des modèles prédictifs, les publierons dans le Formula Depot, et explorerons et sélectionnerons le(s) meilleur(s) modèle(s). Ensuite, nous générerons du code de scoring pour soutenir la création d'applications web capables de calculer les prix de l'immobilier « instantanément ». Nous explorerons également différentes méthodes de scoring des données et présenterons un aperçu des architectures de déploiement actuelles.
Contenu du tutoriel
Le résultat final du tutoriel est une application web dotée de fonctionnalités de prédiction de logement hébergée sur AWS. Vous pouvez la trouver ici . Vous trouverez ci-dessous une explication du contenu associé au tutoriel, tel qu'il figure en pièces jointes à cette page.
Le niveau client (voir le fichier joint RedFinWeb.zip) utilise Bootstrap pour l'interface utilisateur et OpenLayers pour les fonctionnalités de cartographie. Il est implémenté sous la forme d'un site web statique hébergé sur AWS S3 ; l'interface collecte les données utilisateur saisies via un formulaire HTML personnalisé ; ces données sont utilisées comme valeurs d'entrée dans l'évaluation du modèle, déclenchée par un appel REPOS à la couche de calcul.
La couche de calcul (voir le fichier joint RedFinServerless.zip) utilise deux services Amazon : Passerelle API est le point d'entrée des appels REST, mappés vers un service AWS Lambda . Lambda est l'implémentation par Amazon du paradigme de l'architecture sans serveur , également appelé Function-as-a-Service (FaaS). Le sans serveur offre des performances à grande échelle avec de faibles coûts de gestion aux applications sans état, à faible latence et à haut débit, ce qui en fait un outil idéal pour évaluer les applications qui sont, par définition, excessivement parallèles .
Le service Lambda était la destination finale du déploiement du code de scoring Python généré par JMP. Le déploiement d'applications sur les services AWS peut être effectué manuellement via leur console de gestion . Cependant, pour simplifier le processus, nous recommandons l'utilisation de l'un des nombreux wrappers open source disponibles. Dans cet exercice, nous avons utilisé le framework d'application Serverless .
Notez comment le code Python capture à la fois les tâches d'ingénierie des fonctionnalités (clustering, binning, imputation) et le modèle construit dessus. Cela permet d'utiliser les mêmes sources de données brutes utilisées pour créer le modèle pour évaluer les nouvelles données en production, un élément important à prendre en compte lors de la création d'un pipeline d'analyse maintenable.
Vous trouverez également ci-joint un notebook Jupyter (RedFinNotebook.zip) utilisé pour tester le modèle avant son déploiement ; un ensemble de modèles Python générés par JMP pour le scénario de logement (RedFinModels.zip) ; et la table JMP originale contenant le nettoyage des données et les scripts de génération des modèles (RedFinData.zip). Ce dernier fichier .zip inclut également une feuille de calcul illustrant comment le backend REST peut être appelé directement pour la notation par d'autres applications, ici à partir d'une formule Excel.
Références