Partager via


Normaliser des données

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.

Remet à l'échelle des données numériques pour limiter des valeurs de jeu de données à une plage standard

Catégorie : Transformation des données / Mise à l’échelle et réduction

Notes

S’applique à : Machine Learning Studio (classique) 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 Normalize Data dans Machine Learning Studio (classique) pour transformer un jeu de données via la normalisation.

La normalisation est une technique souvent appliquée dans le cadre de la préparation des données pour le Machine Learning. L'objectif de la normalisation est de modifier les valeurs des colonnes numériques du jeu de données pour utiliser une échelle commune, sans que les différences de plages de valeurs ne soient faussées et sans perte d'informations. Certains algorithmes ont également besoin d'une normalisation pour modéliser correctement les données.

Par exemple, supposons que votre jeu de données d'entrée contienne une colonne avec des valeurs allant de 0 à 1 et une autre colonne avec des valeurs allant de 10 000 à 100 000. La grande différence d'échelle des nombres peut poser problème lorsque vous essayez de combiner les valeurs sous forme de fonctions lors de la modélisation.

La normalisation permet d'échapper à ce type de problème en créant de nouvelles valeurs qui conservent la même distribution générale et les mêmes ratios que les données sources tout en appliquant la même échelle aux valeurs des différentes colonnes numériques utilisées dans le modèle.

Ce module offre plusieurs options pour transformer des données numériques :

  • Vous pouvez modifier toutes les valeurs pour appliquer une échelle de 0 à 1, ou les transformer en les représentant sous forme de rangs centiles plutôt que sous forme de valeurs absolues.
  • Vous pouvez appliquer la normalisation à une ou plusieurs colonnes d'un jeu de données.
  • Si vous devez réitérer l'expérience ou appliquer les mêmes étapes de normalisation à d'autres données, vous pouvez enregistrer ces étapes sous forme de transformation de normalisation et appliquer celle-ci à d'autres jeux de données dotés du même schéma.

Avertissement

Avant de former un modèle, certains algorithmes exigent une normalisation des données. D'autres effectuent leur propre mise à l'échelle ou normalisation des données. Par conséquent, lorsque vous choisissez un algorithme de Machine Learning pour un modèle prédictif, examinez bien ses exigences en termes de données avant d'appliquer la normalisation aux données d'apprentissage.

Guide pratique pour configurer Normalize Data

