Partager via


Créer une transformation de comptage

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 une transformation qui active les tables de nombres en fonctionnalités, afin que vous puissiez appliquer la transformation à plusieurs datasets.

catégorie : Learning avec des nombres

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 de transformation de comptage de Build dans Machine Learning Studio (classic) pour analyser les données d’apprentissage. À partir de ces données, le module génère une table de nombres , ainsi qu’un ensemble de fonctionnalités basées sur les nombres qui peuvent être utilisées dans un modèle prédictif.

Une table de nombres contient la distribution conjointe de toutes les colonnes de fonctionnalités, en fonction d’une colonne d’étiquette spécifiée. Ces statistiques sont utiles pour déterminer les colonnes qui ont la valeur d’information la plus grande. Le caractérisation basé sur le nombre est utile, car ces fonctionnalités sont plus compactes que les données d’apprentissage d’origine, mais capturent toutes les informations les plus utiles. Vous pouvez utiliser les paramètres du module pour personnaliser la façon dont les nombres sont transformés dans le nouvel ensemble de fonctionnalités basées sur les nombres.

Après avoir généré les nombres et les avoir transformés en fonctionnalités, vous pouvez enregistrer le processus en tant que transformation pour une réutilisation sur des données associées. Vous pouvez également modifier l’ensemble de fonctionnalités sans avoir à générer un nouvel ensemble de nombres ou fusionner les nombres et les fonctionnalités avec un autre ensemble de nombres et de fonctionnalités.

La possibilité de réutiliser et de réappliquer les fonctionnalités basées sur le nombre est utile dans des scénarios tels que ceux-ci :

  • De nouvelles données deviennent disponibles pour améliorer la couverture ou le solde de votre jeu de données.
  • Vos nombres et fonctionnalités d’origine étaient basés sur un jeu de données très volumineux que vous ne souhaitez pas retraiter. En fusionnant les nombres que vous pouvez mettre à jour avec de nouvelles données.
  • Vous voulez vous assurer que le même ensemble de fonctionnalités basées sur le nombre est appliqué à tous les jeux de données que vous utilisez dans votre expérience.

Comment configurer la transformation de comptage de build

Vous pouvez créer une transformation de fonctionnalité basée sur le nombre directement à partir d’un jeu de données, puis la réexécuter chaque fois que vous exécutez une expérience. Ou bien, vous pouvez générer un ensemble de nombres, puis le fusionner avec de nouvelles données pour créer une table de nombres mise à jour.

