Partager via


Régression quantile de forêt rapide

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 un modèle de régression quantile

catégorie : Machine Learning/initialiser le modèle/la régression

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 Fast Forest Quantile regression dans Machine Learning Studio (classic) pour créer un modèle de régression capable de prédire des valeurs pour un nombre spécifié de quantiles.

Une régression quantile est utile si vous souhaitez mieux comprendre la distribution de la valeur prédite, au lieu d'obtenir une seule valeur de prédiction moyenne. Cette méthode a de nombreuses applications, notamment :

  • Prédiction de prix

  • Estimation des performances des étudiants, ou application de graphiques de croissance pour évaluer le développement des enfants

  • Découverte de relations prédictives dans les cas où il n'existe qu'une faible relation entre des variables

Cet algorithme de régression est un une méthode d’apprentissage supervisée, ce qui signifie qu’il nécessite un jeu de données avec balises incluant une colonne d’étiquette. Étant donné qu’il s’agit d’un algorithme de régression, la colonne d’étiquette ne doit contenir que des valeurs numériques.

En savoir plus sur la régression quantile

Il existe de nombreux types de régressions différents. La régression revient essentiellement à ajuster un modèle à une cible exprimée comme un vecteur numérique. Toutefois, les statisticiens ont développé des méthodes de régression de plus en plus avancées.

Au sens le plus simple du terme, un quantile est une valeur qui divise un jeu de données en groupes de taille égale, les valeurs de quantile marquant les limites entre les groupes. Sur le plan statistique, les quantiles sont des valeurs extraites à intervalles réguliers à partir de l'inverse de la fonction de distribution cumulative d'une variable aléatoire.

Tandis que les modèles de régression linéaire tentent de prédire la valeur d'une variable numérique à l'aide d'une simple estimation, la moyenne, il faut parfois pouvoir prédire la plage ou la distribution entière de la variable cible. Des techniques telles que la régression bayésienne et la régression quantile ont été développées à cet effet.

La régression quantile vous aide à comprendre la distribution de la valeur prédite. Les modèles de régression quantile basée sur un arbre, tels que celui utilisé dans ce module, présentent l'avantage supplémentaire qu'ils permettent de prédire des distributions non paramétriques.

Pour des détails et ressources supplémentaires sur l'implémentation, consultez la section Notes techniques.

Comment configurer Fast_Forest régression quantile

Vous configurez les propriétés du modèle de régression à l’aide de ce module, puis vous l’imposez à l’aide de l’un des modules de formation.

Les étapes de configuration varient considérablement dependng si vous fournissez un ensemble fixe de paramètres ou si vous configurez un balayage de paramètre.

Créer un modèle de régression quantile à l’aide de paramètres fixes

