Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PREDICTIVE ANALYSIS METHOD AND CALCULATOR
Document Type and Number:
WIPO Patent Application WO/2017/103116
Kind Code:
A1
Abstract:
The invention relates to a predictive analysis method for calculating predictive scores (150-1, …, 150-n) on the basis of a plurality of predictive models (120-1, …, 120-n). The method includes the steps of: defining, in the memory area, a plurality of separate memory blocks (10-1, 10-2, …, 10-n); generating, via the predictive agent, a predictive model (120-1, …, 120-n) in each memory block (10-1, 10-2, …, 10-n) defined on the basis of a training data set (110-1, …, 110-n) stored in said memory block (10-1, 10-2, …, 10-n); and calculating, via each generated predictive model (120-1, …, 120-n), at least one predictive score set (150-1, …, 150-n) on the basis of a source data set (140-1, …, 140-n) stored in the memory block (10-1, 10-2, …, 10-n).

Inventors:
MURZEAU BASTIEN (FR)
FUCCELLARO JEAN-LOUIS (FR)
Application Number:
PCT/EP2016/081439
Publication Date:
June 22, 2017
Filing Date:
December 16, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PREDICSIS (FR)
International Classes:
G06N99/00
Other References:
DELEN D ET AL: "Predicting breast cancer survivability: a comparison of three data mining methods", ARTIFICIAL INTELLIGENCE IN MEDICINE, ELSEVIER, NL, vol. 34, no. 2, 30 June 2005 (2005-06-30), pages 113 - 127, XP027804909, ISSN: 0933-3657, [retrieved on 20050601]
EWOUT W STEYERBERG ET AL: "Internal validation of predictive models", JOURNAL OF CLINICAL EPIDEMIOLOGY., vol. 54, no. 8, 31 August 2001 (2001-08-31), GB, pages 774 - 781, XP055296231, ISSN: 0895-4356, DOI: 10.1016/S0895-4356(01)00341-9
Attorney, Agent or Firm:
ARGYMA (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé d'analyse prédictive pour le calcul de scores prédictifs (150-1, 150-n) à partir d'une pluralité de modèles prédictifs (120-1, 120-n), ledit procédé étant mis en œuvre par un calculateur (1) comprenant une zone mémoire (10), un agent de prédiction (20) et un module de traitement (30), ledit procédé comprenant les étapes de :

définition (El) dans la zone mémoire (10) d'une pluralité de blocs mémoires (10-1, 10-2, 10-n) distincts,

génération (E3), par l'agent de prédiction, d'un modèle prédictif (120-1, 120-n) dans chaque bloc mémoire (10-1, 10-2, 10-n) défini à partir d'un ensemble de données d'apprentissage (110-1, 110-n) stocké dans ledit bloc mémoire (10-1, 10-2, 10-n),

calcul (E5) par chaque modèle prédictif (120-1, 120-n) généré d'au moins un ensemble de scores prédictifs (150-1, 150-n) à partir d'un ensemble de données sources (140-1, 140-n) stocké dans le bloc mémoire (10-1, 10-2, 10-n) associé audit modèle prédictif (120-1, 120-n).

2. Procédé selon la revendication 1, dans lequel le calcul (E5) de l'ensemble de scores prédictifs (150-1, 150-n) est réalisé simultanément par tous les modèles prédictifs (120- 1, 120-n) générés.

3. Procédé selon l'une des revendications 1 et 2, comprenant une étape (E4) de stockage du modèle prédictif (120-1, 120-n) généré dans le bloc mémoire (10-1, 10-2,

10-n) associé audit modèle prédictif (120-1, 120-n).

4. Procédé selon l'une des revendications 1 à 3, comprenant, entre l'étape de définition (E2) et l'étape de génération (E3), une étape (E2) de création, par le module de traitement (30), dans chaque bloc mémoire (10-1, 10-2, 10-n) défini, d'un conteneur (100-1, 100-n) apte à isoler, en termes de ressources du calculateur (1), ledit bloc mémoire (10-1, 10-2, 10-n) défini des autres blocs mémoires (10-1, 10-2, 10-n) de sorte que le modèle prédictif (120-1, 120-n) soit généré dans ledit conteneur (100-1, 100-n) et que l'ensemble de scores prédictifs (150-1, 150-n) soit calculé dans ledit conteneur (100-1, 100-n).

