Partager via


Partition et échantillon

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.

Crée plusieurs partitions d'un jeu de données basé sur l'échantillonnage.

Catégorie : transformation des données/exemple et fractionnement

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 Partition and Sample dans Machine Learning Studio (classic) pour effectuer un échantillonnage sur un jeu de données ou créer des partitions à partir de votre jeu de données.

L’échantillonnage est un outil important dans l’apprentissage automatique, car il permet de réduire la taille d’un jeu de données tout en conservant le même rapport de valeurs. Ce module prend en charge plusieurs tâches associées qui sont importantes dans le machine learning :

  • Diviser vos données en plusieurs sous-sections de la même taille.

    Vous pouvez utiliser les partitions pour la validation croisée ou pour attribuer des cas à des groupes aléatoires.

  • Séparer des données dans des groupes et ensuite utiliser des données à partir d’un groupe spécifique.

    Après avoir attribué des cas de façon aléatoire à différents groupes, vous devez peut-être modifier les fonctionnalités qui sont associées à un seul groupe.

  • Échantillonner.

    Vous pouvez extraire un pourcentage de données, appliquer un échantillonnage aléatoire ou choisir une colonne à utiliser pour l’équilibrage du jeu de données et effectuer un échantillonnage stratifié sur ses valeurs.

  • Créer un plus petit jeu de données à des fins de test.

    Si vous avez une grande quantité de données, vous souhaiterez peut-être utiliser uniquement les premières n lignes lors de la configuration de l’expérience, puis utiliser le jeu de données complet lors de la création de votre modèle. Vous pouvez également utiliser l’échantillonnage pour créer un jeu de données plus petit pour une utilisation en développement.

Comment configurer la partition et l’exemple

Ce module prend en charge plusieurs méthodes permettant de diviser vos données en partitions ou destinées à l’échantillonnage. Commencez par choisir la méthode, puis définissez les options supplémentaires requises par la méthode.

  • Obtient le nombre de lignes le plus élevé

Récupérer les N PREMIÈRES lignes d’un jeu de données

Utilisez ce mode si vous souhaitez obtenir uniquement la n premières lignes. Cette option est utile si vous souhaitez tester une expérience sur un petit nombre de lignes et si vous n’avez pas besoin que les données soient équilibrées ou échantillonnées.

  1. Ajoutez la partition et l’exemple de module à votre expérience dans Studio (Classic), puis connectez le jeu de données.

  2. Mode de partition ou d’échantillon: définissez cette option sur Head.

  3. Nombre de lignes à sélectionner: tapez le nombre de lignes à retourner.

    Le nombre de lignes que vous spécifiez doit être un entier non négatif. Si le nombre de lignes sélectionnées est supérieur au nombre de lignes du jeu de données, l’intégralité du jeu de données est renvoyée.

  4. Exécutez l’expérience.

Le module génère un jeu de données unique contenant uniquement le nombre de lignes spécifié. Les lignes sont toujours lues à partir du haut du jeu de données.

Créer un exemple de données

Cette option prend en charge l’échantillonnage aléatoire simple ou l’échantillonnage aléatoire stratifié. Elle est utile si vous souhaitez créer un jeu de données d’échantillon représentatif plus petit à des fins de test.

  1. Ajoutez la partition et l’exemple de module à votre expérience dans Studio (Classic), puis connectez le jeu de données.

  2. Mode de partition ou d’échantillon: définissez cette valeur sur échantillonnage.

  3. Taux d’échantillonnage: tapez une valeur comprise entre 0 et 1. Cette valeur spécifie le pourcentage de lignes du jeu de données source qui doivent être incluses dans le jeu de données de sortie.

    Par exemple, si vous ne souhaitez que la moitié du jeu de données d’origine, saisissez 0.5 pour indiquer que le taux d’échantillonnage doit être de 50 %.

    Les lignes du jeu de données d’entrée sont mélangées et placées sélectivement dans le jeu de données de sortie, en fonction du rapport spécifié.

  4. Valeur initiale aléatoire pour l’échantillonnage: Si vous le souhaitez, tapez un entier à utiliser comme valeur initiale.

    Cette option est importante si vous souhaitez que les lignes soient divisées de la même façon à chaque fois. La valeur par défaut est 0, ce qui signifie qu’une valeur de départ est générée en fonction de l’horloge système. Cela peut entraîner des résultats légèrement différents chaque fois que vous exécutez l’expérience.

  5. Fractionnement stratifié pour l’échantillonnage: sélectionnez cette option s’il est important que les lignes du jeu de données soient réparties uniformément par une colonne clé avant l’échantillonnage.

    Pour Stratification key column for sampling (Colonne clé de stratification pour l’échantillonnage), sélectionnez une seule colonne de strate à utiliser lors de la division du jeu de données. Les lignes dans le jeu de données sont divisées comme suit :

    1. Toutes les lignes d’entrée sont regroupées (stratifiées) par les valeurs dans la colonne de strate spécifiée.

    2. Les lignes sont mélangées au sein de chaque groupe.

    3. Chaque groupe est ajouté sélectivement au jeu de données de sortie pour respecter le rapport spécifié.

    Pour plus d’informations sur l’échantillonnage stratifié, consultez la section Notes techniques .

  6. Exécutez l’expérience.

    Avec cette option, le module génère un jeu de données unique contenant un échantillon représentatif des données.

    La partie restante, c’est-à-dire la partie non échantillonnée du jeu de données, n’est pas générée. toutefois, vous pouvez créer une jointure sur les jeux de données à l’aide du module Apply SQL Transformation pour déterminer quelles lignes n’ont pas été utilisées.

