Algorithme Microsoft Association

Mis à jour : 17 novembre 2008

L'algorithme Microsoft Association est un algorithme d'association fourni par Microsoft SQL Server 2005 Analysis Services (SSAS), qui est utile pour les moteurs de recommandation. Un moteur de recommandation recommande des produits aux clients en se basant sur les éléments qu'ils ont déjà achetés ou pour lesquels ils ont manifesté un intérêt. L'algorithme Microsoft Association est utile également pour l'analyse d'un panier d'achats. Pour plus d'informations sur l'analyse des paniers d'achats, consultez Leçon 4 : Création du scénario d'analyse de panier dans le didacticiel sur l'exploration de données.

Des modèles d'association sont générés sur les jeux de données qui contiennent des identificateurs pour les cas individuels et pour les éléments que les cas contiennent. Un groupe d'éléments dans un cas est appelé un jeu d'éléments. Un modèle d'association est composé d'une série de jeux d'éléments et de règles qui décrivent la manière dont ces éléments sont groupés au sein des cas. Les règles que l'algorithme identifie peuvent être utilisées pour prévoir les prochains achats d'un client, en fonction des éléments déjà présents dans le panier d'achat du client. Le diagramme ci-dessous montre une série de règles dans un jeu d'éléments.

Ensemble de règles pour un modèle d'association

Comme le diagramme l'illustre, l'algorithme Microsoft Association peut trouver de nombreuses règles au sein d'un jeu de données. L'algorithme utilise deux paramètres, de prise en charge et de probabilité, pour décrire les jeux d'éléments et les règles qu'il génère. Par exemple, si X et Y représentent deux éléments éventuellement présents dans un panier d'achat, le paramètre de prise en charge correspond au nombre de cas dans le jeu de données qui contiennent la combinaison des éléments X et Y. En utilisant le paramètre de prise en charge en association avec les paramètres MINIMUM_SUPPORT et MAXIMUM_SUPPORT, définis par l'utilisateur, l'algorithme contrôle le nombre de jeux d'éléments générés. Le paramètre de probabilité, appelé aussi confiance, représente la fraction des cas du jeu de données contenant X, qui contiennent également Y. En utilisant le paramètre de probabilité en association avec le paramètre MINIMUM_PROBABILITY, l'algorithme contrôle le nombre de règles générées.

Exemple

La société Adventure Works Cycles renouvelle la conception de la fonctionnalité de son site Web. L'objectif de cette nouvelle conception est d'augmenter les ventes de produits. Comme la société enregistre chaque vente dans une base de données transactionnelle, elle peut utiliser l'algorithme Microsoft Association pour identifier les produits qui ont tendance à être achetés ensemble. Il est alors possible de prévoir les éléments supplémentaires susceptibles d'intéresser un client, en fonction des éléments déjà présents dans le panier d'achat de ce client.

Fonctionnement de l'algorithme

L'algorithme Microsoft Association parcourt un jeu de données pour trouver les éléments qui apparaissent ensemble dans un cas. L'algorithme groupe alors en jeux d'éléments tous les éléments associés qui apparaissent un nombre de fois au moins égal au nombre de cas spécifiés par le paramètre MINIMUM_SUPPORT. Par exemple, un jeu d'éléments peut être « Mountain 200=Existing, Sport 100=Existing » et peut avoir une prise en charge de 710. L'algorithme génère alors des règles à partir des jeux d'éléments. Ces règles sont utilisées pour prévoir la présence d'un élément dans la base de données, en fonction de la présence d'autres éléments spécifiques que l'algorithme identifie comme importants. Par exemple, une règle peut être « if Touring 1000=existing and Road bottle cage=existing, then Water bottle=existing » et peut avoir une probabilité de 0,812. Dans cet exemple, l'algorithme identifie le fait que la présence dans le panier d'un pneu Touring 1000 et d'un porte-bidon indique qu'un bidon d'eau pourrait également probablement se trouver dans le panier.

Utilisation de l'algorithme

Un modèle d'association doit contenir une colonne clé, des colonnes d'entrée et une colonne prévisible. Les colonnes d'entrée doivent être discrètes. Les données d'entrée pour un modèle d'association sont souvent contenues dans deux tables. Par exemple, une table peut contenir des informations sur le client, tandis qu'une autre table contient les achats du client. Vous pouvez entrer ces données dans le modèle en utilisant une table imbriquée. Pour plus d'informations sur les tables imbriquées, consultez Tables imbriquées.