5. Procédé selon l'une des revendications 1 à 4, comprenant une étape (E6) de stockage de l'ensemble de scores prédictifs (150-1, 150-n) calculé dans le bloc mémoire (10-1, 10-2, 10-n) correspondant. 6. Support de données pour un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé selon l'une des revendications précédentes lorsque le programme est exécuté par au moins un processeur (30).

7. Calculateur (1) d'analyse prédictive pour le calcul de scores prédictifs (150-1, 150-n) à partir d'une pluralité de modèles prédictifs (120-1, 120-n), ledit calculateur (1) comprenant :

une zone mémoire (10) comprenant une pluralité de blocs mémoires (10-1, 10-2, 10-n), chaque bloc mémoire (10-1, 10-2, 10-n) étant apte à stocker un ensemble de données d'apprentissage (110-1, 110-n), un modèle prédictif (120- 1, 120-n), des fichiers temporaires (130-1, 130-n) de génération dudit modèle prédictif (120-1, 120-n), au moins un ensemble de données sources (140-1, 140-n) et au moins un ensemble de scores prédictifs (150-1, 150-n) calculés par le modèle prédictif (120-1, 120-n) à partir dudit ensemble de données sources (140-1, 140-n),

- un agent de prédiction (20) configuré pour générer une pluralité de modèles prédictifs (120-1, 120-n) à partir d'une pluralité d'ensembles de données d'apprentissage (110-1, 110-n), chaque modèle prédictif (120-1, 120-n) étant apte à calculer au moins un score prédictif à partir d'un ensemble de données sources (140-1, 140-n),

- un module de traitement (30) configuré pour :

o définir dans la zone mémoire (10) une pluralité de blocs mémoires (10-1, 10-

2, 10-n) distincts,

o exécuter les instructions et traiter les données de l'agent de prédiction (20) pour que ledit agent de prédiction (20) génère un modèle prédictif (120-1, 120-n) dans chaque bloc mémoire (10-1, 10-2, 10-n) défini à partir de l'ensemble de données d'apprentissage (110-1, 110-n) stocké dans ledit bloc mémoire (10-1, 10-2, 10-n),

o exécuter les instructions et traiter les données du modèle prédictif (120-1, 120-n) généré dans chaque bloc mémoire (10-1, 10-2, 10-n) défini à partir d'un ensemble de données sources (140-1, 140-n) stocké dans ledit bloc mémoire (10-1, 10-2, 10-n) afin de calculer un ensemble de scores prédictifs (150-1, 150-n). 8. Calculateur (1) selon la revendication 7, dans lequel le module de traitement (30) est configuré pour exécuter les instructions et traiter les données de chaque modèle prédictif (120-1, 120-n) généré dans chaque bloc mémoire (10-1, 10-2, 10-n) défini à partir d'un ensemble de données sources (140-1, 140-n) stocké dans ledit bloc mémoire (10-1, 10-2, 10-n) afin de calculer une pluralité d'ensemble de scores prédictifs (150-1, 150-n) simultanément.

9. Calculateur selon l'une des revendications 7 et 8, dans lequel le module de traitement (30) est configuré pour créer, dans chaque bloc mémoire (10-1, 10-2, 10-n) défini, un conteneur (100-1, 100-n) apte à isoler, en termes de ressources du calculateur (1), ledit bloc mémoire (10-1, 10-2, 10-n) défini des autres blocs mémoires (10-1, 10-2, 10-n) de sorte que le modèle prédictif (120-1, 120-n) soit généré dans ledit conteneur (100-1, 100-n) et que l'ensemble de scores prédictifs (150-1, 150-n) soit calculé dans ledit conteneur (100-1, 100-n). 10. Calculateur selon l'une des revendications 7 à 9, dans lequel le module de traitement (30) est configuré pour stocker un ensemble de scores prédictifs (150-1, 150- n) calculé, de préférence dans le bloc mémoire (10-1, 10-2, 10-n) correspondant.