En supposant que vous savez comment vous voulez configurer le modèle, vous pouvez fournir un ensemble spécifique de valeurs en tant qu’arguments. Lorsque vous formez le modèle, utilisez Former le modèle.

  1. Ajoutez le module Fast Forest quantile Regression à votre expérience dans Studio (Classic).

  2. Définissez l’option créer un mode de l’instructeur sur un seul paramètre.

  3. Pour nombre d’arbres, tapez le nombre maximal d’arbres qui peuvent être créés dans l’ensemble. Un plus grand nombre d'arbres conduit généralement à une plus grande précision, mais au prix d'un temps de formation plus long.

  4. Pour le nombre de feuilles, tapez le nombre maximal de feuilles ou de nœuds terminaux qui peuvent être créées dans n’importe quelle arborescence.

  5. Pour un nombre minimal d’instances de formation requises pour former une feuille , spécifiez le nombre minimal d’exemples requis pour créer un nœud terminal (feuille) dans une arborescence.

    Plus cette valeur est grande, plus le seuil de création de règles augmente. Par exemple, la valeur par défaut de 1, un seul cas suffit à entraîner la création d’une règle. Si vous augmentez la valeur à 5, les données d’apprentissage doivent contenir au moins 5 cas qui remplissent les mêmes conditions

  6. Pour la fraction en sacs, spécifiez un nombre compris entre 0 et 1 qui représente la fraction des échantillons à utiliser lors de la création de chaque groupe de quantiles. Les exemples sont choisis de façon aléatoire, avec remplacement.

  7. Pour fraction de fonctionnalité, tapez un nombre compris entre 0 et 1 qui indique la fraction du nombre total de fonctionnalités à utiliser lors de la création d’une arborescence particulière. Les fonctionnalités sont toujours choisies de façon aléatoire.

  8. Pour fractionner la fraction, tapez un nombre compris entre 0 et 1 qui représente la fraction des fonctionnalités à utiliser dans chaque fractionnement de l’arbre. Les fonctionnalités utilisées sont toujours choisies de façon aléatoire.

  9. Pour quantile Sample Count, tapez le nombre de cas à évaluer lors de l’estimation du quantiles.

  10. Pour que les quantiles soient estimés, tapez une liste séparée par des virgules des quantiles pour lesquels vous souhaitez que le modèle exerce et crée des prédictions.

    Par exemple, si vous souhaitez générer un modèle permettant d'estimer des quartiles, tapez 0.25, 0.5, 0.75.

  11. Éventuellement, saisissez une valeur pour Random number seed (Valeur initiale aléatoire) pour amorcer le générateur de nombres aléatoires que le modèle utilise. La valeur par défaut est 0, ce qui signifie qu'une valeur d'amorce aléatoire est choisie.

    Vous devez fournir une valeur si vous devez reproduire les résultats entre les exécutions successives sur les mêmes données.

  12. Sélectionnez l’option autoriser les niveaux catégoriques inconnus pour créer un groupe de valeurs inconnues.

    Si vous la désélectionnez, le modèle ne peut accepter que les valeurs qui sont contenues dans les données d'apprentissage.

    Si vous sélectionnez cette option, le modèle peut être moins précis pour les valeurs connues, mais il peut fournir de meilleures prédictions pour les nouvelles valeurs (inconnues).

  13. Connecter un jeu de données d’apprentissage, sélectionnez une colonne à étiquette unique et Connect former le modèle.

  14. Exécutez l’expérience.

Utiliser un balayage de paramètre pour créer un modèle de régression quantile

