Création d'une structure et d'un modèle de réseau neuronal (Didacticiel sur l'exploration de données intermédiaire)

Pour créer un modèle d'exploration de données, vous devez d'abord utiliser l'Assistant Exploration de données pour créer une nouvelle structure d'exploration de données basée sur la nouvelle vue de source de données. Au cours de cette tâche, vous allez utiliser cet Assistant pour créer une structure d'exploration de données ainsi qu'un modèle d'exploration de données associé basé sur l'algorithme MNN (Microsoft Neural Network).

Les réseaux neuronaux sont extrêmement flexibles et peuvent analyser de nombreuses combinaisons d'entrées et de sorties ; vous devez donc essayer plusieurs façons de traiter les données pour obtenir des résultats optimaux. Par exemple, vous pouvez personnaliser la façon dont les données sont placées dans un conteneur, ou regroupées, pour cibler des besoins spécifiques de l'entreprise. Pour ce faire, vous allez ajouter une nouvelle colonne à la structure d'exploration de données qui regroupe les données numériques de façon différente, puis vous allez créer un modèle qui utilise la nouvelle colonne. Vous allez utiliser ces modèles d'exploration de données pour effectuer une exploration de données.

Enfin, lorsque vous aurez appris à partir du modèle de réseau neuronal quels sont les facteurs ayant l'impact le plus important pour votre question pratique, vous pourrez générer un modèle distinct de prédiction et de calcul de score. Vous utiliserez l'algorithme MLR (Microsoft Logistic Regression), qui est basé sur le modèle de réseau neuronal mais qui est optimisé pour la recherche d'une solution axée sur des entrées spécifiques.

Création de la structure de centre d'appels par défaut

Pour créer la structure et le modèle d'exploration de données de réseau neuronal par défaut

  1. Dans l'Explorateur de solutions de Business Intelligence Development Studio, cliquez avec le bouton droit sur Structures d'exploration de données, puis choisissez Nouvelle structure d'exploration de données.

  2. Dans la page Assistant Exploration de données, cliquez sur Suivant.

  3. Dans la page Sélectionner la méthode de définition, vérifiez si l'option À partir d'une base de données relationnelles ou d'un entrepôt de données qui existent déjà est sélectionnée, puis cliquez sur Suivant.

  4. Dans la page Créer la structure d'exploration de données, vérifiez que l'option Créer une structure d'exploration de données avec un modèle d'exploration de données est sélectionnée.

  5. Cliquez sur la liste déroulante pour afficher l'option Quelle technique d'exploration de données souhaitez-vous utiliser ?, puis sélectionnez Algorithme MNN (Microsoft Neural Network).

    Les modèles de régression logistique étant basés sur les réseaux neuronaux, vous pouvez réutiliser la même structure et ajouter un nouveau modèle d'exploration de données.

  6. Cliquez sur Suivant.

    La page Sélectionner une vue de source de données s'affiche.

  7. Sous Vues de sources de données disponibles, sélectionnez Centre d'appels, puis cliquez sur Suivant.

  8. Dans la page Spécifier les types des tables, activez la case à cocher Cas en regard de la table FactCallCenter. Cliquez sur Suivant.

  9. Dans la page Spécifier les données d'apprentissage, sélectionnez Clé en regard de la colonne FactCallCenterID.

  10. Activez les cases à cocher Prédire et Entrée.

  11. Activez les cases à cocher Clé, Entrée et Prédire comme indiqué dans le tableau suivant :

    Tables/Colonnes

    Clé/Entrée/Prédire

    AutomaticResponses

    Entrée

    AverageTimePerIssue

    Entrée/Prédire

    Calls

    Entrée

    DateKey

    À ne pas utiliser

    DayOfWeek

    Entrée

    FactCallCenterID

    Clé

    IssuesRaised

    Entrée

    LevelOneOperators

    Entrée/Prédire

    LevelTwoOperators

    Entrée

    Orders

    Entrée/Prédire

    ServiceGrade

    Entrée/Prédire

    Shift

    Entrée

    TotalOperators

    À ne pas utiliser

    WageType

    Entrée

  12. Dans la page Spécifier le type de contenu et de données des colonnes, vérifiez que la grille contient les colonnes, les types de contenu et les types de données indiqués dans le tableau suivant, puis cliquez sur Suivant.

    Colonnes

    Type de contenu

    Types de données

    AutomaticResponses

    Continu

    Long

    AverageTimePerIssue

    Continu

    Long

    Calls

    Continu

    Long

    DayOfWeek

    Discret

    Texte

    FactCallCenterID

    Clé

    Long

    IssuesRaised

    Continu

    Long

    LevelOneOperators

    Continu

    Long

    LevelTwoOperators

    Continu

    Long

    Orders

    Continu

    Long

    ServiceGrade

    Continu

    Double

    Shift

    Discret

    Text

    WageType

    Discret

    Texte

  13. Dans la page Créer un jeu de test, effacez la zone de texte correspondant à l'option Pourcentage des données de test. Cliquez sur Suivant.

  14. Dans la page Fin de l'Assistant, dans Nom de la structure d'exploration de données, tapez Call Center (Centre d'appels).

  15. Pour Nom du modèle d'exploration de données, tapez Call Center Default NN (Centre d'appels par défaut NN), puis cliquez sur Terminer.

    La zone Accepter l'extraction est désactivée car vous ne pouvez pas extraire des données avec les modèles de réseau neuronal.

  16. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de la structure d'exploration de données que vous venez de créer, puis sélectionnez Traiter.

Fonctionnement de la discrétisation

Par défaut, lorsque vous créez un modèle de réseau neuronal qui a un attribut prévisible numérique, l'algorithme MNN (Microsoft Neural Network) traite cet attribut comme un nombre continu. Par exemple, l'attribut ServiceGrade est un nombre qui, théoriquement, est compris entre 0.00 (tous les appels font l'objet d'une réponse) et 1.00 (tous les appelants raccrochent). Dans ce jeu de données, les valeurs sont distribuées de la façon suivante :

distribution de valeurs de niveau de service

En conséquence, lorsque vous traitez le modèle, les sorties peuvent ne pas être regroupées comme vous le souhaitez. Par exemple, le modèle par défaut, qui utilise le clustering pour rechercher des groupes de valeurs, divise ServiceGrade en plages telles que 0.0748051948 - 0.09716216215. Bien que ce regroupement soit mathématiquement exact, il est possible que ce type de plage ne soit pas aussi explicite pour les utilisateurs professionnels. Pour regrouper des valeurs numériques de manière différente, vous pouvez créer une ou plusieurs copies des colonnes de données numériques et spécifier la façon dont l'algorithme d'exploration de données doit traiter les valeurs. Par exemple, vous pouvez spécifier que l'algorithme divise les valeurs en cinq conteneurs au maximum.

Analysis Services fournit plusieurs méthodes pour le traitement des données numériques ou leur placement dans un conteneur. Le tableau suivant illustre les différences qui existent entre les résultats lorsque l'attribut de sortie ServiceGrade est traité de trois manières différentes :

  • en le traitant comme un nombre continu ;

  • en laissant l'algorithme discrétiser la valeur par la meilleure méthode possible, qui se trouve être le clustering ;

  • en spécifiant que les nombres doivent être placés dans un conteneur par la méthode EQUAL_AREAS (zones équivalentes).

Modèle par défaut (continu)

Placement dans un conteneur par clustering

Placement dans un conteneur par zones équivalentes

VALUESUPPORT
Manquante0
0.09875120
VALUESUPPORT
< 0.074805194834
0.0748051948 - 0.0971621621527
0.09716216215 - 0.1329729729539
0.13297297295 - 0.16749999997510
>= 0.16749999997510
VALUESUPPORT
< 0.0726
0.07 - 0.0022
0.09 - 0.1136
>= 0.1236

Dans ce tableau, la colonne VALUE montre comment le nombre continu a été traité et la colonne SUPPORT indique le nombre de lignes trouvées avec la valeur, la plage ou le type de valeur correspondant. Pour plus d'informations sur les options de placement dans un conteneur, consultez Méthodes de discrétisation (exploration de données).

Notes

Vous pouvez obtenir ces statistiques à partir du nœud des statistiques marginales du modèle, une fois que toutes les données ont été traitées. Pour plus d'informations sur le nœud des statistiques marginales, consultez Contenu du modèle d'exploration de données pour les modèles de réseau neuronal (Analysis Services - Exploration de données).

Au lieu d'utiliser les valeurs numériques, vous pouvez ajouter une colonne dérivée distincte qui classifie les niveaux de service en plages cibles prédéfinies, par exemple Optimal (ServiceGrade <= 0.05), Acceptable (0.10 > ServiceGrade > 0.05) et Médiocre (ServiceGrade >= 0.10).

Création d'une copie d'une colonne et modification de la méthode de discrétisation

Lors de l'exploration de données Analysis Services, vous pouvez facilement modifier la façon dont les données numériques sont placées dans un conteneur au sein d'une structure d'exploration de données en ajoutant une copie de la colonne contenant les données cibles et en modifiant la méthode de discrétisation.

La procédure suivante explique comment copier la colonne d'exploration de données qui contient l'attribut cible, ServiceGrade. Vous pouvez créer plusieurs copies d'une colonne d'une structure d'exploration de données, y compris de l'attribut prévisible.

Vous devez ensuite personnaliser le regroupement des valeurs numériques dans la colonne copiée afin de réduire la complexité des regroupements. Pour ce didacticiel, vous allez utiliser la méthode EQUAL_AREAS de discrétisation et spécifier quatre compartiments. Les regroupements qui résultent de cette méthode sont très proches des valeurs cibles présentant un intérêt pour les utilisateurs professionnels.

Notes

Durant l'exploration initiale des données, vous pouvez également tester diverses méthodes de discrétisation ou tenter d'abord un clustering des données.

Pour créer une copie personnalisée d'une colonne dans la structure d'exploration de données

  1. Dans l'Explorateur de solutions, double-cliquez sur la structure d'exploration de données que vous venez de créer.

  2. Sous l'onglet Structure d'exploration de données, cliquez sur Ajouter une colonne de structure d'exploration de données.

  3. Dans la boîte de dialogue Sélectionner la colonne, sélectionnez ServiceGrade dans la liste de Colonne source, puis cliquez sur OK.

    Une nouvelle colonne est ajoutée à la liste des colonnes de structure d'exploration de données. Par défaut, la nouvelle colonne d'exploration de données porte le même nom que la colonne existante, avec une valeur numérique finale en plus : par exemple, ServiceGrade 1. Vous pouvez modifier le nom de cette colonne afin de le rendre plus descriptif.

    Vous devez également spécifier la méthode de discrétisation.

  4. Cliquez avec le bouton droit sur ServiceGrade 1, puis sélectionnez Propriétés.

  5. Dans la fenêtre Propriétés, localisez la propriété Nom et remplacez le nom par Call Center Binned NN (Centre d'appels placé dans un conteneur NN).

  6. Une boîte de dialogue s'affiche en vous demandant si vous souhaitez apporter la même modification au nom de toutes les colonnes de modèle d'exploration de données connexe. Cliquez sur Non.

  7. Dans la fenêtre Propriétés, localisez la section Type de données, puis développez-la si nécessaire.

  8. Remplacez la valeur Continuous de la propriété Content par Discretized.

    Les propriétés suivantes sont maintenant disponibles. Modifiez les valeurs des propriétés comme indiqué dans le tableau suivant :

    Propriété

    Valeur par défaut

    Nouvelle valeur

    DiscretizationMethod

    Continuous

    EqualAreas

    DiscretizationBucketCount

    Aucune valeur

    4

    Notes

    La valeur par défaut de DiscretizationBucketCount est en fait 0, ce qui signifie que l'algorithme détermine automatiquement le nombre optimal de compartiments. Par conséquent, si vous voulez réinitialiser la valeur par défaut de cette propriété, tapez 0.

  9. Dans le Concepteur d'exploration de données, cliquez sur l'onglet Modèles d'exploration de données.

    Notez que lorsque vous ajoutez une copie d'une colonne de structure d'exploration de données, l'indicateur d'utilisation de la copie a automatiquement la valeur Ignore. En règle générale, lorsque vous ajoutez une copie d'une colonne à une structure d'exploration de données, vous ne devez pas utiliser la copie conjointement avec la colonne d'origine à des fins d'analyse ; sinon, l'algorithme trouvera une forte corrélation entre les deux colonnes, ce qui risque de masquer d'autres relations.

Ajout d'un nouveau modèle d'exploration de données à la structure d'exploration de données

À présent que vous avez créé un regroupement pour l'attribut cible, vous devez ajouter un nouveau modèle d'exploration de données qui utilise la colonne discrétisée. Une fois que vous aurez terminé, la structure d'exploration de données CallCenter disposera de deux modèles d'exploration de données :

  • Le modèle d'exploration de données, Call Center Default NN (Centre d'appels par défaut NN), gère les valeurs ServiceGrade sous forme de plage continue.

  • Le modèle d'exploration de données, Call Center Binned NN (Centre d'appels placé dans un conteneur NN), discrétise les valeurs ServiceGrade en quatre compartiments distincts.

