Sélection des fonctionnalités (exploration de données)
S’applique à : SQL Server 2019 et versions antérieures d’Analysis Services Azure Analysis Services Fabric/Power BI Premium
Important
L’exploration de données a été déconseillée dans SQL Server 2017 Analysis Services et est à présent abandonnée dans SQL Server 2022 Analysis Services. La documentation n’est pas mise à jour pour les fonctionnalités déconseillées et abandonnées. Pour en savoir plus, consultez Compatibilité descendante d’Analysis Services.
Lasélection des fonctionnalités est une partie importante de l’apprentissage automatique. Elle désigne le processus visant à réduire les entrées à traiter et à analyser, ou à identifier les entrées les plus pertinentes. Le terme connexe ingénierie des fonctionnalités (ou extraction des fonctionnalités) désigne le processus visant à extraire des informations ou des fonctionnalités utiles à partir de données existantes.
Pourquoi utiliser la sélection des fonctionnalités ?
La sélection des fonctionnalités est essentielle à la création d’un modèle performant pour plusieurs raisons. La première est que la sélection de caractéristiques implique une certaine réduction de la cardinalité, pour imposer une limite au nombre d’attributs qui peuvent être pris en compte lors de la création d’un modèle. Les données contiennent presque toujours plus d’informations que nécessaire pour générer le modèle ou elles contiennent un type d’informations inapproprié. Par exemple, vous pouvez avoir un dataset de 500 colonnes qui décrivent les caractéristiques des clients. Toutefois, si certaines colonnes contiennent des données éparses, cela n’est pas très utile de les ajouter au modèle et, si certaines colonnes sont en double, leur utilisation peut rendre le modèle inexact.
La sélection des fonctionnalités améliore la qualité du modèle, tout en optimisant le processus de modélisation. Si vous incluez des colonnes inutiles pour générer un modèle, davantage d’UC et de mémoire sont consommées pendant le processus d’apprentissage, et il faut plus d’espace de stockage pour le modèle terminé. Indépendamment du problème des ressources, vous avez intérêt à effectuer la sélection des fonctionnalités et à identifier les colonnes les plus pertinentes, car l’utilisation de colonnes inutiles peut diminuer la qualité du modèle de plusieurs façons :
Des données parasites ou redondantes rendent plus difficile la découverte de séquences significatives.
En présence d’un jeu de données multidimensionnel, la plupart des algorithmes d’exploration des données nécessitent un jeu de données d’apprentissage beaucoup plus important.
Pendant le processus de sélection des fonctionnalités, l’analyste ou l’outil de modélisation ou l’algorithme sélectionne ou ignore de façon active les attributs en fonction de leur utilité pour l’analyse. L’analyste peut effectuer l’ingénierie des fonctionnalités pour ajouter des fonctionnalités et supprimer ou modifier des données existantes, tandis que l’algorithme d’apprentissage automatique calcule généralement les scores des colonnes pour valider leur utilité dans le modèle.
Pour résumer, la sélection des fonctionnalités permet à la fois d’éviter d’avoir trop de données qui présentent peu d’intérêt ou de n’avoir pas assez de données utiles. Votre objectif, en utilisant la sélection des fonctionnalités, est d’identifier le nombre minimum de colonnes de la source de données qui sont importantes pour le modèle à créer.
Fonctionnement de la sélection des fonctionnalités dans SQL Server Data Mining
La sélection des fonctionnalités est toujours effectuée avant l’apprentissage du modèle. Avec certains algorithmes, les techniques de sélection des fonctionnalités sont « intégrées » pour exclure les colonnes non pertinentes et détecter automatiquement les meilleures fonctionnalités. Chaque algorithme a son propre ensemble de techniques par défaut pour appliquer intelligemment la réduction des fonctionnalités. Toutefois, vous pouvez également définir manuellement des paramètres pour influencer le comportement de la sélection des fonctionnalités.
Pendant la sélection automatique des fonctionnalités, un score est calculé pour chaque attribut, et seuls les attributs qui ont les meilleurs scores sont sélectionnés pour le modèle. Vous pouvez également ajuster le seuil pour les scores les plus élevés. SQL Server l’exploration de données fournit plusieurs méthodes pour calculer ces scores, et la méthode exacte appliquée dans n’importe quel modèle dépend de ces facteurs :
Algorithme utilisé dans votre modèle
Type de données de l'attribut
Tous les paramètres que vous pouvez avoir 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. Lorsque le calcul du score de sélection des fonctionnalités est terminé, 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. Si vous choisissez un attribut prédictible qui ne correspond pas au seuil pour la sélection des fonctionnalités, l'attribut peut toujours être utilisé pour la prédiction, mais les prédictions seront uniquement basées 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.
Scores de sélection des fonctionnalités
SQL Server l’exploration de données prend en charge ces méthodes populaires et bien établies pour les attributs de scoring. La méthode qui est utilisée dans un algorithme ou un 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.
L’entropie de Shannon et deux scores bayésiens sont disponibles pour les colonnes qui contiennent des données discrètes et discrétisées. 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.
Score d'intérêt et de pertinence
Une fonctionnalité présente un intérêt si elle fournit des informations utiles. Toutefois, le score d’intérêt et de pertinence peut être calculé de plusieurs façons. Lanouveauté peut être utile dans la détection de valeurs hors norme, 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 de l’intérêt utilisée dans SQL Server l’exploration de données est basée sur l’entropie, ce qui signifie que les attributs avec des distributions aléatoires ont une entropie plus élevée et un gain d’information plus faible ; par conséquent, ces 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
SQL Server l’exploration de données fournit deux scores de sélection de fonctionnalités basés sur des réseaux bayésiens. Un réseau bayésien est un graphique dirigé ou acyclique d’états et de transitions entre états. Cela 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.
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.
Méthodes de sélection des fonctionnalités par algorithme
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 :
Algorithm | 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 Informations techniques de référence relatives à l’algorithme MNB (Microsoft Naive Bayes). |
Arbres de décision | 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). |
Réseau neuronal | 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, réseau neuronal de Microsoft) peut utiliser les deux méthodes de type bayésien et entropie tant que les données contiennent des colonnes continues. Pour plus d’informations sur cet algorithme, consultez Informations techniques de référence relatives à l’algorithme MDT (Microsoft Decision Trees). |
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 Informations techniques de référence 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 Informations techniques de référence relatives à l’algorithme de gestion de clusters Microsoft. |
Régression linéaire | 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 Informations techniques de référence relatives à l’algorithme MLR (Microsoft Linear Regression). |
Règles d’association Sequence clustering |
Non utilisé | 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 Informations techniques de référence relatives à l’algorithme Microsoft Association et Informations techniques de référence relatives à l’algorithme MSC (Microsoft Sequence Clustering). |
Série chronologique | Non utilisé | 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 Informations techniques de référence relatives à l’algorithme MTS (Microsoft Time Series). |
Paramètres de 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, mais vous pouvez remplacer cette valeur par défaut et spécifier le nombre d'attributs. Cette section répertorie les paramètres qui sont fournis pour gérer la sélection des fonctionnalités.
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 évalue comme inintéressantes.
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 évalue comme inintéressantes.
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 regroupés et traités comme étant manquants. 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.
En plus de ces méthodes de sélection des fonctionnalités, vous pouvez améliorer la capacité de l’algorithme à identifier ou promouvoir des attributs explicites en définissant des indicateurs de modélisation sur le modèle ou en définissant des indicateurs de distribution sur la structure. Pour plus d’informations sur ces concepts, consultez Indicateurs de modélisation (exploration de données) et Distributions de colonnes (exploration de données).
Voir aussi
Personnaliser les modèles et les structures d'exploration de données