Description:
PROCEDE ET CALCULATEUR D'ANALYSE PREDICTIVE

DOMAINE TECHNIQUE ET OBJET DE L'INVENTION La présente invention se rapporte au domaine de la prédiction et concerne plus particulièrement un procédé et un calculateur d'analyse prédictive pour le calcul de scores prédictifs à partir d'une pluralité de modèles prédictifs. L'invention s'applique particulièrement à la prédiction simultanée d'une pluralité de scores prédictifs à partir d'une pluralité de données de nature et de type différents.

ETAT DE LA TECHNIQUE

De nos jours, il est connu de réaliser des analyses prédictives à partir d'observations fournies sous la forme de données en utilisant un modèle appelé « modèle prédictif ». Un tel modèle est un algorithme mathématique codé sous la forme d'un programme d'ordinateur, mis en œuvre par un calculateur, qui fournit en sortie le ou les événements les plus probables de se produire à partir d'hypothèses prédictives relatives à un contexte ou un environnement prédéterminé. De tels événements sont appelés de manière connue « scores prédictifs ». Un tel modèle prédictif peut être généré à partir d'un ensemble de données dites données d'apprentissage puis, une fois le modèle prédictif généré, le modèle est utilisé sur un ou plusieurs ensembles de données dites sources afin de calculer des scores prédictifs. A titre d'exemple, un ensemble de données sources peut comprendre des données relatives à des utilisateurs, des données de machines, des données météorologiques etc..

Dans les solutions connues, lorsqu'on souhaite réaliser une pluralité de prédictions à partir d'une pluralité de modèles prédictifs, on peut soit mettre en œuvre un unique calculateur pour générer et utiliser les modèles prédictifs les uns après les autres, soit mettre en œuvre autant de calculateurs que de modèles prédictifs à générer et à utiliser.

L'utilisation d'une pluralité de calculateurs permet de réaliser une pluralité de prédictions en parallèle mais est particulièrement onéreuse et nécessite de commander chaque calculateur indépendamment des autres, ce qui présente des inconvénients importants. L'utilisation d'un unique calculateur présente l'ava ntage d'être peu onéreux et de ne nécessiter qu'une commande de traitement centralisée mais est particulièrement chronophage et ce d'autant plus que le nombre de modèles prédictifs à mettre en œuvre augmente, ce qui présente d'autres inconvénients. En outre, il n'est pas possible de réaliser les prédictions en parallèle, ce qui présente un inconvénient majeur. De plus, lorsque plusieurs modèles prédictifs sont générés et utilisés successivement par un unique calculateur, les fichiers temporaires de génération des modèles ou les ensembles de scores prédictifs obtenus pour chaque modèle peuvent être mélangés entre les modèles, ce qui entraine des erreurs respectivement d'exécution des modèles prédictifs ou d'interprétation des prédictions. Plus précisément, les données d'apprentissage, les données sources, les fichiers intermédiaires utilisés par les différents modèles prédictifs et les ensembles de scores prédictifs obtenus étant stockés dans le même bloc mémoire, ceux-ci peuvent être mélangés par le calculateur, ce qui aboutit à la génération de modèles prédictifs erronés ou à des prédictions incorrectes et présente donc un autre inconvénient majeur.

PRESENTATION GENERALE DE L'INVENTION

L'invention a pour but de fournir une solution simple, fiable et efficace permettant de mettre en œuvre simultanément une pluralité de modèles prédictifs sur un unique calculateur.

A cet effet, l'invention a tout d'abord pour objet un procédé d'analyse prédictive pour le calcul de scores prédictifs à partir d'une pluralité de modèles prédictifs, ledit procédé étant mis en œuvre par un calculateur comprenant une zone mémoire, un agent de prédiction et un module de traitement, ledit procédé comprenant les étapes de :

définition, dans la zone mémoire, d'une pluralité de blocs mémoires distincts, génération, par l'agent de prédiction, d'un modèle prédictif dans chaque bloc mémoire défini à partir d'un ensemble de données d'apprentissage stocké dans ledit bloc mémoire,