Si vous n’êtes pas sûr des paramètres optimaux pour le modèle, vous pouvez configurer un balayage de paramètre et fournir une plage de valeurs comme arguments. Lorsque vous formez le modèle, utilisez le module ajuster le modèle hyperparamètres .

  1. Ajoutez le module Fast Forest quantile Regression à votre expérience dans Studio (Classic).

  2. Définissez l’option Create trainer mode (Créer un mode d’apprentissage) sur Parameter Range (Plage de paramètres).

    Un balayage de paramètre est recommandé si vous n’êtes pas sûr des meilleurs paramètres. En spécifiant plusieurs valeurs et en utilisant le module régler le modèle hyperparamètres pour effectuer l’apprentissage du modèle, vous pouvez trouver l’ensemble optimal de paramètres pour vos données.

    Après avoir choisi un balayage de paramètre, pour chaque propriété qui est réglable, vous pouvez définir une valeur unique ou plusieurs valeurs. Par exemple, vous pouvez décider de corriger le nombre d’arbres, mais modifier de façon aléatoire d’autres valeurs qui contrôlent la façon dont chaque arborescence est créée.

    • Si vous tapez une valeur unique, cette valeur est utilisée pour toutes les itérations du balayage, même si d’autres valeurs changent.

    • Tapez une liste séparée par des virgules de valeurs discrètes à utiliser. Ces valeurs sont utilisées en association avec d’autres propriétés.

    • Utilisez le Générateur de plage pour définir une plage de valeurs continues.

    Pendant le processus d’apprentissage, le module régler le modèle d’hyperparamètres itère au sein de différentes combinaisons de valeurs pour générer le meilleur modèle.

  3. Pour le nombre maximal de feuilles par arborescence, tapez le nombre total de feuilles ou de nœuds terminaux à autoriser dans chaque arborescence.

  4. Pour nombre d’arbres construits, tapez le nombre d’itérations à effectuer lors de la construction de l’ensemble. En créant d’autres arbres, vous pouvez bénéficier d’une meilleure couverture, au détriment de l’augmentation du temps de formation.

  5. Pour le nombre minimal d’échantillons par nœud terminal, indiquez le nombre de cas requis pour créer un nœud terminal.

    Plus cette valeur est grande, plus le seuil de création de règles augmente. Par exemple, la valeur par défaut de 1, un seul cas suffit à entraîner la création d’une règle. Si vous définissez la valeur sur 5, les données d’apprentissage doivent contenir au moins 5 cas respectant les mêmes conditions.

  6. Dans plage pour la fractionde la sacs, tapez la fraction des échantillons à utiliser lors de la création de chaque groupe de quantiles. Les exemples sont choisis de façon aléatoire, avec remplacement.

    Chaque fraction doit être un nombre compris entre 0 et 1. Séparez plusieurs fractions, en utilisant des virgules.

  7. Dans plage pour la fraction de fonctionnalité, tapez la fraction du nombre total de fonctionnalités à utiliser lors de la création de chaque groupe de quantiles. Les fonctionnalités sont choisies de façon aléatoire.

    Chaque fraction doit être un nombre compris entre 0 et 1 ; Séparez plusieurs fractions à l’aide de virgules.

  8. Dans plage pour fractionner les fractions, spécifiez une fraction des fonctionnalités à utiliser dans chaque groupe de quantiles. Les fonctionnalités réelles utilisées sont choisies de façon aléatoire.

    Chaque fraction doit être un nombre compris entre 0 et 1 ; Séparez plusieurs fractions à l’aide de virgules.

  9. Dans Sample Count utilisé pour estimer le quantiles, indiquez le nombre d’échantillons qui doivent être évalués lors de l’estimation du quantiles. Si vous tapez un nombre supérieur au nombre d’exemples disponibles, tous les échantillons sont utilisés.

  10. Dans valeurs quantile requises, tapez une liste séparée par des virgules des quantiles sur lequel vous souhaitez que le modèle se forme. Par exemple, si vous souhaitez générer un modèle qui estime quartiles, vous devez taper «0,25, 0,5, 0,75

  11. Dans valeur de départ de nombre aléatoire, tapez une valeur pour amorcer le générateur de nombres aléatoires utilisé par le modèle. L'utilisation d'une amorce est utile pour reproduire des exécutions en double.

    La valeur par défaut est 0, ce qui signifie qu'une valeur d'amorce aléatoire est choisie.

  12. Sélectionnez l’option Autoriser les valeurs inconnues pour les fonctionnalités catégorielles afin de créer un groupe pour les valeurs inconnues des jeux d’apprentissage ou de validation.

    Si cette option est désélectionnée, le modèle n’accepte que les valeurs contenues dans les données d’apprentissage.

    Si vous sélectionnez cette option, le modèle peut être moins précis pour les valeurs connues, mais il peut fournir de meilleures prédictions pour les nouvelles valeurs (inconnues).

  13. Connecter un jeu de données d’apprentissage, sélectionnez la colonne étiquette et connectez le module régler le modèle hyperparamètres .

    Notes

    N’utilisez pas l' apprentissage du modèle. Si vous configurez une plage de paramètres, mais que vous l’exécutez avec train Model, elle utilise uniquement la première valeur de la liste des plages de paramètres.

  14. Exécutez l’expérience.

Résultats

Une fois l’apprentissage terminé :

Exemples

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

  • Quantile Regression: montre comment générer et interpréter un modèle de régression quantile, à l’aide du jeu de données de tarification automatique.

Notes techniques

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

Informations d’implémentation

le module de régression Quantile de forêt rapide de Machine Learning est une implémentation de la régression Quantile de forêt aléatoire à l’aide d’arbres de décision. Les forêts aléatoires peuvent être utiles pour éviter le surajustement qui peut se produire avec des arbres de décision. Un arbre de décision est un graphique de flux binaire de forme arborescente où, à chaque nœud intérieur, quelqu'un décide des nœuds enfants vers lesquels continuer, en fonction de la valeur de l'une des fonctionnalités de l'entrée.

Dans chaque nœud terminal, une valeur est renvoyée. Dans les nœuds intérieurs, la décision est basée sur le test' 'x ≤ v', où x est la valeur de la fonctionnalité dans l’exemple d’entrée et v est l’une des valeurs possibles de cette fonctionnalité. Les fonctions qui peuvent être générées par un arbre de régression sont toutes les fonctions de constante successives.

Dans une forêt aléatoire, un ensemble d’arbres est créé en faisant en sorte de sélectionner un sous-ensemble d’échantillons aléatoires et de fonctionnalités des données d’apprentissage, puis d’ajuster un arbre de décision à chaque sous-ensemble de données. Contrairement à l'algorithme de forêt aléatoire, qui calcule la moyenne de la sortie de tous les arbres, une Fast Forest Quantile Regression conserve toutes les étiquettes prédites dans les arbres spécifiés par le paramètre Nombre d'échantillons de quantile, puis génère la distribution afin que l'utilisateur puisse afficher les valeurs de quantile pour l'instance donnée.