Ce module ne vous permet d'appliquer qu'une seule méthode de normalisation à la fois. Par conséquent, la même méthode de normalisation est appliquée à toutes les colonnes que vous sélectionnez. Pour utiliser différentes méthodes de normalisation, utilisez une deuxième instance du module Normaliser des données.

  1. Ajoutez le module Normaliser des données à votre expérience. Vous trouverez le module dans Machine Learning Studio (classique), sous Transformation des données, dans la catégorie Mise à l’échelle et réduction.

  2. Connectez un jeu de données contenant au moins une colonne de tous les nombres.

  3. Utilisez le sélecteur de colonne pour choisir les colonnes numériques à normaliser. Si vous ne choisissez pas de colonnes individuelles, toutes les colonnes de type numérique de l'entrée sont incluses par défaut, et le même processus de normalisation s'applique à toutes les colonnes sélectionnées.

    Des résultats étranges peuvent être obtenus si vous incluez des colonnes numériques qui ne devraient pas être normalisées ! Vérifiez toujours les colonnes avec soin.

    Si aucune colonne numérique n'est détectée, vérifiez les métadonnées de la colonne pour vous assurer que le type de données de celle-ci est un type numérique pris en charge.

    Conseil

    Pour vous assurer que les colonnes d'un type spécifique sont fournies comme entrée, essayez d'utiliser le module Sélectionner des colonnes dans un jeu de données avant le module Normaliser des données.

  4. Utiliser 0 pour les colonnes constantes quand activé : sélectionnez cette option lorsqu'une colonne numérique contient une seule valeur immuable. Cette colonne ne sera ainsi pas utilisée lors des opérations de normalisation.

  5. Dans la liste déroulante Des méthodes de transformation , choisissez une seule fonction mathématique à appliquer à toutes les colonnes sélectionnées.

    • Zscore : convertit toutes les valeurs en Z-score.

      Les valeurs de la colonne sont transformées à l'aide de la formule suivante :

      normalization using z-scores

      La moyenne et l'écart type sont calculés séparément pour chaque colonne. L'écart type de population est utilisé.

    • MinMax : la normalisation Min-max remet à l'échelle de manière linéaire toutes les caractéristiques de l'intervalle [0,1].

      Le redimensionnement à l'intervalle [0,1] s'effectue en décalant les valeurs de chaque fonction afin que la valeur minimale soit 0, puis en divisant par la nouvelle valeur maximale (qui correspond à la différence entre les valeurs maximale et minimale d'origine).

      Les valeurs de la colonne sont transformées à l'aide de la formule suivante :

      normalization using the min-max function

    • Logistic : Les valeurs de la colonne sont transformées à l'aide de la formule suivante :

      formula for normalization by logistic function

    • LogNormal : cette option convertit toutes les valeurs à une échelle log-normale.

      Les valeurs de la colonne sont transformées à l'aide de la formule suivante :

      formula log-normal distribution

      Ici, μ et σ correspondent aux paramètres de la distribution, calculés empiriquement à partir des données sous forme d'estimations de la probabilité maximale, pour chaque colonne séparément.

    • TanH : toutes les valeurs sont converties en tangente hyperbolique.

      Les valeurs de la colonne sont transformées à l'aide de la formule suivante :

      normalization using the tanh function

  6. Exécutez l'expérience, ou double-cliquez sur le module Normaliser des données et sélectionnez Exécuter la sélection.

Résultats

Le module Normaliser des données génère deux sorties :

  • Pour afficher les valeurs transformées, cliquez avec le bouton droit sur le module, sélectionnez Jeu de données transformé, puis cliquez sur Visualiser.

    Par défaut, les valeurs sont transformées sur place. Si vous souhaitez comparer les valeurs transformées aux valeurs d’origine, utilisez le module Ajouter des colonnes pour recombiner les jeux de données et afficher les colonnes côte à côte.

  • Pour enregistrer la transformation afin de pouvoir appliquer la même méthode de normalisation à un autre jeu de données similaire, cliquez avec le bouton droit sur le module, sélectionnez Fonction de transformation, puis cliquez sur Enregistrer en tant que transformation.

    Vous pouvez ensuite charger les transformations enregistrées à partir du groupe Transformations du volet de navigation de gauche et les appliquer à un jeu de données doté du même schéma à l’aide de Appliquer une transformation.

Exemples

Pour obtenir des exemples de l’utilisation de la normalisation dans le Machine Learning, consultez la galerie Azure AI :

  • Prédiction du risque de crédit : dans cet exemple, la normalisation est appliquée à toutes les données numériques, à l’exception de la colonne de classe, du score de risque de crédit. Cet exemple utilise la transformation tanh , qui convertit toutes les caractéristiques numériques en valeurs comprises entre 0 et 1.

Notes techniques

Ce module prend uniquement en charge les méthodes de normalisation standard répertoriées dans la section Procédure et ne prend pas en charge la normalisation de matrice ou d’autres transformations complexes.

Si vous devez créer une méthode de normalisation personnalisée, vous pouvez utiliser les modules d’exécution de script R ou d’exécution de script Python pour calculer et appliquer la transformation.

Algorithmes qui appliquent la normalisation

La normalisation des fonctionnalités afin qu’elles utilisent une échelle commune est une exigence générale pour de nombreux algorithmes de Machine Learning.

  • Dans les algorithmes de classification linéaire, les instances sont affichées sous forme de vecteurs dans un espace multidimensionnel. Étant donné que la plage de valeurs de données brutes varie considérablement, certaines fonctionnalités objectives ne fonctionnent pas correctement sans normalisation. Par exemple, si l'une des fonctionnalités dispose d'une plage étendue de valeurs, les distances entre les points est régie par cette fonctionnalité spécifique.

    Par conséquent, les fonctionnalités numériques doivent être normalisées afin que chaque fonctionnalité contribue proportionnellement de façon approximative à la distance finale. Cela peut présenter des avantages significatifs en termes d'accélération et d'exactitude.

  • Lorsque vous utilisez les algorithmes De régression logistique et Perceptron moyenné , par défaut, les fonctionnalités sont normalisées avant l’entraînement.

Ressources et informations supplémentaires

Si vous ne savez pas quel type de normalisation convient à vos données, consultez les ressources suivantes :

Entrées attendues

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

Paramètres du module

Nom Plage Type Default Description
Méthode de transformation n'importe laquelle TransformationMethods ZScore Choisir la méthode mathématique utilisée pour la mise à l'échelle
Colonnes à transformer n'importe laquelle ColumnSelection NumericAll Sélectionner toutes les colonnes auxquelles la transformation sélectionnée doit être appliquée

Sorties

Nom Type Description
Jeu de données transformé Table de données Jeu de données transformé
Fonction de transformation Interface ITransform Définition de la fonction de transformation, qui peut être appliquée aux autres jeux de données

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.
Erreur 0020 Une exception se produit si le nombre de colonnes de certains jeux de données transmis au module est trop faible.
Erreur 0021 Une exception se produit si le nombre de lignes de certains jeux de données transmis au module est trop faible.

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

Pour obtenir la liste des exceptions d’API, consultez Machine Learning codes d’erreur de l’API REST.

Voir aussi

Scale and Reduce