- calcul par chaque modèle prédictif généré d'au moins un ensemble de scores prédictifs à partir d'un ensemble de données sources stocké dans le bloc mémoire associé audit modèle prédictif. Le procédé selon l'invention permet donc avantageusement de mettre en œuvre simultanément une pluralité de modèles prédictifs sur un même calculateur en isolant des ressources dudit calculateur pour générer et utiliser chaque modèle sans mélanger leurs fichiers et ensemble de données et de scores respectifs.

Par les termes « scores prédictifs », on entend le ou les événements les plus probables de se produire à partir d'hypothèses prédictives relatives à un contexte ou un environnement prédéterminé. De préférence, le calcul de l'ensemble de scores prédictifs est réalisé simultanément par tous les modèles prédictifs générés, ce qui permet d'obtenir rapidement une pluralité d'ensembles de scores prédictifs.

Selon un aspect de l'invention, le procédé comprenant une étape de stockage du modèle prédictif généré dans le bloc mémoire associé audit modèle prédictif, de manière notamment à le réutiliser ultérieurement, par exemple avec d'autres ensembles de données sources.

La génération d'un modèle prédictif dans chaque bloc mémoire peut être réalisée simultanément ou à des moments différents de la génération des autres modèles prédictifs des autres blocs mémoires.

De manière préférée, le procédé comprend, entre l'étape de définition et l'étape de génération, une étape de création, par le module de traitement, dans chaque bloc mémoire défini, d'un conteneur apte à isoler, en termes de ressources du calculateur, ledit bloc mémoire défini des autres blocs mémoires de sorte que le modèle prédictif soit généré dans ledit conteneur et que l'ensemble de scores prédictifs soit calculé dans ledit conteneur. Un tel conteneur est un moyen efficace, fiable et aisé pour isoler les modèles prédictifs les uns des autres en termes de ressources du calculateur.

La définition des blocs mémoires distincts peut consister en une allocation de mémoire, par exemple par le module de traitement, ou bien en une réservation de mémoire, par exemple par chaque conteneur. Avantageusement, le procédé comprend une étape de stockage de l'ensemble de scores prédictifs calculé dans le bloc mémoire correspondant afin de le retrouver aisément et pour éviter qu'il ne se mélange avec d'autres ensembles de scores prédictifs calculés par d'autres modèles prédictifs dans les autres blocs mémoires.

L'invention concerne aussi un support de données pour un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé selon l'une des revendications précédentes lorsque le programme est exécuté par au moins un processeur. L'invention concerne également un calculateur d'analyse prédictive pour le calcul de scores prédictifs à partir d'une pluralité de modèles prédictifs, ledit calculateur comprenant : une zone mémoire comprenant une pluralité de blocs mémoires, chaque bloc mémoire étant apte à stocker un ensemble de données d'apprentissage, un modèle prédictif, des fichiers temporaires de génération dudit modèle prédictif, au moins un ensemble de données sources et au moins un ensemble de scores prédictifs calculés par le modèle prédictif à partir dudit ensemble de données sources, un agent de prédiction configuré pour générer une pluralité de modèles prédictifs à partir d'une pluralité d'ensembles de données d'apprentissage, chaque modèle prédictif étant apte à calculer au moins un score prédictif à partir d'un ensemble de données sources,

un module de traitement configuré pour :

o définir dans la zone mémoire une pluralité de blocs mémoires distincts, o exécuter les instructions et traiter les données de l'agent de prédiction pour que ledit agent de prédiction génère un modèle prédictif dans chaque bloc mémoire défini à partir de l'ensemble de données d'apprentissage stocké dans ledit bloc mémoire,

o exécuter les instructions et traiter les données du modèle prédictif généré dans chaque bloc mémoire défini à partir d'un ensemble de données sources stocké dans ledit bloc mémoire afin de calculer un ensemble de scores prédictifs.