Pour ajouter un modèle d'exploration de données basé sur la nouvelle colonne discrétisée

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la structure d'exploration de données que vous venez de créer, puis sélectionnez Ouvrir.

  2. Cliquez sur l'onglet Modèles d'exploration de données.

  3. Cliquez sur Créer un modèle d'exploration de données connexe.

  4. Dans la boîte de dialogue Nouveau modèle d'exploration de données, pour Nom du modèle, tapez Call Center Binned NN (Centre d'appels placé dans un conteneur NN). Dans la liste déroulante Nom d'algorithme, sélectionnez Algorithme MNN (Microsoft Neural Network).

  5. Dans la liste des colonnes contenues dans le nouveau modèle d'exploration de données, localisez ServiceGrade, puis remplacez l'indicateur d'utilisation Predict par Ignore.

  6. De même, localisez ServiceGrade Binned (ServiceGrade placé dans un conteneur), puis remplacez l'indicateur d'utilisation Ignore par Predict.

D'ordinaire, vous ne pouvez pas comparer des modèles d'exploration de données qui utilisent des attributs prévisibles différents. Toutefois, dans SQL Server 2008, vous pouvez créer un alias pour une colonne de modèle d'exploration de données. En d'autres termes, vous pouvez renommer la colonne ServiceGrade Binned (ServiceGrade placé dans un conteneur) dans le modèle d'exploration de données de sorte que son nom soit identique à celui de la colonne d'origine. Vous pouvez ensuite comparer directement ces deux modèles dans un graphique d'analyse de précision, même si les données sont discrétisées de manière différente.

