Mon premier modèle avec SAP InfiniteInsight

Introduction

Ce document a pour objectif de guider l’utilisateur dans la conception de son premier modèle de scoring avec SAP InfiniteInsight Modeler.

Le contexte

L’outil SAP InfiniteInsight permet aux statisticiens, aux analystes et aux utilisateurs métier avancés de concevoir  des modèles prédictifs de bout en bout. SAP InfiniteInsight automatise la modélisation en sélectionnant automatiquement les variables pertinentes, et automatise les tâches de calibration et de validation des modèles. L’outil dispose également d’un générateur de code (SAS, C, C++, Java, PMML, HTML, SQL optimisé) permettant d’intégrer directement les algorithmes prédictifs dans vos applicatifs.

Prérequis

Vous avez installé SAP InfiniteInsight 6.5 ou 7.0 et disposez du jeu de données test fourni avec l’outil situé par défaut dans « répertoire d’installation\SAP InfiniteInsight\InfiniteInsightV7.0.0\Samples\Census\Census01.csv ».

I. Objectif

L’objectif est d’identifier les prosepcts les plus appétants pour une nouvelle offre dans un échantillon de 50 000 prospects pour lesquels on dispose d’informations personnelles.

Ce tutoriel a vocation à guider un utilisateur métier dans la conception de son premier modèle SAP InfiniteInsight avec un algorithme de classification.

 

II. Comment fonctionne un modèle ?

Un modèle est une « mise en équation » de la réalité. Cette ou ces équations doivent être le plus proche possible de la réalité pour pouvoir :

  • Expliquer
  • Prévoir
Pour concevoir un modèle prédictif il est nécessaire de disposer d’un historique. Dans ce tutoriel on dispose d’un échantillon historique de clients auxquels on a proposé le produit et du résultat (achat : « 1  » ou pas d’achat : « 0 « ).
Le schéma ci-dessous explique le processus de l’analyse prédictive.
  1. Disposer d’un historique pour lequel on connait
    • Les inputs : les caractéristiques et comportements des clients-consommateurs-machines
    • L’output (achat d’un produit, fraude, résiliation d’abonnement, panne)
  2. Disposer de données pour lesquels on connait l’input et dont on veut prédire l’output
  3. Modélisation (ie mise en équation) pour exprimer l’output en fonction des inputs
  4. Appliquer le modèle Output = fonction(Inputs) pour établir des prédictions.

 

 

 

 

III. Méthodologie

La modélisation se déroule en 4 étapes :

  1. Définition des paramètres de modélisation
  2. Génération du modèle et validation
  3. Analyse des résultats
  4. Utilisation du modèle

Etape 1 : Définition des paramètres

Cette étape se décompose en :

  1. Sélectionner le jeu de données
  2. Description du jeu de données
  3. Sélection des variables
  4. Vérification des paramètres

1. Sélection du jeu de données

Rendez-vous dans l’onglet Modeler de SAP InfiniteInsight et sélectionnez « Classification et régression ».

 

 

Vous devez maintenant choisir un jeu de données.

 

 

Par défaut SAP InfiniteInsight lit des fichiers plats (texte ou table de base de données). Vous pouvez néanmoins choisir d’utiliser une manipulation de données réalisée avec l’Explorer (1).

Dans ce tutoriel on choisira jeu de données test fourni avec l’outil situé par défaut dans « répertoire d’installation\SAP InfiniteInsight\InfiniteInsightV7.0.0\Samples\Census\Census01.csv ». Pour celà cliquez sur « Parcourir » (2) et une fenêtre d’exploration de dossiers apparaît. Vous n’avez plus qu’à sélectionner le bon fichier dans le bon dossier.

Vous pouvez enfin choisir la stratégie de découpage de votre échantillon en cliquant sur « stratégie de découpage » (3). Les différentes stratégies sont :

  • Séquentielle
  • Périodique
  • Aléatoire

Déclinées avec et sans test.

On choisira Aléatoire sans test qui est la stratégie par défaut. Cela signifie que l’échantillon sera découpé en 2 sous-échantillon de calibration et de validation du modèle.

Cliquez ensuite sur suivant.

 

2. Description du jeu de données

