Indicateurs de modélisation (Exploration de données)

Vous pouvez utiliser des indicateurs de modélisation dans SQL Server Analysis Services pour fournir des informations supplémentaires à un algorithme d'exploration de données sur les données définies dans une table de cas. L'algorithme peut utiliser ces informations pour générer un modèle d'exploration de données plus précis.

Vous pouvez utiliser des extensions DMX (Data Mining Extensions) pour définir des indicateurs de modélisation par programmation, ou vous pouvez les définir dans le Concepteur d'exploration de données dans Business Intelligence Development Studio. Pour plus d'informations sur la définition de ces indicateurs dans les instructions DMX, consultez Colonnes d'un modèle d'exploration de données.

Certains indicateurs de modélisation sont définis au niveau de la structure d'exploration de données, tandis que d'autres sont définis au niveau de la colonne du modèle d'exploration de données. Par exemple, l'indicateur de modélisation NOT NULL est utilisé avec les colonnes de structure d'exploration de données. Vous pouvez définir des indicateurs de modélisation supplémentaires sur la colonne de modèle d'exploration de données.

La liste suivante décrit les indicateurs de modélisation pris en charge dans Analysis Services. Pour plus d'informations sur les indicateurs de modélisation pris en charge par des algorithmes spécifiques, consultez la référence technique consacrée à l'algorithme.

  • NOT NULL
    Indique que les valeurs de la colonne d'attribut ne doivent jamais contenir de valeur NULL. Une erreur est générée si Analysis Services rencontre une valeur NULL pour cette colonne d'attribut au cours du processus d'apprentissage du modèle.

  • MODEL_EXISTENCE_ONLY
    Indique que la colonne sera considérée comme ayant deux états : Missing et Existing. Si la valeur est NULL, elle est considérée comme manquante.

    Notes

    L'état manquant est un état spécial utilisé par l'algorithme qui diffère de la valeur de texte « Manquant » dans une colonne. Pour plus d'informations, consultez Valeurs manquantes (Analysis Services - Exploration de données).

    En règle générale, cet indicateur de modélisation est utilisé pour indiquer des attributs pour lesquels l'état NULL a une signification implicite. En d'autres termes, le fait que la colonne possède une valeur peut revêtir plus d'importance que la valeur explicite de l'état NOT NULL. Par exemple, une colonne [DateContractSigned] peut être NULL si un contrat n'a jamais été signé et NOT NULL si le contrat a été signé. Par conséquent, si le but du modèle est de prédire si un contrat sera signé, vous pouvez utiliser l'indicateur MODEL_EXISTENCE_ONLY pour ignorer la valeur de date exacte dans les cas NOT NULL et faire uniquement la distinction entre les cas où la valeur est Missing et ceux où la valeur est Existing.

  • REGRESSOR
    Indique que la colonne est candidate pour une utilisation comme régresseur pendant le traitement. Cet indicateur est défini sur une colonne de modèle d'exploration de données et ne peut être appliqué qu'aux colonnes qui ont un type de données numériques continues. Pour plus d'informations sur l'utilisation de cet indicateur, consultez la section plus loin dans cette rubrique.

Notes

Les plug-ins tiers peuvent posséder d'autres indicateurs de modélisation, en plus de ceux prédéfinis par Analysis Services.

Affichage et modification d'indicateurs de modélisation

Dans le Concepteur d'exploration de données, vous pouvez afficher et modifier les indicateurs de modélisation associés à une structure d'exploration de données ou une colonne d'exploration de données en affichant les propriétés de la structure ou du modèle.

