Partager via


Arbre de décision optimisé à deux classes

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

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

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 l’arbre de décision optimisé à deux classes dans Machine Learning Studio (classic) pour créer un modèle de Machine Learning basé sur l’algorithme d’arbres de décision augmentés.

Un arbre de décision optimisé est une méthode d’apprentissage d’ensemble dans laquelle le second arbre corrige les erreurs du premier arbre, le troisième arbre corrige les erreurs du premier et du deuxième arbres, et ainsi de suite. Les prédictions sont effectuées par l’ensemble d’arbres complet. Pour plus d’informations techniques, consultez la section recherche de cet article.

En règle générale, lorsque les arbres de décision sont correctement configurés, ils représentent le moyen le plus simple d’obtenir des performances optimales sur un large éventail de tâches Machine Learning. Toutefois, ils constituent également l’un des apprentissages qui utilisent le plus de mémoire, et l’implémentation actuelle conserve toutes les données en mémoire. Par conséquent, un modèle d’arbre de décision optimisé peut ne pas être en mesure de traiter les jeux de données très volumineux que certains apprenants linéaires peuvent gérer.

Comment configurer Two-Class arbre de décision optimisé

Ce module crée un modèle de classification non entraîné. Étant donné que la classification est une méthode d’apprentissage supervisée, pour effectuer l’apprentissage du modèle, vous devez disposer d’un jeu de données balisé qui inclut une colonne d’étiquette avec une valeur pour toutes les lignes.

Vous pouvez effectuer l’apprentissage de ce type de modèle à l’aide des modules former le modèle ou paramétrer les hyperparamètres du modèle .

  1. dans Machine Learning Studio (classic), ajoutez le module de l' arbre de décision optimisé à votre expérience.

  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) : si vous savez comment vous voulez configurer le modèle, vous pouvez fournir un ensemble spécifique de valeurs comme arguments.

    • Plage de paramètres : en cas de doute sur les paramètres à utiliser, utilisez le module Optimiser les hyperparamètres du modèle. Vous fournissez une plage de valeurs, et le mode d'apprentissage effectue une itération sur plusieurs combinaisons de paramètres pour déterminer la combinaison de valeurs qui produit le meilleur résultat.

  3. Dans le champ Maximum number of leaves per tree (Nombre maximal de nœuds terminaux par arbre), indiquez le nombre maximal de nœuds terminaux qui peuvent être créés dans un arbre quelconque.

    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. Dans le champ Minimum number of samples per leaf node (Nombre minimal d’échantillons par nœud terminal), indiquez le nombre de cas requis pour la création d’un nœud terminal 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. Dans le champ Taux d’apprentissage, saisissez un nombre compris entre 0 et 1 qui définit la taille de pas 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. Dans le champ Number of trees constructed (Nombre d’arbres construits), indiquez le nombre total d’arbres de décision à créer dans l’ensemble. En créant plusieurs arbres de décision, vous pouvez obtenir une meilleure couverture, mais cette opération augmente la durée d’apprentissage.

    Cette valeur contrôle également le nombre d’arbres qui s’affichent dans la visualisation du modèle entraîné. Si vous souhaitez visualiser ou imprimer un arbre unique, définissez la valeur sur 1. Toutefois, lorsque vous procédez ainsi, un seul arbre est généré (l’arbre avec le jeu de paramètres initial), et aucune autre itération n’est effectuée.

  7. Dans le champ Random number seed (Valeur de départ aléatoire), saisissez si vous le souhaitez un entier non négatif à utiliser comme valeur initiale 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.

    La valeur de départ aléatoire est définie par défaut sur 0, ce qui signifie qu’elle est obtenue à partir de l’horloge système. Les exécutions successives qui utilisent une valeur de départ aléatoire peuvent avoir des résultats différents.

  8. Sélectionnez l’option autoriser les niveaux catégoriques inconnus 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.

    Si vous autorisez des valeurs inconnues, le modèle peut être moins précis pour les valeurs connues, mais peut fournir de meilleures prédictions pour les nouvelles valeurs (inconnues).

  9. Effectuez l’apprentissage du modèle.

    • Si vous définissez Create trainer mode (Créer un mode d’apprentissage) sur Single Parameter (Paramètre unique), connectez un jeu de données balisé au module Entraîner le modèle.

    • Si vous définissez Créer un mode d’entraînement sur Plage de paramètres, connectez un jeu de données avec balises et entraînez le modèle en utilisant 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 que vous avez spécifiée est utilisée tout au long du balayage, même si d’autres paramètres changent sur une plage de valeurs.

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.

Exemples

Pour obtenir des exemples d’utilisation des arbres de décision renforcés dans Machine Learning, consultez la Azure ai Gallery:

  • Marketing direct: utilise l’algorithme d’arbre de décision optimisé à deux classes pour prédire les appétence clients.

  • Prédiction de retard de vol: cet exemple utilise l’algorithme d’arbre de décision optimisé à deux classes pour déterminer si un vol est susceptible d’être retardé.

  • Risque de carte de crédit: cet exemple utilise l’algorithme d’arbre de décision optimisé à deux classes pour prédire le risque.

