Partager via


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 a maintenant été 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 la compatibilité descendante des Analysis Services.

La sélection des fonctionnalités est une partie importante du Machine Learning. La sélection de caractéristiques fait référence au processus de réduction des entrées pour le traitement et l’analyse, ou de la recherche des entrées les plus significatives. Un terme connexe, l’ingénierie des caractéristiques (ou l’extraction de caractéristiques) fait référence au processus d’extraction d’informations ou de fonctionnalités utiles à partir de données existantes.

Pourquoi la sélection des fonctionnalités ?

La sélection des fonctionnalités est essentielle pour créer un bon modèle pour plusieurs raisons. L’une est que la sélection de caractéristiques implique un certain degré de réduction de la cardinalité, pour imposer un découpage sur le 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 le mauvais type d’informations. Par exemple, vous pouvez avoir un jeu de données avec 500 colonnes qui décrivent les caractéristiques des clients ; Toutefois, si les données de certaines colonnes sont très éparses, vous obtiendrez très peu d’avantages à les ajouter au modèle, et si certaines des colonnes se doublons, l’utilisation des deux colonnes peut affecter le modèle.

Non seulement la sélection de caractéristiques améliore la qualité du modèle, elle rend également le processus de modélisation plus efficace. Si vous utilisez des colonnes inutiles lors de la génération d’un modèle, davantage de processeur et de mémoire sont nécessaires pendant le processus d’entraînement, et un espace de stockage supplémentaire est nécessaire pour le modèle terminé. Même si les ressources n’étaient pas un problème, vous souhaitez toujours effectuer une sélection de fonctionnalités et identifier les meilleures colonnes, car les colonnes inutiles peuvent dégrader la qualité du modèle de plusieurs façons :

  • Les données bruyantes ou redondantes rendent plus difficile la découverte de modèles significatifs.

  • Si le jeu de données est à grande dimension, la plupart des algorithmes d’exploration de données nécessitent un jeu de données d’apprentissage beaucoup plus volumineux.

Pendant le processus de sélection des fonctionnalités, l’analyste ou l’outil de modélisation ou l’algorithme sélectionne activement ou ignore 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 Machine Learning note généralement les colonnes et valide leur utilité dans le modèle.

En bref, la sélection de fonctionnalités permet de résoudre deux problèmes : avoir trop de données de faible valeur ou avoir trop peu de données de valeur élevée. Votre objectif dans la sélection des fonctionnalités doit être d’identifier le nombre minimal de colonnes de la source de données qui sont importantes dans la création d’un modèle.

Fonctionnement de la sélection des fonctionnalités dans l’exploration de données SQL Server

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 » afin que les colonnes non pertinentes soient exclues et que les meilleures fonctionnalités soient découvertes automatiquement. Chaque algorithme a son propre ensemble de techniques par défaut pour appliquer intelligemment la réduction des caractéristiques. Toutefois, vous pouvez également définir manuellement des paramètres pour influencer le comportement de 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. L’exploration de données SQL Server 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 avez définis sur votre modèle

La sélection des caractéristiques est appliquée aux entrées, aux attributs prédictibles ou aux états d’une colonne. Lorsque le scoring pour la sélection des fonctionnalités est terminé, seuls les attributs et états que l’algorithme sélectionne sont inclus dans le processus de génération de modèles et peuvent être utilisés pour la prédiction. Si vous choisissez un attribut prédictible qui ne respecte pas le seuil de sélection des fonctionnalités, l’attribut peut toujours être utilisé pour la prédiction, mais les prédictions sont basées uniquement sur les statistiques globales qui existent dans le modèle.

Note

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 excluez du modèle d'exploration de données sont toujours disponibles dans la structure de données, et les données des colonnes de la structure d'exploration de données sont mises en cache.

Scores de sélection des fonctionnalités