Créer des fonctionnalités basées sur le nombre à partir d’un jeu de données

  1. dans Machine Learning Studio (classic), ajoutez le module de transformation de comptage de Build à votre expérience. vous pouvez trouver le module sous Transformation des donnéesdans la catégorie Learning avec des nombres.

  2. Connecter le jeu de données que vous souhaitez utiliser comme base pour nos fonctionnalités basées sur le nombre.

  3. Utilisez l’option nombre de classes pour spécifier le nombre de valeurs dans la colonne étiquette.

    • Pour tout problème de classification binaire, tapez 2 .
    • Pour un problème de classification avec plus de deux résultats possibles, vous devez spécifier à l'avance le nombre exact de classes à compter. Si vous entrez un nombre inférieur au nombre réel de classes, le module renverra une erreur.
    • Si votre jeu de données contient plusieurs valeurs de classe et que les valeurs d’étiquette de classe sont non séquentielles, vous devez utiliser modifier les métadonnées pour spécifier que la colonne contient des valeurs catégoriques.
  4. Pour l’option, les bits de fonction de hachageindiquent le nombre de bits à utiliser lors du hachage des valeurs.

    Il est généralement possible d’accepter les valeurs par défaut, sauf si vous savez qu’il existe de nombreuses valeurs à compter et qu’un nombre de bits plus élevé peut être nécessaire.

  5. Dans la valeur de départ de la fonction de hachage, vous pouvez éventuellement spécifier une valeur pour amorcer la fonction de hachage. La définition manuelle d’une valeur de départ est généralement effectuée lorsque vous souhaitez vous assurer que les résultats de hachage sont déterministes sur les exécutions de la même expérience.

  6. Utilisez l’option type de module pour indiquer le type de données que vous allez compter, en fonction du mode de stockage :

    • jeude données : choisissez cette option si vous comptez des données enregistrées en tant que Dataset dans Machine Learning Studio (classic).

    • objet blob: choisissez cette option si vos données sources utilisées pour générer des nombres sont stockées sous la forme d’un objet blob de blocs dans Windows stockage Azure.

    • MapReduce: choisissez cette option si vous souhaitez appeler des fonctions Map/Reduce pour traiter les données.

      pour utiliser cette option, les nouvelles données doivent être fournies en tant qu’objet blob dans Windows stockage Azure, et vous devez avoir accès à un cluster HDInsight déployé. Lorsque vous exécutez l’expérience, une tâche de mappage/réduction est lancée dans le cluster pour effectuer le comptage.

      Pour les jeux de données très volumineux, nous vous recommandons d’utiliser cette option dans la mesure du possible. Même si des coûts supplémentaires risquent de vous être facturés pour l'utilisation du service HDInsight, les calculs portant sur des jeux de données volumineux peuvent être plus rapides dans HDInsight.

      Pour plus d’informations, consultez https://azure.microsoft.com/services/hdinsight/.

  7. Après avoir spécifié le mode de stockage des données, fournissez des informations de connexion supplémentaires pour les données requises :

    • Si vous utilisez des données de Hadoop ou d’un stockage d’objets BLOB, indiquez l’emplacement du cluster et les informations d’identification.
    • Si vous avez déjà utilisé un module importer des données dans l’expérience pour accéder aux données, vous devez entrer à nouveau le nom du compte et vos informations d’identification. Le module de transformation de comptage de build accède séparément au stockage des données afin de pouvoir lire les données et générer les tables requises.
  8. Pour colonne d’étiquette ou index, sélectionnez une colonne comme colonne d’étiquette.

    Une colonne d’étiquette est requise. La colonne doit déjà être marquée comme une étiquette ou une erreur est générée.

  9. Utilisez l’option, sélectionnez les colonnes à compter, puis sélectionnez les colonnes pour lesquelles générer des nombres.

    En général, les meilleurs candidats sont des colonnes de grande dimension, ainsi que toutes les autres colonnes qui sont corrélées avec ces colonnes.

  10. Utilisez l’option de type de table Count pour spécifier le format utilisé pour le stockage de la table de nombres.

    • Dictionary: crée une table de nombres de dictionnaires. Toutes les valeurs de colonne dans les colonnes sélectionnées sont traitées comme des chaînes et sont hachées à l'aide d'un tableau de bits pouvant atteindre une taille de 31 bits. Par conséquent, toutes les valeurs de colonne sont représentées par un entier 32 bits non négatif.

      En général, vous devez utiliser cette option pour les jeux de données plus petits (moins de 1 Go) et utiliser l’option CMSketch pour les jeux de données plus volumineux.

      Après avoir sélectionné cette option, configurez le nombre de bits utilisés par la fonction de hachage et définissez une valeur initiale pour l’initialisation de la fonction de hachage.

    • CMSketch: crée une table d’esquisses minimum Count. Avec cette option, plusieurs fonctions de hachage indépendantes avec une plus petite plage sont utilisées pour améliorer l'efficacité de la mémoire et réduire le risque de conflits de hachage. Les paramètres de la taille du bit de hachage et de la valeur initiale de hachage n’ont aucun effet sur cette option.

  11. Exécutez l’expérience.

    Le module crée une transformation caractérisation que vous pouvez utiliser comme entrée pour le module appliquer la transformation . La sortie du module apply transformation est un jeu de données transformé qui peut être utilisé pour l’apprentissage d’un modèle.

    Si vous le souhaitez, vous pouvez enregistrer la transformation si vous souhaitez fusionner l’ensemble de fonctionnalités basées sur les nombres avec un autre ensemble de fonctionnalités basées sur les nombres. Pour plus d’informations, consultez fusionner le nombre de transformations.