Fractionner les données en partitions

Utilisez cette option lorsque vous souhaitez diviser le jeu de données en sous-ensembles de données. Cette option est également utile lorsque vous souhaitez créer un nombre de plis personnalisé pour la validation croisée, ou pour fractionner des lignes en plusieurs groupes.

  1. Ajoutez la partition et l’exemple de module à votre expérience dans Studio (Classic), puis connectez le jeu de données.

  2. Pour Partition or sample mode (Mode de partitionnement ou d’échantillonnage), sélectionnez Assign to Folds (Attribuer à des plis).

  3. Utiliser le remplacement dans le partitionnement : Sélectionnez cette option si vous souhaitez que la ligne échantillonnée soit replacée dans le pool de lignes pour une réutilisation potentielle. Par conséquent, la même ligne peut être attribuée à plusieurs plis.

    Si vous n’utilisez pas le remplacement (l’option par défaut), la ligne échantillonnée n’est pas replacée dans le pool de lignes pour une réutilisation potentielle. Par conséquent, chaque ligne peut être uniquement attribuée à un pli.

  4. Fractionnement aléatoire : sélectionnez cette option si vous souhaitez que des lignes soient attribuées de façon aléatoire à des plis.

    Si vous ne sélectionnez pas cette option, les lignes sont attribuées à des plis en utilisant la méthode tourniquet (round-robin).

  5. Valeur initiale aléatoire: Si vous le souhaitez, tapez un entier à utiliser comme valeur de départ. Cette option est importante si vous souhaitez que les lignes soient divisées de la même façon à chaque fois. Sinon, la valeur par défaut 0 signifie qu’une valeur de départ aléatoire sera utilisée.

  6. Spécifiez la méthode de partitionneur: indiquez comment vous souhaitez que les données soient réparties sur chaque partition à l’aide des options suivantes :

    • Partitionner de manière égale : utilisez cette option pour placer un nombre égal de lignes dans chaque partition. Pour spécifier le nombre de partitions de sortie, tapez un nombre entier dans la zone de texte Specify number of folds to split evenly into (Spécifier le nombre de plis pour un fractionnement uniforme).

    • Partition avec proportions personnalisées: utilisez cette option pour spécifier la taille de chaque partition sous la forme d’une liste séparée par des virgules.

      Par exemple, si vous souhaitez créer trois partitions, avec la première partition contenant 50 % des données et les deux partitions restantes contenant chacune 25 % des données, cliquez sur la zone de texte List of proportions separated by comma (Liste des proportions séparées par des virgules) et tapez ces nombres : .5, .25, .25

      La somme de toutes les tailles de partition doit être de 1.

      • Si vous entrez des nombres dont le total estinférieur à 1, une partition supplémentaire est créée pour héberger les lignes restantes. Par exemple, si vous tapez les valeurs .2 et .3, une troisième partition est créée pour héberger les 50 % restants de toutes les lignes.

      • Si vous entrez des nombres dont le total estsupérieur à 1, une erreur est générée lorsque vous exécutez l’expérience.

  7. Fractionnement stratifié : sélectionnez cette option si vous souhaitez que les lignes soient stratifiées lors du fractionnement, puis choisissez la colonne de strate.

    Pour plus d’informations sur l’échantillonnage stratifié, consultez la section Notes techniques .

  8. Exécutez l’expérience.

    Avec cette option, le module génère plusieurs jeux de données, partitionnés suivant les règles que vous avez spécifiées.