Notes techniques

Cette section contient les détails de l’implémentation et les questions fréquemment posées.

Conseils d’utilisation

  • Pour effectuer l’apprentissage d’un modèle d’arbre de décision optimisé, vous devez fournir plusieurs instances de données. Une erreur est générée au cours du processus d’apprentissage si le jeu de données contient trop peu de lignes.

  • Si vos données contiennent des valeurs manquantes, vous devez ajouter des indicateurs pour les fonctionnalités.

  • En général, les arbres de décision augmentés produisent les meilleurs résultats quand les fonctionnalités sont similaires. Si les fonctionnalités ont un grand degré d’entropie (c’est-à-dire qu’elles ne sont pas liées), elles partagent peu ou pas d’informations mutuelles, et leur classement dans une arborescence ne produit pas beaucoup d’importance prédictive. Si ce n’est pas le cas, vous pouvez essayer un modèle de forêts aléatoires.

    L’amélioration fonctionne également bien lorsque vous avez beaucoup plus d’exemples que de fonctionnalités, car le modèle est sujet au surajustement.

  • Ne normalisez pas le jeu de données. Étant donné que le traitement des fonctionnalités est une comparaison simple, non paramétrée, inférieure ou supérieure à, la normalisation ou toute forme de fonction de transformation non monotone peut avoir peu d’effet.

  • Les fonctionnalités sont discrétisées et placées dans un conteneur avant l'apprentissage, de manière à ce qu'un seul ensemble relativement réduit de candidats de seuil soit considéré, même pour les fonctions en continu.

Informations d’implémentation

Pour plus d’informations sur l’algorithme d’arbre de décision optimisé, consultez estimation de fonction gourmande : ordinateurs avec dégradé Booster.

l’algorithme d’arbre de décision optimisé dans Machine Learning utilise la méthode d’amélioration suivante :

  1. Démarrez avec un ensemble vide d'apprenants faibles.

  2. Pour chaque exemple d'apprentissage, obtenez la sortie actuelle de l'ensemble. Il s’agit de la somme des sorties de tous les apprenants faibles de l’ensemble.

  3. Calcule le dégradé de la fonction de perte pour chaque exemple.

    Cela varie selon que la tâche est un problème de classification binaire ou un problème de régression.

    • Dans un modèle de classification binaire, la perte logarithmique est utilisée, à peu près comme dans la régression logistique.

    • Dans un modèle de régression, la perte quadratique est utilisée, et le gradient est la sortie actuelle, moins la cible.

  4. Utilisez les exemples pour faire tenir un apprenant faibleen utilisant le dégradé simplement défini comme fonction cible.

  5. Ajoutez cet apprenant faible à l'ensemble avec une puissance indiquée par le taux d'apprentissage et, si vous le souhaitez, passez à l'étape 2.

    Dans cette implémentation, les apprenants faibles sont les arbres de régression des moindres carrés, basés sur les dégradés calculés à l’étape 3. Les arbres sont soumis aux restrictions suivantes :

    • Ils sont formés pour un nombre maximal de feuilles.

    • Chaque feuille possède un nombre minimal d'exemples pour éviter le surajustement.

    • Chaque nœud de décision est une fonctionnalité unique qui est comparée à un seuil. Cette fonctionnalité emprunte l'un ou l'autre chemin, selon qu'elle est soit inférieure ou égale au seuil, soit supérieure à celui-ci.

    • Chaque nœud terminal est une valeur constante.

  6. L’algorithme de construction d’arborescence greedily sélectionne la fonctionnalité et le seuil pour lesquels un fractionnement réduit la perte au carré en ce qui concerne le dégradé calculé à l’étape 3. La sélection de la Division est soumise à un nombre minimal d’exemples d’apprentissage par feuille.

    L’algorithme fractionne à plusieurs reprises jusqu’à ce qu’il atteigne le nombre maximal de feuilles, ou jusqu’à ce qu’aucun fractionnement valide ne soit disponible.

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 autorisé par arbre
Nombre minimal d'échantillons par nœud terminal >=1 Integer 10 Spécifier le nombre minimal de cas requis pour former une feuille
Taux d’apprentissage [double.Epsilon;1.0] Float 0,2 Spécifier le taux d'apprentissage initial
Nombre 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 Quelconque Integer Tapez une valeur pour amorcer le générateur de nombres aléatoires utilisé par le modèle. Laissez le champ vide pour utiliser la valeur par défaut.
Autoriser les niveaux catégoriels inconnus Quelconque Boolean True Si la valeur est True, un niveau supplémentaire est créé pour chaque colonne catégorielle. Tous 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.

Output

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

Voir aussi

Classification
Régression d’arbre de décision boosté
Liste alphabétique des modules