Fusion de nombres et de fonctionnalités à partir de plusieurs jeux de données

  1. dans Machine Learning Studio (classique), ajoutez le module de transformation de comptage de Build à votre expérience, puis connectez le jeu de données qui contient les nouvelles données que vous souhaitez ajouter.

  2. Utilisez l’option type de module pour indiquer la source des nouvelles données. Vous pouvez fusionner des données à partir de différentes sources.

    • jeude données : choisissez cette option si les nouvelles données sont fournies en tant que jeu de données dans Machine Learning Studio (classic).

    • objet blob: choisissez cette option si les nouvelles données sont fournies en tant qu’objet blob de blocs dans Windows stockage Azure.

    • MapReduce: choisissez cette option si vous souhaitez appeler des fonctions Map/Reduce pour traiter les données.

      pour utiliser cette option, les nouvelles données doivent être fournies en tant qu’objet blob dans Windows stockage Azure, et vous devez avoir accès à un cluster HDInsight déployé. Lorsque vous exécutez l’expérience, une tâche de mappage/réduction est lancée dans le cluster pour effectuer le comptage.

      Pour plus d'informations, consultez https://azure.microsoft.com/services/hdinsight/

  3. Après avoir spécifié le mode de stockage des données, fournissez toutes les informations de connexion supplémentaires pour les nouvelles données :

    • Si vous utilisez des données de Hadoop ou d’un stockage d’objets BLOB, indiquez l’emplacement du cluster et les informations d’identification.

    • Si vous avez déjà utilisé un module importer des données dans l’expérience pour accéder aux données, vous devez entrer à nouveau le nom du compte et vos informations d’identification. Cela est dû au fait que le module de transformation de comptage de build accède au stockage des données séparément pour lire les données et générer les tables requises.

  4. Lors de la fusion de nombres, les options suivantes doivent être exactement les mêmes dans les deux tables de nombres :

    • Nombre de classes
    • Bits de fonction de hachage
    • Valeur initiale de fonction de hachage
    • Sélectionner les colonnes à compter

    La colonne d’étiquette peut être différente, à condition qu’elle contienne le même nombre de classes.

  5. Utilisez l’option de type de table Count pour spécifier le format et la destination de la table de nombres mise à jour.

    Conseil

    Le format des deux tables de nombres que vous souhaitez fusionner doit être le même. En d’autres termes, si vous avez enregistré une table de comptage antérieure à l’aide du format de dictionnaire , vous ne pouvez pas la fusionner avec les nombres enregistrés à l’aide du format CMSketch .

  6. Exécutez l’expérience.

    Le module crée une transformation caractérisation que vous pouvez utiliser comme entrée pour le module appliquer la transformation . La sortie du module apply transformation est un jeu de données transformé qui peut être utilisé pour l’apprentissage d’un modèle.

  7. Pour fusionner cet ensemble de nombres avec un ensemble existant de fonctionnalités basées sur le nombre, consultez transformation du nombre de fusions.

Exemples

Consultez ces articles pour plus d’informations sur l’algorithme Counts et l’efficacité de la modélisation basée sur le nombre par rapport à d’autres méthodes.

Les expériences suivantes dans le Azure ai Gallery montrent comment utiliser l’apprentissage basé sur le nombre pour créer différents modèles prédictifs :

Paramètres du module

Les paramètres suivants sont utilisés avec toutes les options :

Name Type Plage Facultatif Default Description
Nombre de classes Entier >= 2 Obligatoire 2 Nombre de classes pour l'étiquette.
Bits de fonction de hachage Integer [12 ; 31] Obligatoire 20 Nombre de bits de la plage de la fonction de hachage.
Valeur initiale de fonction de hachage Entier n'importe laquelle Obligatoire 1 Valeur initiale de la fonction de hachage.
Type de module : Obligatoire Dataset Type de module à utiliser lors de la génération de la table de nombres.
Type de table de nombres CountTableType sélectionner dans la liste Obligatoire Dictionnaire Spécifiez le format de la table de nombres.

Les options suivantes s’appliquent lors de la sélection de l’option BLOB .

Name Type Plage Facultatif Default Description
Nom de l’objet blob String n'importe laquelle Obligatoire Nom de l’objet blob d’entrée. N’incluez pas de nom de conteneur.
Nom du compte String n'importe laquelle Obligatoire Nom du compte de stockage.
Clé de compte SecureString n'importe laquelle Obligatoire Clé du compte de stockage.
Nom du conteneur String n'importe laquelle Obligatoire Conteneur d’objets BLOB Azure qui contient l’objet blob d’entrée.
Colonnes de nombres String n'importe laquelle Obligatoire Index de base un des groupes de colonnes pour effectuer le comptage.
Colonne d'étiquette Entier >=1 Obligatoire 1 Index de base un de la colonne d’étiquette.
Format d'objet blob n'importe laquelle Obligatoire CSV Format de fichier texte d'objet blob.