Utiliser les données d’une partition prédéfinie

Cette option est utilisée lorsque vous avez divisé un jeu de données en plusieurs partitions et que vous voulez charger chaque partition tour à tour pour traitement ou analyse plus approfondi.

  1. Ajoutez la partition et l’exemple de module à l’expérience dans Studio (Classic).

  2. Connectez-la à la sortie d’une instance précédente du module Partition et échantillon. Cette instance doit avoir utilisé l’option Assign to Folds (Attribuer à des plis) pour générer un certain nombre de partitions.

  3. Mode de partition ou d’échantillon: sélectionnez Pick Fold.

  4. Spécifiez le pli à échantillonner à partir de: sélectionnez une partition à utiliser en tapant son index. Les index de partition sont basés sur 1. Par exemple, si vous avez divisé le jeu de données en trois parties, les partitions auraient les index 1, 2 et 3.

    Si vous tapez une valeur d’index non valide, une erreur au moment de la conception est générée : « erreur 0018 : le jeu de données contient des données non valides. »

    En plus de regrouper le jeu de données en plis, vous pouvez séparer le jeu de données en deux groupes : un pli cible et tout le reste. Pour ce faire, saisissez l’index d’un pli unique, puis sélectionnez l’option, Pick complement of the selected fold (Choisir le complément du pli sélectionné), afin d’obtenir toutes les données, à l’exception de celles spécifiées dans le pli.

  5. Si vous travaillez avec plusieurs partitions, vous devez ajouter des instances supplémentaires du module Partition et échantillon pour gérer chaque partition.

    Supposons, par exemple, que les patients précédemment partitionnés en cinq plis utilisent Age. Pour travailler avec chaque pli individuel, vous avez besoin de cinq copies de la partition et de l’exemple de module, et dans chaque, vous sélectionnez un autre pli.

    Conseil

    L’exemple d’expérience, Split partition et Sample, illustre cette technique.

  6. Exécutez l’expérience.

    Avec cette option, le module génère un jeu de données unique contenant seulement les lignes attribuées à ce pli.

Notes

Vous ne pouvez pas afficher les désignations de pli directement ; elles sont uniquement présentes dans les métadonnées.

Exemples

Pour obtenir des exemples d’utilisation de ce module, consultez la Azure ai Gallery:

  • Validation croisée pour la classification binaire: un taux d’échantillonnage de 20% est appliqué pour créer un jeu de données plus petit échantillonné de façon aléatoire. Le jeu de données de recensement d’origine contenait plus de 30 000 lignes ; le jeu de données échantillonné est environ 6500.

  • Validation croisée pour la régression: les données sont assignées de façon aléatoire et uniformément à cinq plis, sans stratification, et les résultats sont utilisés pour la validation croisée.

  • Split partition et Sample: illustre plusieurs façons d’utiliser le partitionnement et l’échantillonnage. Tout d’abord, l’option affecter à des plis est utilisée pour affecter des lignes du jeu de données à l’un des trois groupes de taille égale. Ensuite, trois instances supplémentaires de partition et d’échantillon sont ajoutées à l’aide du mode Pick Fold pour appliquer des opérations aux sous-ensembles des données.

    • Dans le premier pli (index 1), les lignes sont fractionnées de façon aléatoire.
    • Dans le deuxième pli (index 2), les lignes sont fractionnées par Education.
    • Dans le troisième pli (index 3), les lignes sont fractionnées par âge.

Notes techniques

  • La colonne de stratification doit être catégorique avec des valeurs discrètes. Si la colonne n’est pas déjà catégorique et que vous recevez une erreur, utilisez modifier les métadonnées pour modifier les propriétés de la colonne.

  • La colonne de couches que vous spécifiez ne peut pas contenir de données continues : autrement dit, des données numériques avec des valeurs à virgule flottante dans chaque cellule. Dans le cas contraire, le module ne peut pas traiter les données et retourne une erreur.

    En effet, toute colonne utilisée pour la stratification doit avoir un ensemble fini de valeurs possibles. Si la colonne de couches spécifiée contient des valeurs à virgule flottante et que la colonne n’est pas du type catégorique, elle contient potentiellement un nombre infini de valeurs.

  • Si la colonne de couches contient des valeurs booléennes et que vous souhaitez qu’elles soient interprétées comme catégoriques, vous devez utiliser le module modifier les métadonnées pour modifier l’étiquette de métadonnées.

  • Si votre colonne de couches contient des données de chaîne ou numériques avec un trop grand nombre de valeurs uniques, la colonne n’est pas un bon candidat pour l’échantillonnage stratifié.