L'algorithme Microsoft Association prend en charge des types de contenu de colonne d'entrée, des types de contenu de colonne prévisible et des indicateurs de modélisation spécifiques, qui sont répertoriés dans le tableau ci-dessous.

Types de contenu de colonne d'entrée

Cyclique, discret, discrétisé, clé, table et trié

Types de contenu de colonne prévisible

Cyclique, discret, discrétisé, table et trié

Indicateurs de modélisation

MODEL_EXISTENCE_ONLY et NOT NULL

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

IsDescendant

PredictHistogram

IsInNode

PredictNodeId

PredictAdjustedProbability

PredictProbability

PredictAssociation

PredictSupport

Pour obtenir la liste des fonctions communes à tous les algorithmes Microsoft, consultez Algorithmes d'exploration de données. Pour plus d'informations sur l'utilisation de ces fonctions, consultez Fonctions DMX (Data Mining Extensions).

L'algorithme Microsoft Association ne prend pas en charge l'utilisation du langage PMML (Predictive Model Markup Language) pour créer des modèles d'exploration de données.

L'algorithme Microsoft Association prend en charge plusieurs paramètres qui affectent les performances et la précision du modèle d'exploration de données résultant. Le tableau ci-dessous décrit chaque paramètre.

Paramètre

Description

MINIMUM_SUPPORT

Spécifie le nombre minimal de cas qui doivent contenir le jeu d'éléments avant que l'algorithme génère une règle. Attribuer à ce paramètre une valeur inférieure à 1 spécifie ce nombre minimal de cas comme un pourcentage du nombre total de cas. Attribuer à ce paramètre une valeur entière supérieure à 1 spécifie le nombre minimal de cas comme le nombre absolu de cas qui doivent contenir le jeu d'éléments. L'algorithme peut augmenter la valeur de ce paramètre si la mémoire est limitée.

La valeur par défaut est 0,03.

MAXIMUM_SUPPORT

Spécifie le nombre maximal de cas pour lesquels un jeu d'éléments peut bénéficier d'un support. Une valeur inférieure à 1 représente un pourcentage du nombre total de cas. Une valeur supérieure à 1 représente le nombre absolu de cas qui peuvent contenir le jeu d'éléments.

La valeur par défaut est 1.

MINIMUM_ITEMSET_SIZE

Spécifie le nombre minimal d'éléments autorisés dans un jeu d'éléments.

La valeur par défaut est 1.

MAXIMUM_ITEMSET_SIZE

Spécifie le nombre maximal d'éléments autorisés dans un jeu d'éléments. Une valeur de 0 spécifie qu'il n'y a pas de limite quant à la taille du jeu d'éléments.

La valeur par défaut est 3.

MAXIMUM_ITEMSET_COUNT

Spécifie le nombre maximal de jeux d'éléments à produire. Si aucune valeur n'est spécifiée, la valeur par défaut est utilisée. La valeur par défaut est 200000.

ms174916.note(fr-fr,SQL.90).gifRemarque :

Les jeux d'éléments sont classés par support uniquement. Le classement des jeux d'éléments ayant le même support est arbitraire.

MINIMUM_PROBABILITY

Spécifie la probabilité minimale qu'une règle ait la valeur True. Par exemple, la valeur 0,5 spécifie qu'aucune règle présentant une probabilité inférieure à 50 % n'est générée.

La valeur par défaut est 0,4.

OPTIMIZED_PREDICTION_COUNT

Définit le nombre d'éléments à mettre en cache ou à optimiser pour une prédiction.

La valeur par défaut est 0. Lorsque la valeur par défaut est utilisée, l'algorithme produit autant de prédictions que la quantité demandée dans la requête.

Historique des modifications

Version Historique

17 novembre 2008

Nouveau contenu :
  • Ajout d'une description de la valeur par défaut et du comportement par défaut de OPTIMIZED_PREDICTION_COUNT.

15 septembre 2007

Contenu modifié :
  • Correction de la description du comportement par défaut de MAXIMUM_ITEMSET_COUNT.
  • Pour plus d'informations sur les problèmes en rapport avec la valeur par défaut de MINIMUM_SUPPORT, consultez la Base de connaissances Microsoft.

Voir aussi

Concepts

Algorithmes d'exploration de données
Assistant Exploration de données
Utilisation des outils d'exploration de données
Affichage d'un modèle d'exploration de données à l'aide de la Visionneuse de l'algorithme MAR (Microsoft Association Rules)

Autres ressources

CREATE MINING MODEL (DMX)

Aide et Informations

Assistance sur SQL Server 2005