De préférence, le module de traitement est configuré pour exécuter les instructions et traiter les données de chaque modèle prédictif généré dans chaque bloc mémoire défini à partir d'un ensemble de données sources stocké dans ledit bloc mémoire afin de calculer une pluralité d'ensemble de scores prédictifs simultanément. Le calcul de l'ensemble de scores prédictifs peut être avantageusement être réalisé simultanément par tous les modèles prédictifs générés. De manière préférée, le module de traitement est configuré pour créer, dans chaque bloc mémoire défini, un conteneur apte à isoler, en termes de ressources du calculateur, ledit bloc mémoire défini des autres blocs mémoires de sorte que le modèle prédictif soit généré dans ledit conteneur et que l'ensemble de scores prédictifs soit calculé dans ledit conteneur.

Selon un aspect de l'invention, le module de traitement est configuré pour stocker un modèle prédictif généré dans le bloc mémoire associé audit modèle prédictif.

Avantageusement, le module de traitement est configuré pour stocker un ensemble de scores prédictifs calculé, de préférence dans le bloc mémoire correspondant.

D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d'exemples non limitatifs et dans lesquelles des références identiques sont données à des objets semblables.

DESCRIPTION DES FIGURES

La figure 1 illustre schématiquement une forme de réalisation du système selon l'invention. La figure 2 illustre schématiquement un mode de mise en œuvre d'un premier procédé selon l'invention.

DESCRIPTION DETAILLEE DE L'INVENTION

Description d'une forme de réalisation du système selon l'invention

Le système selon l'invention va être présenté en référence à la figure 1. I. Calculateur ! Le calculateur 1 d'analyse prédictive permet de mettre en œuvre simultanément une pluralité de modèles prédictifs 120-1, 120-n utilisés pour calculer des scores prédictifs. A cette fin et selon l'invention, le calculateur 1 comprend une zone mémoire 10, un agent de prédiction 20 et un module de traitement 30.

De préférence, le zone mémoire 10, un agent de prédiction 20 et un module de traitement 30 sont mis en œuvre par une même entité physique mais il va de soi qu'ils pourraient être mis en œuvre par des entités physiques distinctes connectées à distance via un lien de communication, par exemple de type IP via le réseau Internet dans une architecture de type « cloud » connue de l'homme du métier.

1) Zone mémoire 10

La zone mémoire 10 est divisible en une pluralité de blocs mémoires 10-1, 10-2, 10-n (n étant un entier naturel supérieur ou égal à 2). En d'autres termes, des blocs mémoires 10- 1, 10-2, 10-n peuvent être définis dans la zone mémoire 10. Cette définition peut consister en une allocation de bloc mémoire, par exemple par le module de traitement, ou bien en une réservation de bloc mémoire, par exemple par un conteneur 100-1, 100-2, 100-n, comme cela sera décrit ci-après.

Chaque bloc mémoire 10-1, 10-2, 10-n est apte à stocker un ensemble de données d'apprentissage 110-1, 110-n, un modèle prédictif 120-1, 120-n, des fichiers temporaires 130-1, 130-n de génération dudit modèle prédictif 120-1, 120-n, au moins un ensemble de données sources 140-1, 140-n et au moins un ensemble de scores prédictifs 150-1, 150-n générés par le modèle prédictif 120-1, 120-n à partir dudit ensemble de données sources 140-1, 140-n.

La génération d'un modèle prédictif 120-1, 120-n est réalisée à partir d'un ensemble de données dites « données d'apprentissage » 110-1, 110-n. En d'autres termes, les données d'apprentissage 110-1, 110-n permettent l'initialisation du modèle prédictif.

Une fois, le modèle prédictif 120-1, 120-n généré, le modèle prédictif 120-1, 120-n utilise en entrée un ensemble de données dites « données sources » 140-1, 140-n pour calculer en sortie des scores prédictifs 150-1, 150-n. Un exemple d'ensemble de données d'apprentissage pourrait être la base client d'un assureur qui contient les caractéristiques de ses clients (offres souscrites, déclarations des sinistres, etc.).

La zone mémoire 10 peut comprendre une mémoire vive (Random Access Memory en langue anglaise) et un système de fichiers, connus en soi. Le système de fichiers (« file System » en langue anglaise) permet notamment de stocker un modèle prédictif 120-1, 120-n, des scores prédictifs 150-1, 150-n ainsi que des fichiers temporaires 130-1, 130-n créés et utilisés lors de la génération du modèle prédictif 120-1, 120-n. La mémoire vive stocke les données temporaires traitées 130-1, 130-n par l'agent de prédiction 20. Ces données peuvent correspondent à l'intégralité ou à une partie des données d'apprentissage 110-1, 110-n.

