Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’algorithme Microsoft Sequence Clustering est un algorithme hybride qui utilise l’analyse de chaîne Markov pour identifier les séquences ordonnées et combine les résultats de cette analyse avec des techniques de clustering pour générer des clusters en fonction des séquences et d’autres attributs du modèle. Cette rubrique décrit l’implémentation de l’algorithme, la personnalisation de l’algorithme et les exigences spéciales pour les modèles de clustering de séquence.
Pour plus d’informations générales sur l’algorithme, notamment sur la façon de parcourir et de interroger des modèles de clustering de séquences, consultez l’algorithme microsoft Sequence Clustering.
Implémentation de l’algorithme de clustering de séquences Microsoft
Le modèle Microsoft Sequence Clustering utilise des modèles Markov pour identifier les séquences et déterminer la probabilité de séquences. Un modèle Markov est un graphique dirigé qui stocke les transitions entre différents états. L’algorithme Microsoft Sequence Clustering utilise des chaînes Markov n-order, et non un modèle Markov masqué.
Le nombre de commandes dans une chaîne Markov vous indique le nombre d’états utilisés pour déterminer la probabilité des états actuels. Dans un modèle Markov de premier ordre, la probabilité de l’état actuel dépend uniquement de l’état précédent. Dans une chaîne Markov de deuxième ordre, la probabilité d’un état dépend des deux états précédents, et ainsi de suite. Pour chaque chaîne Markov, une matrice de transition stocke les transitions pour chaque combinaison d’états. À mesure que la longueur de la chaîne Markov augmente, la taille de la matrice augmente également de manière exponentielle et la matrice devient extrêmement éparse. Le temps de traitement augmente également proportionnellement.
Il peut être utile de visualiser la chaîne à l’aide de l’exemple d’analyse de flux de clic, qui analyse les visites des pages web sur un site. Chaque utilisateur crée une longue séquence de clics pour chaque session. Lorsque vous créez un modèle pour analyser le comportement de l’utilisateur sur un site Web, le jeu de données utilisé pour l’apprentissage est une séquence d’URL, convertie en graphique qui inclut le nombre de toutes les instances du même chemin d’accès en un clic. Par exemple, le graphique contient la probabilité que l’utilisateur passe de la page 1 à la page 2 (10%), la probabilité que l’utilisateur passe de la page 1 à la page 3 (20%), etc. Lorsque vous placez tous les chemins et éléments possibles des chemins d’accès ensemble, vous obtenez un graphique qui peut être beaucoup plus long et plus complexe que n’importe quel chemin observé unique.
Par défaut, l’algorithme Microsoft Sequence Clustering utilise la méthode d’optimisation des attentes (EM) de clustering. Pour plus d’informations, consultez Microsoft Clustering Algorithm Technical Reference.
Les cibles du clustering sont à la fois les attributs séquentiels et non séquentiels. Chaque cluster est sélectionné de façon aléatoire à l’aide d’une distribution de probabilité. Chaque cluster a une chaîne Markov qui représente l’ensemble complet de chemins et une matrice qui contient les transitions d’état de séquence et les probabilités. En fonction de la distribution initiale, la règle Bayes est utilisée pour calculer la probabilité d’un attribut, y compris une séquence, dans un cluster spécifique.
L’algorithme Microsoft Sequence Clustering prend en charge l’ajout d’attributs non séquentiels au modèle. Cela signifie que ces attributs supplémentaires sont combinés avec les attributs de séquence pour créer des clusters de cas avec des attributs similaires, comme dans un modèle de clustering classique.
Un modèle de clustering de séquences a tendance à créer beaucoup plus de clusters qu’un modèle de clustering classique. Par conséquent, l’algorithme Microsoft Sequence Clustering effectue la décomposition de clusterpour séparer les clusters en fonction des séquences et d’autres attributs.
Sélection de fonctionnalités dans un modèle de clustering de séquences
La sélection des fonctionnalités n’est pas appelée lors de la génération de séquences ; Toutefois, la sélection des fonctionnalités s’applique à l’étape de clustering.
| Type de modèle | Méthode de sélection des caractéristiques | Commentaires |
|---|---|---|
| Regroupement de séquences | Non utilisé | La sélection des fonctionnalités n’est pas appelée ; Toutefois, vous pouvez contrôler le comportement de l’algorithme en définissant la valeur des paramètres MINIMUM_SUPPORT et MINIMUM_PROBABILIITY. |
| Regroupement | Score d’intérêt | Bien que l’algorithme de clustering puisse utiliser des algorithmes discrets ou discrétisés, le score de chaque attribut est calculé comme une distance et est continu ; par conséquent, le score d’intérêt est utilisé. |
Pour plus d’informations, consultez Sélection des fonctionnalités.
Optimisation des performances
L’algorithme Microsoft Sequence Clustering prend en charge différentes façons d’optimiser le traitement :
Contrôle du nombre de clusters générés en définissant une valeur pour le paramètre CLUSTER_COUNT.
Réduction du nombre de séquences incluses en tant qu’attributs, en augmentant la valeur du paramètre MINIMUM_SUPPORT. Par conséquent, des séquences rares sont éliminées.
Réduction de la complexité avant de traiter le modèle, en regroupant les attributs associés.
En règle générale, vous pouvez optimiser les performances d’un mode chaîne Markov n-order de plusieurs façons :
Contrôle de la longueur des séquences possibles.
Réduction programmatique de la valeur n.
Stockage uniquement des probabilités qui dépassent un seuil spécifié.
Une discussion complète de ces méthodes dépasse le cadre de cette rubrique.
Personnalisation de l’algorithme de clustering de séquences
L’algorithme Microsoft Sequence Clustering prend en charge les paramètres qui affectent le comportement, les performances et la précision du modèle d’exploration de données résultant. Vous pouvez également modifier le comportement du modèle terminé en définissant des indicateurs de modélisation qui contrôlent la façon dont l’algorithme traite les données d’apprentissage.
Définition des paramètres d’algorithme
Le tableau suivant décrit les paramètres qui peuvent être utilisés avec l’algorithme Microsoft Sequence Clustering.
CLUSTER_COUNT
Spécifie le nombre approximatif de clusters à générer par l’algorithme. Si le nombre approximatif de clusters ne peut pas être généré à partir des données, l’algorithme génère autant de clusters que possible. La définition du paramètre CLUSTER_COUNT sur 0 entraîne l’utilisation de l’algorithme heuristique pour déterminer le nombre de clusters à générer.
La valeur par défaut est 10.
Remarque
La spécification d’un nombre non nul agit comme indicateur pour l’algorithme, qui poursuit l’objectif de rechercher le nombre spécifié, mais peut finir par trouver plus ou moins.
SOUTIEN_MINIMAL
Spécifie le nombre minimal de cas requis pour prendre en charge un attribut pour créer un cluster.
La valeur par défaut est 10.
MAXIMUM_SEQUENCE_STATES
Spécifie le nombre maximal d’états qu’une séquence peut avoir.
La définition de cette valeur sur un nombre supérieur à 100 peut entraîner la création d’un modèle qui ne fournit pas d’informations significatives.
La valeur par défaut est 64.
ETATS_MAXIMAUX
Spécifie le nombre maximal d’états pour un attribut non séquence pris en charge par l’algorithme. Si le nombre d’états d’un attribut non séquence est supérieur au nombre maximal d’états, l’algorithme utilise les états les plus populaires de l’attribut et traite les états restants comme Missing.
La valeur par défaut est 100.
Drapeaux de modélisation
Les indicateurs de modélisation suivants sont pris en charge pour une utilisation avec l’algorithme Microsoft Sequence Clustering.
NON NUL
Indique que la colonne ne peut pas contenir de valeur Null. Une erreur se produit si Analysis Services rencontre une valeur Null pendant l’entraînement du modèle.
S’applique à la colonne de structure de minage de données.
MODÈLE_EXISTENCE_SEULEMENT
Signifie que la colonne sera traitée comme ayant deux états possibles : Missing et Existing. Une valeur Null est traitée comme une Missing valeur.
S’applique à la colonne du modèle d’exploration de données.
Pour plus d’informations sur l’utilisation de valeurs manquantes dans les modèles d’exploration de données et sur la façon dont les valeurs manquantes affectent les scores de probabilité, consultez Valeurs manquantes (Analysis Services - Exploration de données).
Spécifications
La table de cas doit avoir une colonne ID de cas. Si vous le souhaitez, la table de cas peut contenir d’autres colonnes qui stockent des attributs sur le cas.
L’algorithme Microsoft Sequence Clustering nécessite des informations de séquence, stockées en tant que table imbriquée. La table imbriquée doit avoir une seule colonne de séquence clé. Une Key Sequence colonne peut contenir n’importe quel type de données pouvant être triée, y compris les types de données de chaîne, mais la colonne doit contenir des valeurs uniques pour chaque cas. En outre, avant de traiter le modèle, vous devez vous assurer que la table de cas et la table imbriquée sont triées par ordre croissant sur la clé qui associe les tables.
Remarque
Si vous créez un modèle qui utilise l’algorithme Microsoft Sequence mais n’utilisez pas de colonne de séquence, le modèle résultant ne contient aucune séquence, mais il s’agit simplement de cas de cluster basés sur d’autres attributs inclus dans le modèle.
Colonnes d'entrée et colonnes prévisibles
L’algorithme Microsoft Sequence Clustering prend en charge les colonnes d’entrée spécifiques et les colonnes prévisibles répertoriées dans le tableau suivant. Pour plus d’informations sur ce que signifient les types de contenu lorsqu’ils sont utilisés dans un modèle d’exploration de données, consultez Content Types (Exploration de données).
| Colonne | Types de contenu |
|---|---|
| Attribut d’entrée | Continu, cyclique, discret, discrétisé, clé, séquence clé, table et ordre |
| Attribut prédictible | Continu, cyclique, discret, discrétisé, tableau et ordonné |
Remarques
Utilisez la fonction PredictSequence (DMX) pour la prédiction de séquences. Pour plus d’informations sur les éditions de SQL Server qui prennent en charge la prédiction de séquence, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).
L’algorithme Microsoft Sequence Clustering 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 Sequence Clustering prend en charge l’extraction, l’utilisation de modèles d’exploration de données OLAP et l’utilisation des dimensions d’exploration de données.
Voir aussi
Algorithme de clustering de séquences Microsoft
Exemples de requêtes sur des modèles de clustering de séquence
Contenu du modèle d'exploration de données des modèles de clustering de séquences (Services d'analyse - Exploration de données)