Pour ajouter un alias pour une colonne de structure d'exploration de données dans un modèle d'exploration de données

  1. Sous l'onglet Modèles d'exploration de données, sous Structure, sélectionnez ServiceGrade Binned (ServiceGrade placé dans un conteneur).

    Notez que la fenêtre Propriétés affiche les propriétés de l'objet, ScalarMiningStructureColumn.

  2. Sous la colonne du modèle d'exploration de données, ServiceGrade Binned NN (ServiceGrade placé dans un conteneur NN), cliquez sur la cellule correspondant à la colonne ServiceGrade Binned (ServiceGrade placé dans un conteneur).

    Notez que la fenêtre Propriétés affiche à présent les propriétés de l'objet, MiningModelColumn.

  3. Localisez la propriété Nom, puis remplacez la valeur par ServiceGrade.

  4. Localisez la propriété Description, puis tapez Temporary column alias (Alias de colonne temporaire).

    La fenêtre Propriétés doit contenir les informations suivantes :

    Propriété

    Valeur

    Description

    Temporary column alias (Alias de colonne temporaire)

    ID

    ServiceGrade Binned (ServiceGrade placé dans un conteneur)

    Indicateurs de modélisation

      

    Nom

    Service Grade (Niveau de service)

    ID SourceColumn

    Service Grade 1 (Niveau de service 1)

    Utilisation

    Prédire

  5. Cliquez n'importe où sous l'onglet Modèle d'exploration de données.

    La grille est mise à jour afin d'afficher le nouvel alias de colonne temporaire, ServiceGrade, à côté de l'indicateur d'utilisation de la colonne. La grille contenant la structure d'exploration de données et deux modèles d'exploration de données doit ressembler à ce qui suit :

    Structure

    Call Center Default NN (Centre d'appels par défaut NN)

    Call Center Binned NN (Centre d'appels placé dans un conteneur NN)

      

    Algorithme MNN (Microsoft Neural Network)

    Algorithme MNN (Microsoft Neural Network)

    AutomaticResponses

    Entrée

    Entrée

    AverageTimePerIssue

    Prédire

    Prédire

    Calls

    Entrée

    Entrée

    DayOfWeek

    Entrée

    Entrée

    FactCallCenterID

    Clé

    Clé

    IssuesRaised

    Entrée

    Entrée

    LevelOneOperators

    Entrée

    Entrée

    LevelTwoOperators

    Entrée

    Entrée

    Orders

    Entrée

    Entrée

    ServiceGrade Binned (ServiceGrade placé dans un conteneur)

    Ignorer

    Prédire (ServiceGrade)

    ServiceGrade

    Prédire

    Ignorer

    Shift

    Entrée

    Entrée

    TotalOperators

    Entrée

    Entrée

    WageType

    Entrée

    Entrée

Traitement du modèle

Pour terminer, afin de vous assurer que les modèles créés sont comparables, vous devez définir le paramètre de valeur initiale pour le modèle par défaut et le modèle placé dans un conteneur. La définition d'une valeur initiale permet de garantir que chaque modèle débutera le traitement des données à partir du même point.

Notes

Si vous ne spécifiez pas de valeur numérique pour le paramètre de valeur initiale, SQL Server Analysis Services générera une valeur initiale basée sur le nom du modèle. Étant donné que le modèle de réseau neuronal et le modèle de régression logistique ont des noms différents, vous devez définir une valeur initiale afin de garantir qu'ils traitent les données dans le même ordre.

Pour spécifier la valeur initiale et traiter les modèles

  1. Sous l'onglet Modèle d'exploration de données, cliquez avec le bouton droit dans la colonne sur le modèle nommé Call Center - LR (Centre d'appels - LR), puis sélectionnez Définir les paramètres d'algorithme.

  2. Dans la ligne correspondant au paramètre HOLDOUT_SEED, cliquez sur la cellule vide sous Valeur, puis tapez 1. Cliquez sur OK. Répétez cette étape pour chaque modèle associé à la structure.

    Notes

    La valeur que vous choisissez comme valeur initiale n'a pas d'importance tant que vous utilisez la même valeur initiale pour tous les modèles associés.

  3. Dans le menu Modèles d'exploration de données, sélectionnez Traiter l'exploration de données et tous les modèles. Cliquez sur Oui pour déployer le projet d'exploration de données mis à jour sur le serveur.

  4. Dans la boîte de dialogue Traiter le modèle d'exploration de données, cliquez sur Exécuter.

  5. Cliquez sur Fermer pour fermer la boîte de dialogue État d'avancement du traitement, puis cliquez de nouveau sur Fermer dans la boîte de dialogue Traiter le modèle d'exploration de données.

Une fois que vous avez créé les deux modèles d'exploration de données connexes, vous devez explorer les données pour identifier les relations qui existent entre ces dernières.