Chaque bloc mémoire 10-1, 10-2, 10-n défini utilise aussi bien la mémoire vive que le système de fichier mais de manière indépendante des autres blocs mémoire 10-1, 10-2, 10-n de manière à ne pas mélanger les données et fichiers de données propres à chaque modèle prédictif 120-1, 120-n. A cette fin, de manière préférée, une pluralité de conteneurs 100-1, 100-n est utilisée, chaque conteneur 100-1, 100-n permettant d'isoler et d'utiliser un bloc mémoire 10-1, 10-2, 10-n défini pour générer et utiliser un modèle prédictif 120-1, 120-n indépendamment des autres blocs mémoires 10-1, 10-2, 10-n comme cela est décrit ci-après.

2) Agent de prédiction 20

L'agent de prédiction 20 est configuré pour générer une pluralité de modèles prédictifs 120-1, 120-n à partir d'une pluralité d'ensembles de données d'apprentissage 110-1,

110-n. Plus précisément, chaque ensemble de données d'apprentissage 110-1, 110-n permet la génération d'un modèle prédictif 120-1, 120-n.

Une fois généré, l'agent prédictif 20 met en œuvre chaque modèle prédictif 120-1, 120- n de sorte qu'il détermine des scores prédictifs 150-1, 150-n à partir d'un ensemble de données sources 140-1, 140-n stocké dans le bloc mémoire 10-1, 10-2, 10-n associé audit modèle prédictif 120-1, 120-n.

Module de traitement 30 Le module de traitement 30 peut avantageusement être mis en œuvre par un microprocesseur (Central Processing Unit ou CPU en langue anglaise). Le module de traitement 30 est tout d'abord configuré pour recevoir, par exemple d'une interface de programmation d'application (Application Programming Interface ou API en langue anglaise), une ou plusieurs listes d'instructions à exécuter afin de générer et utiliser respectivement un ou plusieurs modèles prédictifs 120-1, 120-n sur le calculateur 1. Plus précisément, cette liste définit les actions que l'agent de prédiction 20 est apte à traiter.

Le module de traitement 30 est également configuré pour recevoir ou générer une pluralité de contrats (non représentés) qu'il transmet à l'agent de prédiction 20 pour que ce dernier l'exécute. Un contrat est caractérisé par une structure générique comportant une ou plusieurs tâches à réaliser en lien avec une liste d'instructions reçue et des données d'apprentissage 110-1, 110-n ou des données sources 140-1, 140-n. Les données sources 140-1, 140-n sont les données à partir desquelles on souhaite réaliser une prédiction une fois le modèle prédictif généré. Les données sources peuvent être de même nature que les données d'apprentissage. Par exemple, ces données sources peuvent être des données clients stockées sur un compte d'utilisateur d'un modèle prédictif. Le contrat décrit la tâche qui doit être exécutée par l'agent prédictif 20. Cette tâche a souvent besoin de données sources 140-1, 140-n, elle précise donc où sont stockées ces données sources 140-1, 140-n pour que l'agent prédictif 20 puisse les récupérer. En fonction de la liste d'instructions reçue, le module de traitement 30 peut personnaliser le contrat généré qui sera ensuite reçu par l'agent de prédiction 20.

Le module de traitement 30 peut être configuré pour allouer à l'agent de prédiction 20 une pluralité de blocs mémoires 10-1, 10-2, 10-n distincts dans la zone mémoire 10.