Pour afficher ou modifier l'indicateur de modélisation pour une colonne de structure ou une colonne de modèle

  1. Dans BI Development Studio, dans l'Explorateur de solutions, double-cliquez sur la structure d'exploration de données.

  2. Pour définir l'indicateur de modélisation NOT NULL, cliquez sur l'onglet Structure d'exploration de données.

    Pour définir l'indicateur REGRESSOR ou MODEL_EXISTENCE_ONLY, cliquez sur l'onglet Modèle d'exploration de données.

  3. Cliquez avec le bouton droit sur la colonne à afficher ou à modifier, puis sélectionnez Propriétés.

  4. Pour ajouter un nouvel indicateur de modélisation, cliquez sur la zone de texte en regard de la propriété ModelingFlags, puis activez la ou les cases à cocher en regard des indicateurs de modélisation à utiliser.

    Les indicateurs de modélisation sont affichés uniquement s'ils sont appropriés pour le type de données de colonne.

    Notes

    Après avoir modifié un indicateur de modélisation, vous devez retraiter le modèle.

Vous ne pouvez pas modifier les indicateurs de modélisation utilisés dans un modèle et une structure d'exploration de données existant à l'aide des extensions DMX. Vous devez créer un nouveau modèle d'exploration de données en utilisant la syntaxe ALTER MINING STRUCTURE….ADD MINING MODEL.

Si vous ne connaissez pas avec certitude les indicateurs de modélisation qui sont utilisés dans la structure actuelle, vous pouvez créer une requête qui retourne les indicateurs de modélisation à l'aide de la syntaxe suivante :

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS
WHERE STRUCTURE_NAME = '<structure name>'

Utilisation de l'indicateur de modélisation REGRESSOR

Lorsque vous définissez l'indicateur de modélisation REGRESSOR sur une colonne, vous indiquez à l'algorithme que la colonne contient des régresseurs potentiels. Les régresseurs actuellement utilisés dans le modèle sont déterminés par l'algorithme. Un régresseur potentiel peut être ignoré s'il ne modélise pas l'attribut prévisible.

Lorsque vous générez un modèle à l'aide de l'Assistant Exploration de données, toutes les colonnes d'entrée continues sont marquées comme des régresseurs possibles. Par conséquent, même si vous ne définissez pas explicitement l'indicateur REGRESSOR sur une colonne, la colonne peut être utilisée comme régresseur dans le modèle.

Vous pouvez déterminer les régresseurs utilisés dans le modèle traité en exécutant une requête sur l'ensemble de lignes de schéma pour le modèle d'exploration de données, comme le montre l'exemple suivant :

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_columnS
WHERE MODEL_NAME = '<model name>'

Remarque   Si vous modifiez un modèle d'exploration de données et que vous remplacez le type de contenu continu d'une colonne par un type de contenu discret, vous devez modifier manuellement l'indicateur sur la colonne d'exploration de données, puis retraiter le modèle.

Régresseurs dans les modèles de régression linéaire

Les modèles de régression linéaire sont basés sur l'algorithme MDT (Microsoft Decision Trees). Même si vous n'utilisez pas l'algorithme MLR (Microsoft Linear Regression), tout modèle d'arbre de décision peut contenir un arbre ou des nœuds qui représentent une régression sur un attribut continu.

Il est inutile de spécifier qu'une colonne continue représente un régresseur. L'algorithme MDT (Microsoft Decision Trees) partitionne le dataset en régions avec des séquences explicites même si vous ne définissez pas l'indicateur REGRESSOR sur la colonne. La différence réside dans le fait que lorsque vous définissez l'indicateur de modélisation, l'algorithme essaie de rechercher des équations de régression de type a*C1 + b*C2 + ... pour faire tenir les séquences dans les nœuds de l'arbre. La somme des résiduels est calculée et, si l'écart est trop grand, l'arbre est fractionné.

Par exemple, si vous prédisez le comportement d'achat de vos clients en utilisant Income comme attribut et que vous définissez l'indicateur de modélisation REGRESSOR sur la colonne, l'algorithme essaie tout d'abord de faire tenir les valeurs Income en utilisant une formule de régression standard. Si l'écart est trop grand, la formule de régression est abandonnée et l'arbre est fractionné sur un autre attribut. L'algorithme MDT essaie ensuite de faire tenir un régresseur pour le revenu dans chacune des branches après le fractionnement.

Vous pouvez utiliser le paramètre FORCE_REGRESSOR pour faire en sorte que l'algorithme utilise un régresseur particulier. Ce paramètre peut être utilisé avec les algorithmes MDT et MLR.