Partager via


Régression d’arbre de décision optimisé

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 à l'aide de l'algorithme d'arbre de décision optimisé

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 de régression de l’arbre de décision optimisé dans Machine Learning Studio (classic) pour créer un ensemble d’arbres de régression à l’aide de la promotion. Le terme boosting signifie que chaque arbre dépend des arbres précédents. L’algorithme apprend en ajustant les valeurs résiduelles des arbres précédents. Par conséquent, le boosting d’un arbre de décision a tendance à améliorer la précision avec un léger risque de diminution de la couverture.

Cette méthode de régression est une méthode d’apprentissage supervisé et nécessite donc un jeu de données étiqueté. La colonne de libellés doit contenir des valeurs numériques.

Notes

Utilisez ce module uniquement avec les jeux de données qui contiennent des variables numériques.

Une fois que vous avez défini le modèle, importez-le à l’aide des modules former le modèle ou paramétrer les hyperparamètres de modèle .

Conseil

Vous voulez en savoir plus sur les arbres qui ont été créés ? Une fois le modèle formé, cliquez avec le bouton droit sur la sortie du module former le modèle (ou réglez le module Parameters du modèle ) et sélectionnez visualiser pour voir l’arborescence créée à chaque itération. Vous pouvez explorer les fractionnements de chaque arbre et afficher les règles de chaque nœud.

Plus d’informations sur les arbres de régression boostés

Le boosting est une méthode classique de création de modèles d’ensemble, de même que le bagging, les forêts aléatoires, etc. dans Machine Learning Studio (classic), les arbres de décision augmentés utilisent une implémentation efficace de l’algorithme de dégradé booster de la mini-entrepôt. Le boosting de gradient est une technique d’apprentissage automatique pour les problèmes de régression. Il génère chaque arbre de régression par étapes, à l’aide d’une fonction de perte prédéfinie pour mesurer l’erreur à chaque étape et la corriger à la suivante. Par conséquent, le modèle de prédiction est en fait un ensemble de modèles de prédiction plus faibles.

Dans les problèmes de régression, le boosting génère une série d’arbres par étapes, puis sélectionne l’arbre optimal à l’aide d’une fonction de perte dérivable arbitraire.

Pour plus d’informations, consultez les articles suivants :

La méthode de boosting de gradient peut également servir pour les problèmes de classification, en les réduisant jusqu’à régression avec une fonction de perte appropriée. Pour plus d’informations sur l’implémentation des arbres boostés pour les tâches de classification, voir Arbre de décision boosté à deux classes.

Comment configurer une régression d’arbre de décision boosté

  1. Ajoutez le module de l' arbre de décision optimisé à votre expérience. Vous le trouverez sous Machine Learning, Initialiser, dans la catégorie Régression.

  2. Spécifiez le mode d’apprentissage du modèle en définissant l’option Créer un mode d’apprentissage.

    • Single Parameter (Paramètre unique) : sélectionnez cette option si vous savez comment vous voulez configurer le modèle, et fournissez un ensemble spécifique de valeurs en tant qu’arguments.

    • Plage de paramètres : Sélectionnez cette option si vous n’êtes pas sûr des paramètres à choisir et que vous souhaitez exécuter un balayage des paramètres. Sélectionnez la plage de valeurs sur laquelle vous souhaitez effectuer l’itération. Le module Optimiser les hyperparamètres du modèle effectue alors une itération sur toutes les combinaisons possibles des paramètres que vous avez fournis pour déterminer les hyperparamètres qui produisent les résultats optimaux.

  3. Maximum number of leaves per tree (Nombre maximal de feuilles par arbre) : indiquer le nombre maximal de nœuds terminaux (feuilles) qui peuvent être créés dans n’importe quel arbre.

    En augmentant cette valeur, vous augmentez potentiellement la taille de l’arbre et vous bénéficiez d’un surcroît de précision, au risque d’un surajustement et d’un temps d’apprentissage plus long.

  4. Minimum number of samples per leaf node (Nombre minimal d’échantillons par nœud terminal) : indiquez le nombre minimal de cas requis pour créer un nœud terminal (feuille) dans un arbre.

    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.

  5. Taux d’apprentissage : saisissez un nombre compris entre 0 et 1 qui définit la taille d’étape lors de l’apprentissage. Le taux d’apprentissage détermine la vitesse à laquelle l’apprentissage converge vers la solution optimale. Si la taille d’étape est trop grande, vous risquez de passer à côté de la solution optimale. Si la taille de pas est trop faible, l’apprentissage nécessite plus de temps pour converger vers la meilleure solution.

  6. Number of trees constructed (Nombre d’arbres construits) : indiquez le nombre total d’arbres de décision à créer dans l’ensemble. Plus il y en a, meilleure peut être la couverture, mais plus le temps d’apprentissage augmente.

    Cette valeur contrôle également le nombre d’arbres qui s’affichent dans la visualisation du modèle entraîné. Si vous souhaitez afficher ou imprimer une arborescence unique, vous pouvez définir la valeur sur 1 ; Toutefois, cela signifie qu’une seule arborescence est produite (l’arborescence avec l’ensemble initial de paramètres) et qu’aucune autre itération n’est effectuée.

  7. Random number seed (Valeur de départ aléatoire) : saisissez un entier non négatif facultatif à utiliser comme la valeur de départ aléatoire. La spécification d’une valeur de départ garantit la reproductibilité entre les exécutions qui présentent les mêmes données et paramètres.

    Par défaut, la valeur de départ aléatoire est définie sur 0, ce qui signifie qu’elle est obtenue à partir de l’horloge système.

  8. Autoriser les niveaux de catégorie inconnus: sélectionnez cette option pour créer un groupe de valeurs inconnues dans les jeux d’apprentissage et 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. Le modèle risque d’être moins précis pour les valeurs connues, mais il pourra fournir de meilleures prédictions pour les nouvelles valeurs (inconnues).

  9. Ajoutez un jeu de données d’apprentissage et l’un des modules d’apprentissage :

    • Si vous définissez l’option Create trainer mode (Créer un mode d’apprentissage) sur Single Parameter (Paramètre unique), utilisez le module Train Model (Entraîner le modèle).

    • Si vous définissez Créer mode de formateur sur Plage de paramètres, utilisez le module Optimiser les hyperparamètres du modèle.

    Notes

    Si vous transmettez une plage de paramètres au module Entraîner le modèle, il utilise uniquement la première valeur dans la liste de plages de paramètres.

    Si vous transmettez un ensemble unique de valeurs de paramètre au module Optimiser les hyperparamètres du modèle, quand il attend une plage de paramètres pour chaque paramètre, il ignore les valeurs et utilise les valeurs par défaut pour l’apprenant.

    Si vous sélectionnez l’option plage de paramètres et que vous entrez une valeur unique pour un paramètre, cette valeur unique est utilisée tout au long du balayage, même si d’autres paramètres changent sur une plage de valeurs.

  10. Exécutez l’expérience.