SQL Server Data Mining prend en charge ces méthodes populaires et bien établies pour les attributs de scoring. La méthode spécifique utilisée dans n’importe quel algorithme ou jeu de données particulier dépend des types de données et de l’utilisation des colonnes.

  • Le score d’intérêt est utilisé pour classer et trier les attributs dans les colonnes qui contiennent des données numériques continues non liées.

  • 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 sera utilisé pour évaluer toutes les colonnes d’entrée afin de garantir la cohérence.

Score d’intérêt

Une fonctionnalité est intéressante si elle vous indique quelques informations utiles. Toutefois, l’intérêt peut être mesuré de plusieurs façons. La nouveauté peut être utile pour la détection hors norme, mais la possibilité de distinguer les éléments étroitement liés ou le poids discriminant, peut être plus intéressante pour la classification.

La mesure d’intérêt utilisée dans l’exploration de données SQL Server est basée sur l’entropie, ce qui signifie que les attributs avec des distributions aléatoires ont une plus grande entropie et un gain d’informations inférieur ; 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 :

Interestingness(Attribute) = - (m - Entropy(Attribute)) * (m - Entropy(Attribute))

L’entropie centrale, ou m, signifie l’entropie de l’ensemble des caractéristiques. 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 liées.

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 pièce de monnaie peut être représentée comme une fonction de la probabilité qu’elle tombe sur face.

Analysis Services utilise la formule suivante pour calculer l’entropie de Shannon :

H(X) = -∑ P(xi) log(P(xi))

Cette méthode de scoring est disponible pour les attributs discrets et discrétisés.

Bayésien avec K2 Prior

SQL Server Data Mining 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 les états, ce qui signifie que certains états sont toujours antérieurs à l’état actuel, que certains états sont postérieures et que le graphique ne se répète pas ou ne boucle pas. Par définition, les réseaux bayésiens permettent l’utilisation de connaissances antérieures. Toutefois, la question des états précédents à utiliser pour calculer les probabilités des états ultérieurs est importante pour la conception, les performances et la précision des algorithmes.

L’algorithme K2 pour apprendre à partir d’un réseau bayésien a été développé par Cooper et Herskovits et est souvent utilisé dans l’exploration de données. Il est évolutif et peut analyser plusieurs variables, mais nécessite l’ordre sur les variables utilisées comme entrée.

Cette méthode de scoring est disponible pour les attributs discrets et discrétisés.

Bayésian Dirichlet équivalent avec Uniform Prior

Le score BDE (Bayesian Dirichlet Equivalent) utilise également l’analyse bayésienne pour évaluer un réseau donné à un jeu de données. La méthode de scoring 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 Dirichlet est une distribution multinomiale qui décrit la probabilité conditionnelle de chaque variable dans le réseau et possède de nombreuses propriétés utiles pour l’apprentissage.

La méthode Bayésienne Dirichlet équivalente avec un à priori uniforme (BDEU) suppose un cas spécial de la distribution de Dirichlet, dans lequel une constante mathématique est utilisée pour créer une distribution fixe ou uniforme des états initiaux. Le score BDE suppose également l’équivalence des probabilités, ce qui signifie que les données ne peuvent pas être censées discriminer les structures équivalentes. En d’autres termes, si le score pour If A Then B est identique au score de If B Then A, les structures ne peuvent pas être distinguées en fonction des données, et la cause ne peut pas être déduite.

Méthodes de sélection de caractéristiques 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 de fonctionnalités utilisées par l’algorithme et les paramètres que vous définissez pour contrôler le comportement de sélection des fonctionnalités :

Algorithm Méthode d’analyse Commentaires
Naïve Bayes Entropie de Shannon

Bayésien avec K2 Prior

