Collecte des données et Construction du modèle

Collecte des données et Construction du modèle

Dans les chapitres précédents, nous avons décrit l’ensemble de la partie théorique du projet et les résultats observés sur des bases statiques extraites de celle mise à jour en temps réel. Le service, destiné à être mis en ligne, doit répondre à des exigences de mise en production qui in- fluencent le choix de nos paramètres. Les critères pris en compte sont la rapidité de la génération du modèle impliquant l’utilisation d’outils adaptés à l’optimisation logicielle, le partage de ce modèle pour qu’il puisse être interrogeable à chaque requête utilisateur et par n’importe quelle technologie et enfin le contrôle de la qualité des prédictions passant par le stockage et l’analyse régulière de celles-ci. Nous devons gérer une quantité importante de données, les conserver et les exploiter pour enfin les présenter clairement à l’internaute.Dans ce dernier chapitre, nous décrivons l’implémentation des modules de notre service et la manière dont les différentes étapes s’articulent. L’architecture globale peut se découper en quatre parties qui sont : (i) la création du modèle de prédiction en R, incluant la transformation des données, la segmentation de l’ensemble des vols d’entraînement et l’apprentissage des com- portements aboutissant à la construction d’un modèle exportable en PMML. (ii) La création d’un module de comparaison des performances des modèles afin de sélectionner le meilleur en- semble de paramètres. (iii) L’implémentation d’un service web qui charge en mémoire le modèle précédemment créé ainsi que les simulations, reçoit les résultats des recherches utilisateurs et renvoie pour chacun une prédiction. (iv) Le stockage des prédictions et l’évaluation à la volée de la qualité du moteur de prédiction afin d’enclencher le renouvellement du modèle lorsque les performances sont trop faibles.Nous décrivons les problématiques rencontrées et les solutions que nous avons envisagées afin de créer un service clair, rapide et de qualité. Nous axons notre modélisation sur l’indépendance des composants applicatifs afin de rendre chaque sous-ensemble évolutif sans modifier l’ensemble de l’architecture : nous pouvons ainsi par exemple passer l’historique des prix en NoSQL, ou migrer la construction du modèle sous Apache Mahout.

La Figure 6.2 résume l’ensemble du cycle de vie d’un modèle et reprend les quatre compo- sants représentés sur le diagramme de séquence de la Figure 6.3 : le moteur de recherche recevant les appels utilisateurs et les enregistrant en base de données, le service de web effectuant les de- mandes de prédictions et le générateur de modèle utilisant l’historique des vols. Les zones de couleurs représentent l’ensemble des parties créées ou modifiées pour le service de prédiction.ressource, il est important de limiter son exécution. Comme expliqué dans le chapitre précédent, il est important de différencier le pourcentage global de bonnes prédictions et l’économie moyenne faite à l’utilisateur. Dans le faits, nous privilégierons la somme économisée par l’utilisateur en observant l’économie faite grâce aux prédictions mais aussi l’écart de cette économie par rapport à celle faite lors de l’achat immédiat systématique. Notre service n’a de sens que s’il fait économiser plus d’argent que la solution “conservatrice”. Si le gain réalisé grâce aux bonnes prédictions passe sous la barre du gain à l’achat immédiat, le modèle doit être mis à jour.Chacune de ces étapes est indépendante, c’est-à-dire qu’elle possède son paramétrage propre et peut être exécutée dans différentes configurations sans avoir à ré-exécuter les étapes précé- dentes. L’avantage est de pouvoir tester facilement différents paramètres et ainsi identifier plus facilement les meilleures configurations.Si le taux de bonnes prédictions vient à diminuer, il est important de pouvoir re-générer ce modèle dans des délais raisonnables en gardant la même qualité de prédiction. Nous avons donc utilisé le logiciel R, équivalent libre de Matlab, dont l’importante communauté permet d’avoir accès à de nombreux algorithmes d’intelligence artificiel et à des optimisations de code permettant la manipulation d’importants volumes de données en des temps raisonnables.

 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *