Partager via


Exemples de requêtes de modèle d’association

Lorsque vous créez une requête sur un modèle d’exploration de données, vous pouvez créer une requête de contenu, qui fournit des détails sur les règles et les ensembles d’éléments découverts lors de l’analyse, ou vous pouvez créer une requête de prédiction, qui utilise les associations découvertes dans les données pour effectuer des prédictions. Pour un modèle d’association, les prédictions sont généralement basées sur des règles et peuvent être utilisées pour formuler des recommandations, tandis que les requêtes sur le contenu explorent généralement la relation entre les ensembles d’éléments. Vous pouvez également récupérer des métadonnées sur le modèle.

Cette section explique comment créer ces types de requêtes pour les modèles basés sur l’algorithme Règles d’association Microsoft.

Requêtes de contenu

Obtention de données de métadonnées de modèle à l’aide de DMX

Obtention de métadonnées à partir de l’ensemble de lignes de schéma

Récupération des paramètres d’origine du modèle

Récupération d’une liste d’ensembles d’éléments et de produits

Retour des 10 premiers ensembles d’éléments

Requêtes de prédiction

Prédiction d’éléments associés

Détermination de la confiance pour les ensembles d’éléments associés

Recherche d’informations sur le modèle

Tous les modèles d’exploration de données exposent le contenu appris par l’algorithme en fonction d’un schéma standardisé, qui est nommé l’ensemble de lignes de schéma du modèle d’exploration de données. Vous pouvez créer des requêtes sur l’ensemble de lignes de schéma du modèle d’exploration de données à l’aide d’instructions DMX (Data Mining Extensions) ou à l’aide de procédures stockées Analysis Services. Dans SQL Server 2014, vous pouvez également interroger les ensembles de lignes de schéma directement en tant que tables système, à l’aide d’une syntaxe de type SQL.

Exemple de requête 1 : obtention de métadonnées de modèle à l’aide de DMX

La requête suivante retourne des métadonnées de base sur le modèle d’association, Associationtelles que le nom du modèle, la base de données où le modèle est stocké et le nombre de nœuds enfants dans le modèle. Cette requête utilise une requête de contenu DMX pour récupérer les métadonnées à partir du nœud parent du modèle :

SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION,   
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 1  

Remarque

Vous devez placer le nom de la colonne, CHILDREN_CARDINALITY, entre crochets pour le distinguer du mot clé réservé MDX du même nom.

Résultats de l'exemple :

CATALOGUE DE MODÈLES Test d’association
MODEL_NAME Association
NODE_CAPTION Modèle de règles d’association
NODE_SUPPORT 14879
CARDINALITÉ_DES_ENFANTS 942
DESCRIPTION_DU_NŒUD Modèle de règles d’association ; ITEMSET_COUNT=679 ; RULE_COUNT=263 ; MIN_SUPPORT=14 ; MAX_SUPPORT=4334 ; MIN_ITEMSET_SIZE=0 ; MAX_ITEMSET_SIZE=3 ; MIN_PROBABILITY=0.400390625 ; MAX_PROBABILITY=1 ; MIN_LIFT=0.14309369632511 ; MAX_LIFT=1.95758227647523

Pour obtenir une définition de ce que signifient ces colonnes dans un modèle d’association, consultez Contenu du modèle d’exploration de données pour les modèles d’association (Analysis Services - Exploration de données).

Revenir au haut

Exemple de requête 2 : obtention de métadonnées supplémentaires à partir de l’ensemble de lignes de schéma

En interrogeant l’ensemble de lignes du schéma d’exploration de données, vous trouverez les mêmes informations que celles retournées dans une requête de contenu DMX. Toutefois, l'ensemble de lignes du schéma fournit des colonnes supplémentaires, telles que la date à laquelle le modèle a été traité pour la dernière fois, la structure d'exploration et le nom de la colonne utilisée comme attribut prévisible.

SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY,   
MINING_STRUCTURE, LAST_PROCESSED  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

Résultats de l'exemple :

CATALOGUE DE MODÈLES Adventure Works DW Multidimensionnel 2012
MODEL_NAME Association
SERVICE_NAME Modèle de règles d’association
PREDICTION_ENTITY v Associer Séq Éléments de Ligne
STRUCTURE MINIÈRE Association
DERNIER_TRAITÉ 29/9/2007 10:21:24 PM

Revenir au haut

Exemple de requête 3 : récupération des paramètres d’origine pour le modèle

La requête suivante retourne une colonne unique qui contient des détails sur les paramètres utilisés lors de la création du modèle.

SELECT MINING_PARAMETERS   
from $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

Résultats de l'exemple :

MAXIMUM_ITEMSET_COUNT=200000,MAXIMUM_ITEMSET_SIZE=3,MAXIMUM_SUPPORT=1,MINIMUM_SUPPORT=9,40923449156529E-04,MINIMUM_IMPORTANCE=-9999999999,MINIMUM_ITEMSET_SIZE=0,MINIMUM_PROBABILITY=0,4

Revenir au haut

Recherche d’informations sur les règles et les ensembles d’éléments

Il existe deux utilisations courantes d’un modèle d’association : pour découvrir des informations sur les ensembles d’éléments fréquents et pour extraire des détails sur des règles et ensembles d’éléments particuliers. Par exemple, vous pouvez extraire une liste de règles qui ont été notées comme étant particulièrement intéressantes, ou créer une liste des ensembles d’éléments les plus courants. Vous récupérez ces informations à l’aide d’une requête de contenu DMX. Vous pouvez également parcourir ces informations à l’aide de microsoft Association Viewer.

Exemple de requête 4 : Récupération de la liste des ensembles d’éléments et des produits

La requête suivante récupère tous les ensembles d’éléments, ainsi qu’une table imbriquée qui répertorie les produits inclus dans chaque ensemble d’éléments. La colonne NODE_NAME contient l’ID unique du jeu d’éléments dans le modèle, tandis que le NODE_CAPTION fournit une description textuelle des éléments. Dans cet exemple, la table imbriquée est aplatie, de sorte qu’un ensemble d'articles qui contient deux produits génère deux lignes dans les résultats. Vous pouvez omettre le mot clé FLATTENED si votre client prend en charge les données hiérarchiques.

SELECT FLATTENED NODE_NAME, NODE_CAPTION,  
NODE_PROBABILITY, NODE_SUPPORT,  
(SELECT ATTRIBUTE_NAME FROM NODE_DISTRIBUTION) as PurchasedProducts  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

Résultats de l'exemple :

NODE_NAME 37
NODE_CAPTION Sport-100 = Existante
PROBABILITÉ_NŒUD 0.291283016331743
NODE_SUPPORT 4334
LES PRODUITS ACHETÉS. ATTRIBUTE_NAME v Associer Seq Éléments de Ligne(Sport-100)

Revenir au haut

Exemple de requête 5 : renvoi de 10 ensembles d’éléments principaux

Cet exemple montre comment utiliser certaines fonctions de regroupement et de classement que DMX fournit par défaut. La requête retourne les dix premiers ensembles lorsqu'ils sont classés par le support de chaque nœud. Notez que vous n’avez pas besoin de regrouper explicitement les résultats, comme vous le feriez dans Transact-SQL ; Toutefois, vous ne pouvez utiliser qu’une seule fonction d’agrégation dans chaque requête.

SELECT TOP 10 (NODE_SUPPORT),NODE_NAME, NODE_CAPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

Résultats de l'exemple :

NODE_SUPPORT 4334
NODE_NAME 37
NODE_CAPTION Sport-100 = Existante

Revenir au haut

Création de prédictions à l’aide du modèle

Un modèle de règles d’association est souvent utilisé pour générer des recommandations, basées sur des corrélations découvertes dans les ensembles d’éléments. Par conséquent, lorsque vous créez une requête de prédiction basée sur un modèle de règles d’association, vous utilisez généralement les règles du modèle pour effectuer des estimations basées sur de nouvelles données. PredictAssociation (DMX) est la fonction qui retourne des recommandations et comporte plusieurs arguments que vous pouvez utiliser pour personnaliser les résultats de la requête.

Un autre exemple de cas où les requêtes sur un modèle d’association peuvent être utiles consiste à restituer le degré de confiance des diverses règles et ensembles d’éléments afin de pouvoir comparer l’efficacité de plusieurs stratégies de vente croisée. Les exemples suivants illustrent comment créer de telles requêtes.

Exemple de requête 6 : Prédiction d’éléments associés

Cet exemple utilise le modèle d’association créé dans le didacticiel d’exploration de données intermédiaire (Analysis Services - Exploration de données) . Il montre comment créer une requête de prédiction qui vous indique quels produits recommander à un client qui a acheté un produit particulier. Ce type de requête, où vous fournissez des valeurs au modèle dans une SELECT...UNION instruction, est appelé requête singleton. Étant donné que la colonne de modèle prévisible qui correspond aux nouvelles valeurs est une table imbriquée, vous devez utiliser une SELECT clause pour mapper la nouvelle valeur à la colonne de table imbriquée, [Model] et une autre SELECT clause pour mapper la colonne de table imbriquée à la colonne au niveau du cas, [v Assoc Seq Line Items]. L’ajout du mot clé INCLUDE-STATISTICS à la requête vous permet de voir la probabilité et la prise en charge des recommandations.

SELECT PredictAssociation([Association].[vAssocSeqLineItems],INCLUDE_STATISTICS, 3)  
FROM [Association]  
NATURAL PREDICTION JOIN   
(SELECT  
(SELECT 'Classic Vest' as [Model])  
AS [v Assoc Seq Line Items])  
AS t  

Résultats de l'exemple :

Modèle $SOUTIEN $PROBABILITY $PROBABILITÉAJUSTÉE
Sport-100 4334 0.291283 0.252696
Bouteille d'eau 2866 0.19262 0.175205
Kit de correctifs 2113 0.142012 0.132389

Revenir au haut

Exemple de requête 7 : Détermination de la confiance pour les ensembles d’éléments associés

Alors que les règles sont utiles pour générer des recommandations, les ensembles d’éléments sont plus intéressants pour une analyse plus approfondie des modèles dans le jeu de données. Par exemple, si vous n’avez pas été satisfait de la recommandation retournée par l’exemple de requête précédent, vous pouvez examiner d’autres ensembles d’éléments qui contiennent Product A, pour obtenir une meilleure idée de savoir si le produit A est un accessoire que les gens ont tendance à acheter avec tous les types de produits, ou si A est fortement corrélé avec les achats de produits particuliers. Le moyen le plus simple d’explorer ces relations consiste à filtrer les ensembles d’éléments dans microsoft Association Viewer ; Toutefois, vous pouvez récupérer les mêmes informations avec une requête.

L’exemple de requête suivant retourne tous les ensembles d’éléments qui incluent l’élément Water Bottle, y compris la bouteille d’eau unique.

SELECT TOP 100 FROM   
(  
SELECT FLATTENED NODE_CAPTION, NODE_SUPPORT,   
(SELECT ATTRIBUTE_NAME from NODE_DISTRIBUTION  
WHERE ATTRIBUTE_NAME = 'v Assoc Seq Line Items(Water Bottle)') as D  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  
) AS Items  
WHERE [D.ATTRIBUTE_NAME] <> NULL  
ORDER BY NODE_SUPPORT DESC  

Résultats de l'exemple :

NODE_CAPTION NODE_SUPPORT D.ATTRIBUTE_NAME
Bouteille d’eau = Disponible 2866 v Associer les éléments de séquence de ligne (Bouteille d'eau)
Mountain Bottle Cage = Existing, Water Bottle = Existing 1136 v Assoc Seq Line Items(Bouteille d'eau)
Road Bottle Cage = Existing, Water Bottle = Existing 1068 v Assoc Seq Éléments de Ligne (Bouteille d'eau)
Bouteille d’eau = Existant, Sport-100 = Existant 734 v Associer Séquence Éléments de Ligne(Bouteille d'Eau)

Cette requête retourne à la fois les lignes de la table imbriquée qui correspondent aux critères et toutes les lignes de la table extérieure ou de cas. Par conséquent, vous devez ajouter une condition qui élimine les lignes de la table de cas qui ont une valeur Null pour le nom de l’attribut cible.

Revenir au haut

Liste des fonctions

Tous les algorithmes Microsoft prennent en charge un ensemble commun de fonctions. Toutefois, l’algorithme Microsoft Association prend en charge les fonctions supplémentaires répertoriées dans le tableau suivant.

Fonction de prédiction Utilisation
IsDescendant (DMX) Détermine si un nœud est un enfant d’un autre nœud dans le graphe de réseau neuronal.
IsInNode (DMX) Indique si le nœud spécifié contient le cas actuel.
PredictAdjustedProbability (DMX) Retourne la probabilité pondérée.
PredictAssociation (DMX) Prédit l’appartenance à un jeu de données associatif.
PredictHistogram (DMX) Retourne une table de valeurs associée à la valeur prédite actuelle.
PredictNodeId (DMX) Retourne la Node_ID pour chaque cas.
PredictProbability (DMX) Retourne la probabilité de la valeur prédite.
PredictSupport (DMX) Retourne la valeur de prise en charge pour un état spécifié.
PredictVariance (DMX) Retourne la variance de la valeur prédite.

Voir aussi

Algorithme d’association Microsoft
Informations techniques de référence sur l’algorithme Microsoft Association
Contenu du modèle d’exploration de données pour les modèles d’association (Analysis Services - Exploration de données)