Bayésien-Dirichlet avec a priori uniforme (valeur 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.

Pour plus d’informations sur cet algorithme, consultez Microsoft Naive Bayes Algorithm Technical Reference.
Arbres de décision Score d’intérêt

Entropie de Shannon

Bayésien avec K2 Prior

Bayésien-Dirichlet avec a priori uniforme (valeur par défaut)
Si des colonnes contiennent des valeurs continues non binaires, le score d’intérêt est utilisé pour toutes les colonnes pour garantir la cohérence. Sinon, la méthode de sélection de fonctionnalité par défaut est utilisée ou la méthode que vous avez spécifiée lors de la création du modèle.

Pour plus d’informations sur cet algorithme, consultez Microsoft Decision Trees Algorithm Technical Reference.
Réseau neuronal Score d’intérêt

Entropie de Shannon

Bayésien avec K2 Prior

Bayésien-Dirichlet avec a priori uniforme (valeur par défaut)
L’algorithme Réseaux neuronaux Microsoft peut utiliser à la fois des méthodes bayésiennes et basées sur l’entropie, tant que les données contiennent des colonnes continues.

Pour plus d’informations sur cet algorithme, consultez Microsoft Neural Network Algorithm Technical Reference.
Régression logistique Score d’intérêt

Entropie de Shannon

Bayésien avec K2 Prior

Bayésien-Dirichlet avec a priori uniforme (valeur par défaut)
Bien que l’algorithme Microsoft Logistic Regression soit basé sur l’algorithme Microsoft Neural Network, vous ne pouvez pas personnaliser les modèles de régression logistique pour contrôler le comportement de sélection des fonctionnalités ; par conséquent, la sélection de caractéristiques est toujours par défaut 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 Microsoft Logistic Regression Algorithm Technical Reference.
Clustering Score d’intérêt L’algorithme De clustering Microsoft peut utiliser des données discrètes ou discrétisées. Toutefois, étant donné que le score de chaque attribut est calculé comme une distance et est représenté comme un nombre continu, le score d’intérêt doit être utilisé.

Pour plus d’informations sur cet algorithme, consultez Microsoft Clustering Algorithm Technical Reference.
Régression linéaire Score d’intérêt L’algorithme De régression linéaire Microsoft ne peut utiliser que le score d’intérêt, car il prend uniquement en charge les colonnes continues.

Pour plus d’informations sur cet algorithme, consultez Microsoft Linear Regression Algorithm Technical Reference.
Règles d’association

Clustering de séquences
Non utilisé La sélection des fonctionnalités n’est pas exécutée avec ces algorithmes.

Toutefois, vous pouvez contrôler le comportement de l’algorithme et réduire la taille des données d’entrée si nécessaire en définissant la valeur des paramètres MINIMUM_SUPPORT et MINIMUM_PROBABILIITY.

Pour plus d’informations, consultez Microsoft Association Algorithm Technical Reference et Microsoft Sequence Clustering Algorithm Technical Reference.
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 Microsoft Time Series Algorithm Technical Reference.

Paramètres de sélection des fonctionnalités

Dans les algorithmes qui prennent en charge la sélection de fonctionnalités, vous pouvez contrôler quand la sélection de fonctionnalités est activée à l’aide des paramètres suivants. Chaque algorithme a une valeur par défaut pour le nombre d’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 fournis pour la gestion de la sélection des fonctionnalités.

MAXIMUM_INPUT_ATTRIBUTES

Si un modèle contient plus de colonnes que le nombre spécifié dans le paramètre MAXIMUM_INPUT_ATTRIBUTES , l’algorithme ignore toutes les colonnes qu’il calcule pour être inintéressantes.

ATTRIBUTS_DE_SORTIE_MAXIMAUX

De même, si un modèle contient des colonnes plus prévisibles que le nombre spécifié dans le paramètre MAXIMUM_OUTPUT_ATTRIBUTES , l’algorithme ignore toutes les colonnes calculées pour être inintéressantes.

MAXIMUM_STATES

Si un modèle contient plus de cas que spécifiés dans le paramètre MAXIMUM_STATES , les états les moins populaires sont regroupés et traités comme manquants. Si l’un de ces paramètres est défini sur 0, la sélection de 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 de fonctionnalités, vous pouvez améliorer la capacité de l’algorithme à identifier ou promouvoir des attributs significatifs 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 la structure d’exploration de données