Partager via


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 la cible numérique de la qualité de service est placée dans un conteneur, ou regroupée, 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) qui se base sur le modèle de réseaux neuronaux mais qui est optimisé pour la recherche d'une solution axée sur des entrées spécifiques.

Étapes

  1. Créer la structure d'exploration de données de base, à l'aide de valeurs par défaut

  2. Créer une copie de la colonne prédictible et la modifier en plaçant les valeurs dans un conteneur

  3. Ajouter un nouveau modèle et utiliser la nouvelle colonne comme sortie pour ce modèle

  4. Créer un alias pour l'attribut prédictible modifié

  5. Affecter une valeur initiale afin que les modèles soient traités de la même façon ; traiter les deux modèles

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 Outils de données SQL Server (SSDT), 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, cochez la case Cas en regard de la table FactCallCenter. Ne rien sélectionner pour DimDate. 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

    Notez que plusieurs colonnes prédictibles ont été sélectionnées. L'une des forces de l'algorithme de réseau neuronal réside dans sa possibilité à analyser toutes les combinaisons possibles des attributs d'entrée et de sortie. Cette action ne convient pas pour un jeu de données de grande taille, car cela peut augmenter de manière exponentielle le temps de traitement.

  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

    Texte

    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édictible 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, si vous utilisez le clustering pour identifier les meilleurs groupes de valeurs, l'algorithme divise les valeurs dans ServiceGrade en plages telles que celle-ci : 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 a été traité de trois manières différentes :

  • en le traitant comme un nombre continu ;

  • en ayant le clustering d'utilisation d'algorithme pour identifier le meilleur arrangement des valeurs ;

  • 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

VALUE

SUPPORT

Manquant

0

0.09875

120

VALUE

SUPPORT

< 0.0748051948

34

0.0748051948 - 0.09716216215

27

0.09716216215 - 0.13297297295

39

0.13297297295 - 0.167499999975

10

>= 0.167499999975

10

VALUE

SUPPORT

< 0.07

26

0.07 - 0.00

22

0.09 - 0.11

36

>= 0.12

36

[!REMARQUE]

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).

Dans cette table, la colonne VALUE montre la manière dont le nombre de ServiceGrade a été traité. La colonne SUPPORT indique le nombre de cas ayant eu cette valeur, ou qui sont tombés dans cette plage.

  1. Utilisez les nombres continus (valeur par défaut)

    Si vous avez utilisé la méthode par défaut, l'algorithme calcule des résultats pour 120 valeurs distinctes, dont la valeur moyenne est 0,09875. Vous pouvez également consulter le nombre de valeurs manquantes.

  2. Placement dans un conteneur par clustering

    Lorsque vous laissez l'algorithme de clustering Microsoft déterminer le regroupement facultatif des valeurs, l'algorithme regrouperait les valeurs de ServiceGrade en cinq (5) plages. Le nombre de cas dans chaque plage n'est pas distribué uniformément, comme vous pouvez voir dans la colonne Support.

  3. Placement dans un conteneur par zones équivalentes

    Lorsque vous choisissez cette méthode, l'algorithme force les valeurs dans des compartiments de taille égale qui modifie tour à tour les limites supérieure et inférieure de chaque plage. Vous pouvez spécifier le nombre de compartiments, mais vous éviterez d'avoir deux valeurs manquantes dans chaque compartiment.

Pour plus d'informations sur les options de placement dans un conteneur, consultez Méthodes de discrétisation (exploration de données).

Sinon, 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 Meilleure (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édictible.

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.

[!REMARQUE]

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 Service Grade Binned (ServiceGrade placé dans un conteneur).

  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

    [!REMARQUE]

    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, gère les valeurs ServiceGrade comme une plage continue.

  • Vous allez créer un modèle d'exploration de données, Call Center Binned NN, qui utilise pour résultats cibles les valeurs de la colonne ServiceGrade, distribuée dans quatre compartiments de taille identique.

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édictibles différents. Toutefois, 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) du 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, cliquez sur la cellule qui correspond à la colonne ServiceGrade Binned.

    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 facilement 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.

[!REMARQUE]

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. Puisque les modèles ont toujours 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.

    [!REMARQUE]

    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.

Tâche suivante de la leçon

Exploration du modèle de centre d'appels (Didacticiel sur l'exploration de données intermédiaire)

Voir aussi

Concepts

Structures d'exploration de données (Analysis Services – exploration de données)