les paramètres suivants s’appliquent lors de l’utilisation de MapReduce pour générer des nombres :

Name Type Plage Facultatif Default Description
Nom du compte de stockage par défaut String n'importe laquelle Obligatoire aucun Nom du compte de stockage contenant l’objet blob d’entrée.
Clé du compte de stockage par défaut SecureString n'importe laquelle Obligatoire aucun Clé du compte de stockage contenant l’objet blob d’entrée.
Nom du conteneur par défaut String n'importe laquelle Obligatoire aucun Nom du conteneur d’objets BLOB pour écrire la table de nombres.
URI de cluster String n'importe laquelle Obligatoire aucun URI vers le cluster HDInsight Hadoop.
Nom d’utilisateur String n'importe laquelle Obligatoire aucun Nom d’utilisateur pour se connecter au cluster HDInsight Hadoop.

Les paramètres suivants définissent le format de la table de nombres :

Name Type Plage Facultatif Default Description
Type de table de nombres CountTableType Liste Obligatoire Dictionnaire Type de la table de nombres.
Nom ou index de colonne d'étiquette ColumnSelection Obligatoire si la table de nombres est enregistrée en tant que DataSet aucun Sélectionnez la colonne étiquette.
Sélectionner les colonnes à compter ColumnSelection Obligatoire si la table de nombres est enregistrée en tant que DataSet Sélectionnez des colonnes pour le comptage. Ces colonnes sont considérées comme des fonctionnalités catégoriques.
Profondeur de la table de multiensembles CM Entier >=1 Obligatoire si la table de nombres utilise le format CMSketch 4 Profondeur de la table d’esquisse CM, qui est égale au nombre de fonctions de hachage.
Largeur de la table de multiensembles CM Integer [1;31] Obligatoire si la table de nombres utilise le format CMSketch 20 Largeur de la table d’esquisse CM, qui est le nombre de bits de la plage de la fonction de hachage.
Index de colonne d’étiquette ou NameColumn ColumnSelection Obligatoire si la table de nombres est enregistrée en tant que DataSet Sélectionne la colonne d’étiquette.
Sélectionner les colonnes à compter ColumnSelection Obligatoire si la table de nombres est enregistrée en tant que DataSet Sélectionne les colonnes pour le comptage. Ces colonnes sont considérées comme des fonctionnalités catégoriques.
Type de table de nombres Obligatoire si la table de nombres est enregistrée en tant que DataSet Dictionnaire Spécifie le type de la table de nombres.
Profondeur de la table de multiensembles CM Entier >=1 Obligatoire si la table de nombres est enregistrée en tant que CMSketch 4 La profondeur de table de l’esquisse CM, qui est égale au nombre de fonctions de hachage.
Largeur de la table de multiensembles CM Integer [1;31] Obligatoire si la table de nombres est enregistrée en tant que CMSketch 20 Largeur du tableau d’esquisse CM, qui est le nombre de bits de la plage de la fonction de hachage.

Sorties

Nom Type Description
Comptage de la transformation Interface ITransform Transformation de comptage.

Exceptions

Exception Description
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.
Erreur 0004 Une exception se produit si le paramètre est inférieur ou égal à une valeur spécifique.
Erreur 0005 Une exception se produit si le paramètre est inférieur à une valeur spécifique.
Erreur 0007 Une exception se produit si le paramètre est supérieur à une valeur spécifique.
Erreur 0009 Une exception se produit si le nom du compte de stockage Azure ou le nom du conteneur est spécifié de manière incorrecte.
Erreur 0065 Une exception se produit si le nom du bob Azure n’est pas spécifié correctement.
Erreur 0011 Une exception se produit si l’argument du jeu de colonnes transmis ne s’applique à aucune des colonnes du jeu de données.
Erreur 0049 Une exception se produit dans le cas où il n’est pas possible d’analyser un fichier.
Erreur 1000 Exception de la bibliothèque interne.
Erreur 0059 Une exception se produit si un index de colonne spécifié dans un sélecteur de colonnes ne peut pas être analysé.
Erreur 0060 Une exception se produit lorsqu’une plage de colonnes hors limite est spécifiée dans un sélecteur de colonnes.
Erreur 0089 Une exception se produit lorsque le nombre spécifié de classes est inférieur au nombre effectif de classes dans un jeu de données utilisé pour le comptage.

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

Learning with Counts