Partager via


Analyse discriminante linéaire de Fisher

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Identifie la combinaison linéaire de variables de fonctionnalité qui peut le mieux regrouper des données dans des classes séparées

Catégorie : modules de sélection de fonctionnalités

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module d' analyse discriminante linéaire de Fisher dans Machine Learning Studio (classic) pour créer un nouveau jeu de données de fonctionnalités qui capture la combinaison de fonctionnalités qui sépare le mieux deux classes ou plus.

Cette méthode est souvent utilisée pour la réduction de la dimensionnalité, car elle projette un jeu de fonctionnalités sur un espace de fonctionnalités réduit tout en conservant les informations qui opèrent une discrimination entre les classes. Non seulement les coûts de calculs sont réduits pour une tâche donnée de classification, mais cette méthode peut également permettre d'empêcher le surajustement.

Pour générer les scores, vous fournissez une colonne d’étiquette et un ensemble de colonnes de caractéristiques numériques comme entrées. L'algorithme détermine la combinaison optimale des colonnes d'entrée qui sépare proportionnellement chaque groupe de données tout en réduisant les distances dans chaque groupe. Le module retourne un jeu de données contenant les fonctionnalités compactes, transformées, ainsi qu’une transformation que vous pouvez enregistrer et appliquer à un autre jeu de données.

En savoir plus sur l’analyse discriminante linéaire

L’analyse discriminante linéaire est similaire à l’analyse de variance dans le sens où elle fonctionne en comparant les moyens des variables. À l’instar de l’estimation de variance, elle repose sur les hypothèses suivantes :

  • Les prédicteurs sont indépendants
  • Les fonctions de densité de probabilité conditionnelle de chaque exemple sont généralement distribuées
  • Les écarts entre les groupes sont similaires

L’analyse discriminante linéaire est parfois abrégée en thèmes Lda, mais cette opération est facilement confondue avec l' allocation de Dirichlet latente. Les techniques sont complètement différentes, donc dans cette documentation, nous utilisons les noms complets dans la mesure du possible.

Configuration de l’analyse discriminante linéaire

  1. Ajoutez votre jeu de données d’entrée et vérifiez que les données d’entrée répondent à ces exigences :

    • Vos données doivent être aussi complètes que possible. Les lignes avec des valeurs manquantes sont ignorées.
    • Les valeurs sont supposées avoir une distribution normale. Avant d’utiliser l' analyse discriminante linéaire de Fisher, passez en revue les données pour les valeurs hors norme ou testez la distribution.
    • Vous devez avoir moins de prédictions qu’il n’y a d’exemples.
    • Supprimez toutes les colonnes non numériques. L’algorithme examine toutes les colonnes numériques valides incluses dans les entrées et retourne une erreur si des colonnes non valides sont incluses. Si vous devez exclure des colonnes numériques, ajoutez un module Select Columns in DataSet avant Fisher Linear discriminante Analysispour créer une vue contenant uniquement les colonnes que vous souhaitez analyser. Vous pouvez joindre ultérieurement les colonnes à l’aide de l' Ajout de colonnes. L’ordre d’origine des lignes est préservé.
  2. Connecter les données d’entrée au module d' analyse discriminante linéaire de Fisher .

  3. Pour la colonne étiquettes de classe, cliquez sur lancer le sélecteur de colonne et choisissez une colonne d’étiquette.

  4. Pour le nombre d’extracteurs de fonctionnalités, tapez le nombre de colonnes que vous souhaitez comme résultat.

    Par exemple, si votre jeu de données contient huit colonnes de fonctionnalités numériques, vous pouvez taper 3 pour les réduire en un nouvel espace de fonctionnalité réduit de seulement trois colonnes.

    Il est important de comprendre que les colonnes de sortie ne correspondent pas exactement aux colonnes d’entrée, mais représentent plutôt une transformation compacte des valeurs dans les colonnes d’entrée.

    Si vous utilisez 0 comme valeur pour le nombre d’extracteurs de fonctionnalités, et n colonnes sont utilisées comme entrée, n extracteurs de fonctionnalités sont retournés, contenant de nouvelles valeurs représentant l’espace de fonctionnalité en n dimensions.

  5. Exécutez l’expérience.