Résultats

Une fois l’apprentissage terminé :

  • Pour afficher l’arborescence qui a été créée à chaque itération, cliquez avec le bouton droit sur module former le modèle et sélectionnez modèle formé à visualiser. Si vous utilisez les hyperparamètres du modèle d’optimisation, cliquez avec le bouton droit sur le module et sélectionnez le meilleur modèle formé pour visualiser le meilleur modèle.

    Cliquez sur chaque arbre pour explorer les fractionnements et afficher les règles de chaque nœud.

  • Pour utiliser le modèle afin de calculer les scores, connectez-le au modèle de score, pour prédire des valeurs des nouveaux exemples d’entrée.

  • Pour enregistrer un instantané du modèle formé, cliquez avec le bouton droit sur la sortie du modèle formé dans le module d’apprentissage et sélectionnez Enregistrer sous. La copie du modèle formé que vous enregistrez n’est pas mise à jour lors des exécutions consécutives de l’expérience.

Exemples

Pour obtenir des exemples d’utilisation des arborescences améliorées 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.

Conseil

En général, les arbres de décision produisent les meilleurs résultats lorsque les fonctionnalités sont similaires. Si les fonctionnalités ont un degré élevé d'entropie (autrement dit, elles ne sont pas liées), elles partagent peu ou aucune information et leur classement dans un arbre n'aura pas beaucoup d'intérêt en termes de prédictions.

Informations d’implémentation

L'ensemble d'arbres est obtenu en calculant à chaque étape un arbre de régression qui est une approximation du gradient de la fonction de perte et en l'ajoutant à l'arbre précédent avec des coefficients qui minimisent la perte du nouvel arbre. La sortie de l'ensemble produit par MART sur une instance donnée est la somme des sorties d'arborescence.

  • Pour les problèmes de classification binaire, la sortie est convertie en probabilité à l'aide d'une forme d'étalonnage.

  • Pour les problèmes de régression, la sortie est la valeur prédite de la fonction.

  • Pour les problèmes de classement, les instances sont classées par la valeur de sortie de l’ensemble.

Paramètres du module

Nom Plage Type Default Description
Nombre maximal de feuilles par arbre >=1 Integer 20 Spécifier le nombre maximal de feuilles par arbre
Nombre minimal d'échantillons par nœud terminal >=1 Integer 10 Spécifier le nombre minimal de cas demandés pour former un nœud terminal
Taux d’apprentissage [double.Epsilon;1.0] Float 0,2 Spécifier le taux d'apprentissage initial
Nombre total d'arbres construits >=1 Integer 100 Spécifier le nombre maximal d'arbres qui peuvent être créés au cours de l'apprentissage
Valeur initiale de nombre aléatoire n'importe laquelle Entier 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 n'importe laquelle Boolean 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.

Sorties

Nom Type Description
Untrained model (Modèle non entraîné) Interface ILearner Modèle de régression non formé

Voir aussi

Liste alphabétique des modules
Régression