Pour plus d’informations sur la régression quantile, consultez les ouvrages et les articles suivants :

Paramètres du module

Nom Type Plage Facultatif Description Default
Créer le mode de formateur CreateLearnerMode List:Single Parameter|Parameter Range Obligatoire Paramètre unique Créer des options avancées d'apprenant
Nombre d'arbres Entier mode:Single Parameter 100 Spécifiez le nombre d'arbres à construire.
Nombre de feuilles Entier mode:Single Parameter 20 Spécifiez le nombre maximal de feuilles par arbre. Le nombre par défaut est 20.
Nombre minimal d'instances de formation requises pour former une feuille Entier mode:Single Parameter 10 Nombre minimal d'instances de formation requises pour former une feuille
Fraction d'ensachage Float mode:Single Parameter 0,7 Spécifie la fraction des données d'apprentissage à utiliser pour chaque arbre
Fraction de fonctionnalités Float mode:Single Parameter 0,7 Spécifie la fraction des fonctionnalités (choisies de façon aléatoire) à utiliser pour chaque arbre
Fraction de division Float mode:Single Parameter 0,7 Spécifie la fraction des fonctionnalités (choisies de façon aléatoire) à utiliser pour chaque fraction
Nombre d'échantillons de quantile Entier Maximum : 2147483647 mode:Single Parameter 100 Spécifie le nombre d'instances utilisées dans chaque nœud pour estimer les quantités
Quantiles à estimer String mode:Single Parameter "0,25 ; 0.5 ; 0,75" Spécifie le quantile à estimer
Valeur initiale de nombre aléatoire Entier Facultatif Fournit une valeur de départ pour le générateur de nombres aléatoires utilisé par le modèle. Laissez vide par défaut.
Autoriser les niveaux catégoriels inconnus Boolean Obligatoire true La valeur true crée un niveau supplémentaire pour chaque colonne catégorielle. Les niveaux du jeu de données de test qui ne sont pas disponibles dans le jeu de données d'apprentissage sont mappés à ce niveau supplémentaire.
Nombre maximal de feuilles par arbre ParameterRangeSettings [16 ; 128] mode:Parameter Range 16bits 32 ; 64 Spécifiez la plage pour le nombre maximal de feuilles autorisé par arbre
Nombre d'arbres construits ParameterRangeSettings [1 ; 256] mode:Parameter Range 16bits 32 ; 64 Spécifiez la plage pour le nombre maximal d'arbres qui peuvent être créés au cours de l'apprentissage
Nombre minimal d'échantillons par nœud terminal ParameterRangeSettings [1;10] mode:Parameter Range 1,0 5,5 10 Spécifiez la plage pour le nombre minimal de cas requis pour former une feuille
Plage pour la fraction d'ensachage ParameterRangeSettings [0,25 ; 1.0] mode:Parameter Range 0,25 ; 0,5 ; 0,75 Spécifie la plage pour la fraction de données d'apprentissage à utiliser pour chaque arbre
Plage pour la fraction de fonctionnalités ParameterRangeSettings [0,25 ; 1.0] mode:Parameter Range 0,25 ; 0,5 ; 0,75 Spécifie la plage pour la fraction de fonctionnalités (choisies de façon aléatoire) à utiliser pour chaque arbre
Plage pour la fraction de division ParameterRangeSettings [0,25 ; 1.0] mode:Parameter Range 0,25 ; 0,5 ; 0,75 Spécifie la plage pour la fraction de fonctionnalités (choisies de façon aléatoire) à utiliser pour chaque division
Nombre d'échantillons utilisés pour estimer les quantités Integer mode:Parameter Range 100 Nombre d'échantillons utilisés pour estimer les quantités
Valeurs de quantile requises String mode:Parameter Range "0,25 ; 0.5 ; 0,75" Valeur de quantile requise utilisée pendant le balayage de paramètre

Sorties

Nom Type Description
Untrained model (Modèle non entraîné) Interface ILearner Modèle de régression de quantile non formé qui peut être connecté aux modules Train Generic Model ou Cross Validate Model.

Voir aussi

Régression