Résultats

L’algorithme détermine la combinaison de valeurs dans les colonnes d’entrée qui sépare de manière linéaire chaque groupe de données tout en réduisant les distances dans chaque groupe, et crée deux sorties :

  • Fonctionnalités transformées. Jeu de données contenant le nombre spécifié de colonnes extracteur de fonctionnalités, nommé col1, col2, COL3, etc. La sortie comprend également la variable de classe ou d’étiquette.

    Vous pouvez utiliser cet ensemble compact de valeurs pour l’apprentissage d’un modèle.

  • Transformation de l' analyse discriminante linéaire de Fisher. Transformation que vous pouvez enregistrer, puis appliquer à un jeu de données qui a le même schéma. Cela est utile si vous analysez de nombreux jeux de données du même type et que vous souhaitez appliquer la même réduction des fonctionnalités à chacun. Le jeu de données auquel vous l’appliquez doit avoir le même schéma.

Exemples

Pour obtenir des exemples de sélection de fonctionnalités dans Machine Learning, consultez la Azure ai Gallery:

Notes techniques

Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.

Conseils d’utilisation

  • Cette méthode fonctionne uniquement sur les variables continues, pas les variables par catégorie ou ordinales.

  • Les lignes comportant des valeurs manquantes sont ignorées lors du calcul de la matrice de transformation.

  • Si vous enregistrez une transformation à partir d’une expérience, les transformations calculées à partir de l’expérience d’origine sont réappliquées à chaque nouvel ensemble de données et ne sont pas recalculées. Par conséquent, si vous souhaitez calculer un nouvel ensemble de fonctionnalités pour chaque ensemble de données, utilisez une nouvelle instance de l' analyse discriminante linéaire de Fisher pour chaque jeu de données.

Informations d’implémentation

Le jeu de données des fonctionnalités est transformé à l’aide de vecteurs propres. Le vecteurs propres pour le jeu de données d’entrée est calculé en fonction des colonnes de fonctionnalités fournies, également appelées matrice de discrimination.

La sortie de la transformation par le module contient ces vecteurs propres, qui peuvent être appliqués pour transformer un autre jeu de données qui a le même schéma.

Pour plus d’informations sur la façon dont les valeurs propres sont calculés, consultez ce document (PDF) : extraction de fonctionnalités basées sur extraction pour la classification. Tymbal, Puuronen et coll.

Entrées attendues

Nom Type Description
Dataset Table de données Jeu de données d'entrée

Paramètres du module

Nom Type Plage Facultatif Default Description
Colonne d'étiquettes de classe ColumnSelection Obligatoire None Sélectionner la colonne qui contient les étiquettes de classe par catégorie
Nombre d'extracteurs de fonctionnalité Integer >=0 Obligatoire 0 Nombre d'extracteurs de fonctionnalité à utiliser. Si zéro, tous les extracteurs de fonctionnalité seront utilisés

Sorties

Nom Type Description
Fonctionnalités transformées Table de données Les fonctionnalités d’analyse discriminante linéaire de Fisher sont transformées en espace extraction
Transformation de l'analyse discriminante linéaire de Fisher Interface ITransform Transformation de l'analyse discriminante linéaire de Fisher

Exceptions

Exception Description
Erreur 0001 Une exception se produit si une ou plusieurs colonnes spécifiées du jeu de données sont introuvables.
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.
Erreur 0017 Une exception se produit si une ou plusieurs colonnes spécifiées présentent un type non pris en charge par le module actuel.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Sélection de caractéristiques
Sélection de caractéristiques par filtrage
Analyse en composantes principales