Le module de traitement 30 est ensuite configuré pour exécuter les instructions et traiter les données de l'agent de prédiction 20 pour que ledit agent de prédiction 20 génère un modèle prédictif 120-1, 120-n dans chaque bloc mémoire 10-1, 10-2, 10-n défini à partir de l'ensemble de données d'apprentissage 110-1, 110-n stocké dans ledit bloc mémoire 10-1, 10-2, 10-n. Plus précisément, le module de traitement 30 est configuré pour générer, à partir d'une pluralité de contrats et d'une pluralité d'ensembles de données d'apprentissage 110-1, 110-n associés, des modèles prédictifs 120-1, 120-n dans les blocs mémoires 10-1, 10-2, 10-n définis dans la zone mémoire 10, plus précisément un modèle prédictif 120-1, 120-n par bloc mémoire 10-1, 10-2, 10-n défini à partir d'un contrat et d'un ensemble de données d'apprentissage 110-1, 110-n.

Le module de traitement 30 est enfin configuré pour exécuter les instructions et traiter les données du modèle prédictif 120-1, 120-n généré dans chaque bloc mémoire 10-1, 10- 2, 10-n défini à partir d'un ensemble de données sources 140-1, 140-n stocké dans ledit bloc mémoire 10-1, 10-2, 10-n afin de déterminer, via l'agent de prédiction 20, un ensemble de scores prédictifs 150-1, 150-n, cet ensemble de scores prédictifs 150-1,

150-n pouvant alors être stockés dans ledit bloc mémoire 10-1, 10-2, 10-n défini. En d'autres termes, le module de traitement 30 gère l'agent de prédiction 20 qui exécute les modèles prédictifs 120-1, 120-n dans les conteneurs 100-1, 100-n dans chaque bloc mémoire 10-1, 10-n défini.

Le module de traitement 30 est aussi configuré pour créer un conteneur 100-1, 100-n dans chaque bloc mémoire 10-1, 10-2, 10-n défini dans lequel sera généré et utilisé un modèle prédictif 120-1, 120-n afin d'isoler, en termes de ressources du calculateur 1, chaque modèle prédictif 120-1, 120-n des autres modèles prédictifs 120-1, 120-n en terme d'utilisation de mémoire. Ceci permet de ne pas mélanger les fichiers temporaires 130-1, 130-n produits lors de la génération des modèles prédictifs 120-1, 120-n, ni les fichiers de scores prédictifs 150-1, 150-n produits lors de l'utilisation des modèles prédictifs 120-1, 120-n. De manière connue en soi, un conteneur 100-1, 100-n isole un ensemble de ressources physiques (microprocesseur, mémoire vive, système de fichiers...) du calculateur 1. Un conteneur 100-1, 100-n s'exécutant sur le calculateur 1 ne peut accéder aux ressources de ce dernier et vice-versa. Cet isolement est également respecté entre deux conteneurs 100-1, 100-n s'exécutant sur un même calculateur.

L'invention va maintenant être décrite dans sa mise en œuvre. II. Mise en œuvre de l'invention Le procédé d'analyse prédictive selon l'invention permet le calcul concomitant d'une pluralité d'ensemble de scores prédictifs 150-1, 150-n à partir d'une pluralité de modèles prédictifs 120-1, 120-n. Dans une étape préliminaire E0, le module de traitement 30 reçoit ou génère un contrat à partir d'une liste d'instructions.

Dans une étape El, des blocs mémoires 10-1, 10-2, 10-n sont définis dans la zone mémoire 10 puis un ensemble de données d'apprentissage 110-1, 110-n et au moins un ensemble de données sources 140-1, 140-n d'utilisateur sont stockés dans chacun desdits blocs mémoires 10-1, 10-2, 10-n définis.

Dans une étape E2, le module de traitement 30 créé, pour chaque bloc mémoire 10-1, 10- 2, 10-n défini, un conteneur 100-1, 100-n apte à isoler un modèle prédictif 120-1, 120-n d'autres modèles prédictifs 120-1, 120-n contenus dans les autres conteneurs 100-1, 100-n.

En variante, le module de traitement 30 peut tout d'abord créer un ou plusieurs conteneurs 100-1, 100-n puis chaque conteneur 100-1, 100-n peut disposer d'un bloc mémoire 10-1, 10-n défini dans la zone mémoire 10. De manière pratique, le conteneur 100-1,

