Sélection des fonctionnalités pour l'exploration de données
La sélection des fonctionnalités est une fonction capitale pour tout produit d'exploration de données. En effet, lorsque vous générez un modèle d'exploration de données, le dataset contient souvent plus d'informations qu'il n'en faut. Par exemple, un jeu de données peut contenir 500 colonnes pour décrire les caractéristiques des clients, alors que peut-être seulement 50 de ces colonnes sont utilisées pour générer un modèle particulier. Si vous gardez les colonnes inutiles pendant la génération du modèle, plus d'UC et de mémoire sont nécessaires au cours du processus d'apprentissage, et plus d'espace de stockage est requis pour le modèle terminé.
Même si les ressources sont suffisantes, en général il est préférable de supprimer les colonnes inutiles car elles peuvent dégrader la qualité des modèles découverts, pour les raisons suivantes :
Certaines colonnes sont parasites ou redondantes, ce qui rend plus difficile la découverte de séquences significatives à partir des données.
Pour découvrir des séquences de qualité, la plupart des algorithmes d'exploration de données nécessitent un jeu de données d'apprentissage beaucoup plus important dans le cas d'un jeu de données de grande dimension. Mais, dans certaines applications d'exploration de données, les données d'apprentissage sont peu importantes.
La sélection des fonctionnalités permet d'éviter d'avoir trop de données qui présentent peu d'intérêt, ou le contraire.
Sélection des fonctionnalités pour l'exploration de données Analysis Services
En général, la sélection des fonctionnalités calcule un score pour chaque attribut, puis retient uniquement les attributs qui ont les meilleurs scores. Vous pouvez ajuster le seuil pour les scores les plus élevés. La sélection des fonctionnalités est toujours effectuée avant l'apprentissage du modèle, afin de choisir automatiquement les attributs d'un dataset qui sont le plus susceptibles d'être utilisés dans le modèle.
Analysis Services fournit plusieurs méthodes pour la sélection des fonctionnalités. La méthode exacte pour sélectionner les attributs ayant la valeur la plus élevée dépend de l'algorithme utilisé dans votre modèle, et de tous les paramètres que vous avez définis sur votre modèle. La sélection des fonctionnalités est appliquée aux entrées, aux attributs prévisibles ou aux états d'une colonne. Seuls les attributs et les états que l'algorithme sélectionne sont inclus dans le processus de génération de modèle et peuvent être utilisés pour des prédictions. Les colonnes prédictibles qui sont ignorées par la sélection des fonctionnalités sont utilisées pour les prédictions, mais les prédictions se basent uniquement sur les statistiques globales qui existent dans le modèle.
Notes
La sélection des fonctionnalités affecte uniquement les colonnes utilisées dans le modèle et n'a aucun effet sur le stockage de la structure d'exploration de données. Les colonnes que vous omettez dans le modèle d'exploration de données restent disponibles dans la structure, et les données contenues dans les colonnes de structure d'exploration de données sont mises en cache.
Définition de méthodes de sélection des fonctionnalités
Plusieurs méthodes s'offrent à vous pour implémenter la sélection des fonctionnalités, en fonction du type de données que vous utilisez et de l'algorithme que vous choisissez pour l'analyse. SQL Server Analysis Services fournit plusieurs méthodes bien établies et très utilisées pour calculer les scores des attributs. La méthode appliquée dans tout algorithme ou jeu de données dépend des types de données et de l'utilisation des colonnes.
Le score d'intérêt et de pertinence est utilisé pour classer par ordre de priorité et trier les attributs dans des colonnes qui contiennent des données numériques continues non binaires.
Pour les colonnes qui contiennent des données discrètes et discrétisées, vous pouvez choisir entre l'entropie de Shannon et deux scores bayésiens ; toutefois, si le modèle contient des colonnes continues, le score d'intérêt et de pertinence est utilisé pour évaluer toutes les colonnes d'entrée afin de garantir la cohérence.
Cette section décrit chaque méthode de sélection des fonctionnalités.
Score d'intérêt et de pertinence
Une fonctionnalité présente un intérêt si elle fournit des informations utiles. La définition de ce qui peut être utile variant en fonction du scénario, le secteur de l'exploration de données a mis au point différentes méthodes pour évaluer l'intérêt et la pertinence. Par exemple, la nouveauté peut être intéressante dans la détection d'observations aberrantes, mais la capacité de faire la distinction entre des éléments étroitement liés connexes, ou poids discriminant, peut être plus intéressante pour la classification.
La mesure d'intérêt et de pertinence utilisée dans SQL Server Analysis Services est basée sur l'entropie, ce qui signifie que les attributs avec des distributions aléatoires ont une entropie plus élevée et des gains d'informations inférieurs. Par conséquent, de tels attributs sont moins intéressants. L'entropie pour un attribut particulier est comparée à l'entropie de tous les autres attributs, comme suit :
Intérêt/Pertinence(Attribut) = - (m - Entropie(Attribut)) * (m - Entropie(Attribut))
L'entropie centrale, ou m, représente l'entropie de l'ensemble du jeu de fonctionnalités. En soustrayant l'entropie de l'attribut cible de l'entropie centrale, vous pouvez évaluer la quantité d'informations fournies par l'attribut.
Ce score est utilisé par défaut chaque fois que la colonne contient des données numériques continues non binaires.
Entropie de Shannon
L'entropie de Shannon mesure l'incertitude d'une variable aléatoire pour un résultat particulier. Par exemple, l'entropie d'une partie de pile ou face peut être représentée comme une fonction de la probabilité de la pièce tombant côté pile.
Analysis Services utilise la formule suivante pour calculer l'entropie de Shannon :
H(X) = -∑ P(xi) log(P(xi))
Cette méthode de calcul de score est disponible pour les attributs discrets et discrétisés.
Bayésien avec a priori K2
Analysis Services fournit deux scores de sélection des fonctionnalités qui sont basés sur les réseaux bayésiens. Un réseau bayésien est un graphique dirigé ou acyclique d'états et de transitions entre états, ce qui signifie que certains états sont toujours antérieurs à l'état actuel, que certains états sont postérieurs et que le graphique ne se répète pas ou ne fait pas de boucle. Par définition, les réseaux bayésiens autorisent l'utilisation de connaissances antérieures. Toutefois, la question de savoir quels états antérieurs utiliser pour le calcul des probabilités des états ultérieurs est importante pour la conception, les performances et la précision de l'algorithme.
Développé par Cooper et Herskovits, l'algorithme K2 pour l'apprentissage à partir d'un réseau bayésien est couramment employé dans le cadre de l'exploration de données. Cet algorithme est évolutif et peut analyser plusieurs variables, mais il requiert le tri des variables utilisées comme entrée. Pour plus d'informations, consultez Learning Bayesian Networks (en anglais) de Chickering, Geiger et Heckerman.
Cette méthode de calcul de score est disponible pour les attributs discrets et discrétisés.
Équivalent bayésien de Dirichlet avec a priori uniforme
Le score d'équivalent bayésien de Dirichlet (BDE) utilise également l'analyse bayésienne pour évaluer un réseau pour un dataset donné. La méthode de calcul de score BDE a été développée par Heckerman et est basée sur la métrique BD développée par Cooper et Herskovits. La distribution de Dirichlet est une distribution multinomiale qui décrit la probabilité conditionnelle de chaque variable dans le réseau et qui possède de nombreuses propriétés utiles pour l'apprentissage.
L'équivalent bayésien de Dirichlet avec a priori uniforme (BDEU) suppose un cas spécial de la distribution de Dirichlet dans laquelle une constante mathématique est utilisée pour créer une distribution fixe ou uniforme d'états antérieurs. Le score BDE suppose aussi l'équivalence de vraisemblance, ce qui signifie que les données ne sont pas censées faire la distinction entre des structures équivalentes. En d'autres termes, si le score pour If A Then B est le même que le score pour If B Then A, les structures ne peuvent pas être différenciées sur la base des données et la causalité ne peut pas être déduite.
Pour plus d'informations sur les réseaux bayésiens et l'implémentation de ces méthodes de calcul de scores, consultez Learning Bayesian Networks (en anglais).
Méthodes de sélection des fonctionnalités utilisées par les algorithmes Analysis Services
Le tableau suivant répertorie les algorithmes qui prennent en charge la sélection des fonctionnalités, les méthodes de sélection des fonctionnalités utilisées par l'algorithme et les paramètres à définir pour contrôler le comportement de la sélection des fonctionnalités :
Algorithme |
Méthode d'analyse |
Commentaires |
---|---|---|
Naive Bayes |
Entropie de Shannon Bayésien avec a priori K2 Équivalent bayésien de Dirichlet avec a priori uniforme (par défaut) |
L'algorithme Microsoft Naïve Bayes accepte uniquement les attributs discrets ou discrétisés ; par conséquent, il ne peut pas utiliser le score d'intérêt et de pertinence. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MNB (Microsoft Naive Bayes). |
MDT (Microsoft Decision Trees) |
Score d'intérêt et de pertinence Entropie de Shannon Bayésien avec a priori K2 Équivalent bayésien de Dirichlet avec a priori uniforme (par défaut) |
Si des colonnes contiennent des valeurs continues non binaires, le score d'intérêt et de pertinence est utilisé pour toutes les colonnes afin de garantir la cohérence. Sinon, la méthode de sélection des fonctionnalités par défaut ou la méthode que vous avez spécifiée lors de la création du modèle est utilisée. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MDT (Microsoft Decision Trees). |
MNN (Microsoft Neural Network) |
Score d'intérêt et de pertinence Entropie de Shannon Bayésien avec a priori K2 Équivalent bayésien de Dirichlet avec a priori uniforme (par défaut) |
L'algorithme MNN (Microsoft Neural Network) peut utiliser les deux méthodes tant que les données contiennent des colonnes continues. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MNN (Microsoft Neural Network). |
MLR (Microsoft Logistic Regression) |
Score d'intérêt et de pertinence Entropie de Shannon Bayésien avec a priori K2 Équivalent bayésien de Dirichlet avec a priori uniforme (par défaut) |
Bien que l'algorithme MLR (Microsoft Logistic Regression) soit basé sur l'algorithme MNN (Microsoft Neural Network), vous ne pouvez pas personnaliser les modèles de régression logistique de façon à contrôler le comportement de la sélection des fonctionnalités ; par conséquent, la valeur par défaut de la sélection des fonctionnalités est toujours la méthode la plus appropriée pour l'attribut. Si tous les attributs sont discrets ou discrétisés, la valeur par défaut est BDEU. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MLR (Microsoft Logistic Regression). |
Clustering |
Score d'intérêt et de pertinence |
L'algorithme de gestion de clusters Microsoft peut utiliser des données discrètes ou discrétisées. Toutefois, le score de chaque attribut étant calculé en tant que distance et étant représenté sous la forme d'un nombre continu, le score d'intérêt et de pertinence doit être utilisé. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme de gestion de clusters Microsoft. |
MLR (Microsoft Linear Regression) |
Score d'intérêt et de pertinence |
L'algorithme MLR (Microsoft Linear Regression) Microsoft peut utiliser uniquement le score d'intérêt et de pertinence, car il prend en charge uniquement les colonnes continues. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MLR (Microsoft Linear Regression). |
MAR (Microsoft Association Rules) MSC (Microsoft Sequence Clustering) |
Non utilisée |
La sélection des fonctionnalités n'est pas appelée avec ces algorithmes. Toutefois, vous pouvez contrôler le comportement de l'algorithme et, si nécessaire, réduire la taille des données d'entrée en définissant la valeur des paramètres MINIMUM_SUPPORT et MINIMUM_PROBABILITY. Pour plus d'informations, consultez Références techniques relatives à l'algorithme Microsoft Association et Références techniques relatives à l'algorithme Microsoft Sequence Clustering (Analysis Services - Exploration de données). |
MTS (Microsoft Time Series) |
Non utilisée |
La sélection des fonctionnalités ne s'applique pas aux modèles de série chronologique. Pour plus d'informations sur cet algorithme, consultez Références techniques relatives à l'algorithme MTS (Microsoft Time Series). |
Contrôle du comportement de la sélection des fonctionnalités
Dans les algorithmes qui prennent en charge la sélection des fonctionnalités, vous pouvez contrôler à quel moment la sélection des fonctionnalités est activée au moyen des paramètres suivants. Chaque algorithme a une valeur par défaut pour le nombre des entrées autorisées, et vous pouvez remplacer cette valeur par défaut et spécifier le nombre d'attributs.
MAXIMUM_INPUT_ATTRIBUTES
Si un modèle contient plus de colonnes que le nombre spécifié par le paramètre MAXIMUM_INPUT_ATTRIBUTES, l'algorithme ignore toutes les colonnes qu'il considère comme inintéressantes, après calcul.
MAXIMUM_OUTPUT_ATTRIBUTES
De manière similaire, si un modèle contient plus de colonnes prédictibles que le nombre spécifié par le paramètre MAXIMUM_OUTPUT_ATTRIBUTES, l'algorithme ignore toutes les colonnes qu'il considère comme inintéressantes, après calcul.
MAXIMUM_STATES
Si un modèle contient plus de cas que le nombre spécifié par le paramètre MAXIMUM_STATES, les états les moins utilisés sont groupés et traités comme étant absents. Si l'un de ces paramètres a la valeur 0, la sélection des fonctionnalités est désactivée, ce qui affecte le temps de traitement et les performances.