La description du jeu de données constitue une étape importante de la modélisation. Elle permet de

  • Définir les types de ces variables :
    • Nombre : contient des nombre calculables
    • Integer : contient des entiers uniquement
    • String : contient des chaines de caractères
    • Datetime : contient des dates et heures
    • Date : Contient des dates uniquement
  • Définir les genres de ces variables :
    • Continue : ce sont les variables numériques qui peuvent être représentées sur un axe de valeur, par exemple le salaire d’un employé
    • Nominale : ce sont les variables de catégories, par exemple la profession d’un client
    • Ordinale : ce sont les variables numériques discrètes avec lesquels on peut effectuer un classement
    • textual : ce sont les variables contenant des expressions, des phrases ou des textes entier
  • Définir si la variable est une clé (primaire ou secondaire)
  • Définir si la variable a un ordre naturel (par exemple les ages)
  • Inconnu : Permet de définir la valeur représentant une valeure inconnue (9999 ou #Vide)
  • Groupe : Permet de définir des groupes de variables. Les variables d’un même groupe ne seront pas croisées
  • Description : Permet de décrire la variable
  • Structure : Permet de définir des structures de variables (par exemple des tranches d’âge)
Dans un premier temps cliquez sur « Analyser » en haut à gauche. L’analyse du jeu de données est automatique, la première ligne est lue comme le nom des variables.

 

 

Dans ce tutoriel nous nous focalisons sur la méthodologie, nous laissons au lecteur la liberté d’explorer les autres fonctionnalités telles que la modification des types de variables ou la définition de structure.
Cliquez sur suivant.

 

3. Sélection des variables

Durant cette étape l’utilisateur défini :

  • Les variables explicatives : ce sont les comportements et caractéristiques des entités étudiées. Ici la caractéristiques des clients/prospects tels que l’age ou le statut marital.
  • La ou les variable(s) cible(s) : C’est la variable que l’on cherche à reproduire pour prédire. Ici « class » prend les valeurs de 1 ou 0 selon que le client a acheté ou non le produit. L’objectif est de déduire la probabilité d’achat, c’est à dire de 1 chez les prospects.
  • La variable de poids : ici « fnlwgt » qui permet à chaque individu de représenter un pourcentage de la population.
  •  Les variables exclues : Ici l’index

 

 

Cliquez sur suivant.

 

 

4. Vérification des paramètres

Cet écran permet à l’utilisateur avancé de modifier les paramètres comme le type d’apprentissage, la gestion des corrélations, ou le degré du modèle.

Nous laissons au lecteur la liberté d’explorer les diverses options fournies par SAP InfiniteInsight. Pour ce tutoriel cochez sur :

  • Calculer l’arbre de décision
  • Activer la sélection automatique des variables

Cliquez sur générer.

 

Etape 2 : Génération du modèle et validation

Cette étape est entièrement automatisé dans SAP InfiniteInsight.

Le progiciel va automatiquement :

  • Sélectionner les variables pertinentes en tenant compte des corrélations
  • Calibrer le modèle sur un sous échantillon tiré selon la stratégie définie (ici nous avions défini aléatoire sans test)
  • Valider le modèle sur un second sous échantillon
  • Evaluer les performances du modèles en fonction de sa capacité prédictive (capacité à prévoir le bon résultat) et de sa reproductibilité (capacité à garder ses performances sur un autre échantillon)

Ici le modèle a mis 14 secondes pour :

  • Sélectionner les variables
  • Calibrer un modèle
  • Validé le modèle
Le modèle retenu un indice de reproductibilité de 0.997/1.000 (on estime un bon KR aux alentours de 0.9) et un indice de capacité prédictive de 0.823/1.000 (la performance de cet indice est relatif aux résultats attendus).

 

Cliquez sur suivant.

 

Etape 3 : Analyse des résultats

SAP InfiniteInsight permet aux utilisateurs d’analyser les modèles et leurs résultats de manière globale et détaillée.

L’aperçu du modèle est le même rapport que celui affiché en fin de modèle. Il permet d’avoir un aperçu rapide des performances de votre modèle. Vous pouvez alors sélectionner le type de rapport souhaité. Le rapport de synthèse est plus complet et offre une vue complète à des exécutifs ou des utilisateurs non familiers des statistiques.

Vous pouvez exporter ce rapport en pdf en 1 clic et ainsi enrichir vos présentations pour mieux communiquer.

 

 

 

 

Les courbes de performances donnent une visibilité sur la performance du modèle et sa capacité à déceler les cibles. En rouge on trouve un tirage au hasard, en vert un tirage optimum (c’est à dire que la machine toucherait sa cible à 100% des coups, et en bleu la performance du modèle).

L’arbre de décision, souvent utilisé par d’autres logiciels de data mining, Il a des performances inférieures au modèle InfiniteInsight mais offre un vue détaillée de l’influence des combinaisons de variables sur la cible compréhensible par tous vos collaborateurs.

 

 

 

SAP InfiniteInsight permet également de générer automatiquement des rapports globaux et des rapports très détaillés des résultats de la modélisation. Vous pouvez consulter ces rapports dans l’outil ou les exporter en pdf, html, Excel.

 

Pour ce modèle, l’utilisateur en manque de lecture pourra lire les 500 pages de rapport de modélisation et entrer au plus profond de ses données.

Avec l’export en pdf vous pouvez imprimer ces rapports ou les télécharger sur vos tablettes ou liseuses électroniques et ainsi occuper vos soirées d’hiver .

 

 

 

 

Dans le panneau de gauche, cliquez sur « Exécution ».

Etape 4 : Utilisation du modèle

SAP InfiniteInsight offre plusieurs manières d’exploiter un modèle :

  • Application du modèle soit directement en base soit sur un fichier texte directement via l’outil. C’est cette application qui est décrite ici.
  • Application planifiée : Avec SAP InfiniteInsight Factory vous pouvez planifier à l’avance l’exécution des modèles et la périodicité de cette application. Cette fonctionnalité nécessite SAP InfiniteInsight Engine.
  • Génération de code pour une application directement dans vos applicatifs (ETL, en base, applicatifs métier).  Cette fonctionnalité nécessite SAP InfiniteInsight Engine.

Pour l’application directe cliquez sur « Application du modèle ».

 

Vous pouvez choisir de générer :
  • La valeur prévue
  • La probabilité de la cible et l’intervalle de confiance
  • Les contributions de chacune des variables sur la cible (score total = somme de chacune des contributions)
  • La décision (valeur prévue + proba de cette valeur + score)
  • Options avancés (pour personnaliser ces options)

Bonus : Insertion des résultats dans BusinessObjects 

L’image suivante montre un rapport généré à partir du jeu de données traduit en français reprennat les variables de Census01 auxquelles ont été ajoutés des noms – prénoms de manière aléatoire.

Le rapport liste les clients les plus appétents pour mon nouveau produit classés par probabilité d’achat.

 

 

Laisser un commentaire

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

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.