100-n peut s'allouer effectivement un bloc mémoire 10-1, 10-n. Ainsi, le module de traitement 30 requière la création d'un conteneur 100-1, 100-n disposant, par exemple, de 1 GO de mémoire vive, celui-ci va se lancer et consommera cette mémoire au fur et à mesure de ses besoins sans jamais dépasser cette limite de 1 GO. Il s'agit alors d'une description des ressources consommables par le conteneur 100-1, 100-n plutôt que d'une allocation au sens strict.

Le module de traitement 30 génère ensuite, dans une étape E3, un modèle prédictif 120- 1, 120-n dans chaque bloc mémoire 10-1, 10-2, 10-n défini à partir de l'ensemble de données d'apprentissage 110-1, 110-n stocké dans ledit bloc mémoire 10-1, 10-2, 10- n. L'isolation des blocs mémoires 10-1, 10-2, 10-n, notamment par l'utilisation d'un conteneur 100-1, 100-n pour chaque modèle prédictif 120-1, 120-n, permet notamment de ne pas mélanger les ensembles de données d'apprentissage 110-1, 110- n permettant de générer les différents modèles prédictifs 120-1, 120-n de sorte que chaque modèle prédictif 120-1, 120-n soit généré correctement par l'ensemble de données d'apprentissage 110-1, 110-n qui lui est associé.

Lors de la génération d'un modèle prédictif 120-1, 120-n, des fichiers temporaires 130- 1, 130-n sont créés et stockés, dans une étape E4, dans le bloc mémoire 10-1, 10-2,

10-n associé, plus précisément au niveau du système de fichiers. De même que pour les ensembles de données d'apprentissage 110-1, 110-n, les fichiers temporaires 130-1, 130-n associés à un modèle prédictif 120-1, 120-n et stockés dans le bloc mémoire 10-

1, 10-2, 10-n correspondant sont isolés des autres fichiers temporaires 130-1, 130-n associés aux autres modèles prédictifs 120-1, 120-n des autres blocs mémoires 10-1, 10-

2, 10-n, ce qui permet d'éviter le mélange des fichiers temporaires 130-1, 130-n entres les modèles prédictifs 120-1, 120-n lors de la génération et donc de générer correctement chaque modèle prédictif 120-1, 120-n. A ce stade, chaque modèle prédictif 120-1, 120-n créé dans chacun des blocs mémoires 10-1, 10-2, 10-n est stocké dans le bloc mémoire 10-1, 10-2, 10-n dans lequel il a été généré pour être utilisé ultérieurement.

Ainsi, lorsqu'on souhaite utiliser un modèle prédictif 120-1, 120-n stocké dans un bloc mémoire 10-1, 10-2, 10-n défini, le module de traitement 30 fournit en entrée au modèle prédictif 120-1, 120-n un ensemble de données sources 140-1, 140-n stocké dans ledit bloc mémoire 10-1, 10-2, 10-n afin que le modèle prédictif 120-1, 120-n calcule en sortie, dans une étape E5, un ensemble de scores prédictifs 150-1, 150-n qui est ensuite stocké dans le bloc mémoire 10-1, 10-2, 10-n défini, isolé des autres, dans une étape E6.

Le procédé selon l'invention permet donc avantageusement de générer plusieurs modèles prédictifs 120-1, 120-n à partir de contrats, d'ensembles de données d'apprentissage 110-1, 110-n et de fichiers temporaires 130-1, 130-n isolés entre eux dans des blocs mémoires 10-1, 10-2, 10-n distincts de sorte qu'ils ne se mélangent pas. Le procédé selon l'invention permet aussi avantageusement d'utiliser simultanément plusieurs modèles prédictifs 120-1, 120-n, isolés chacun dans un bloc mémoire 10-1, 10-2, 10-n défini, en évitant de mélanger les données intermédiaire de prédiction et les ensembles de scores prédictifs 150-1, 150-n calculés. On notera qu'un modèle prédictif existant (i.e. ayant déjà été généré et stocké voire utilisé dans un conteneur) peut être réutilisé ultérieurement, en le mentionnant dans le contrat correspondant. II est à noter que la présente invention n'est pas limitée aux exemples décrits ci-dessus et est susceptible de nombreuses variantes accessibles à l'homme de l'art.