En savoir plus sur l’échantillonnage stratifié

L' échantillonnage stratifié garantit que les sous-ensembles de données ont un échantillonnage représentatif de la colonne de couches sélectionnée. Cette technique est utile, par exemple, lorsque vous souhaitez vous assurer que vos données d'apprentissage contiennent la même distribution des valeurs d'âge que les données de test, ou vice versa. Ou vous souhaiterez peut-être effectuer la stratification sur une colonne sexe dans une étude sur les soins de santé pour vous assurer que les hommes et les femmes sont répartis uniformément lorsque les données sont partitionnées. La stratification garantit que les proportions des valeurs sélectionnées sont conservées.

Vous spécifiez des valeurs sur lesquelles séparer les données en sélectionnant une colonne unique qui servira de colonne de couches.

Ce module nécessite que la colonne de couches soit une colonne catégorique. Si vous souhaitez utiliser une colonne de valeurs entières pour les couches, il est recommandé d'affecter un type catégoriel à cette colonne. vous pouvez effectuer cette opération via le schéma des données avant de les ajouter à Machine Learning Studio (classic), ou vous pouvez mettre à jour les métadonnées de la colonne à l’aide de modifier les métadonnées.

Les colonnes contenant des données continues (autrement dit, les données numériques avec des valeurs à virgule flottante dans chaque cellule) ne peuvent pas être utilisées comme colonnes de couches. Si vous recevez une erreur, vous pouvez utiliser des données de groupe dans des emplacements pour compartir les valeurs dans des plages discrètes, puis utiliser modifier les métadonnées pour garantir que la colonne sera traitée comme catégorique.

Entrées attendues

Nom Type Description
Dataset Table de données Jeu de données à fractionner

Paramètres du module

Nom Plage Type Default Description
Mode de partitionnement ou d'échantillonnage Liste Méthodes d’échantillonnage échantillonnage Sélectionner le mode de partitionnement ou d'échantillonnage
Utiliser le remplacement dans le partitionnement Quelconque Boolean False Indiquer si les pliures doivent être disjointes (par défaut, sans remplacement) ou se chevaucher (remplacement de l’utilisation réelle)
Fractionnement aléatoire Quelconque Boolean True Indiquer si le fractionnement est aléatoire
Valeur initiale aléatoire Quelconque Integer 0 Spécifier une valeur initiale pour le générateur de nombres aléatoires
Spécifier la méthode du partitionneur Liste Méthodes de partitionnement Partitionner uniformément Sélectionnez partition uniformément pour partitionner les plis de taille égale ou partition avec des proportions personnalisées afin de partitionner les plis de taille personnalisée
Spécifier le nombre de plis pour le fractionnement uniforme >=1 Integer 5 Sélectionner un nombre de partitions à fractionner
Fractionnement stratifié Liste Type Vrai/Faux False Indiquer si le fractionnement est stratifié
Colonne de clé de stratification Quelconque ColumnSelection Contient la clé de stratification
Liste des proportions séparées par des virgules Quelconque String Répertorier les proportions, séparées par des virgules
Fractionnement stratifié pour l'affectation de plis personnalisée Quelconque Type Vrai/Faux False Indiquer si le fractionnement est stratifié pour les affectations de plis personnalisées
Colonne de clé de stratification pour l'affectation de plis personnalisée Quelconque ColumnSelection Contient la clé de stratification des affectations de plis personnalisées
Spécifier le pli à partir duquel doit s'effectuer l'échantillonnage >=1 Integer 1 Contient l’index de la pliure à échantillonner
Choisir le complément du pli sélectionné Quelconque Boolean False Sélectionner le complément du pli spécifié
Taux d'échantillonnage Quelconque Float 0.01 Choisir un taux d'échantillonnage
Valeur initiale aléatoire pour l'échantillonnage Quelconque Integer 0 Spécifier une valeur de départ pour le générateur de nombres aléatoires
Fractionnement stratifié pour l'échantillonnage Quelconque Vrai/Faux False Indiquer si le fractionnement est stratifié pour l'échantillonnage
Colonne de clé de stratification pour l'échantillonnage Quelconque ColumnSelection Contient la clé de stratification pour l'échantillonnage
Nombre de lignes à sélectionner >=0 Integer 10 Sélectionner un nombre maximal d'enregistrements qui pourront être transmis au module suivant

Sorties

Nom Type Description
oDataset Table de données Jeu de données résultant du fractionnement

Voir aussi

Sample and Split
Fractionner les données
Modifier des métadonnées
Grouper des données dans des compartiments