Partager via


Régression logistique multiclasse

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 classification de régression logistique multiclasse

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 multiclass logistique regression dans Machine Learning Studio (classic) pour créer un modèle de régression logistique qui peut être utilisé pour prédire plusieurs valeurs.

La classification à l’aide de la régression logistique est une méthode d’apprentissage supervisé qui nécessite donc un jeu de données étiqueté. Vous pouvez effectuer l’apprentissage du modèle en fournissant le modèle et le jeu de données étiqueté comme entrée à un module, par exemple former un modèle ou paramétrer les hyperparamètres de modèle. Le modèle entraîné est ensuite utilisable pour prédire les valeurs de nouveaux exemples d’entrées.

Machine Learning Studio (classic) fournit également un module de régression logistique à deux classes , qui est adapté à la classification des variables binaires ou des dichotomiques.

En savoir plus sur la régression logistique multiclasse

La régression logistique est une méthode bien connue dans les statistiques qui est utilisée pour prédire la probabilité d’un résultat, et est particulièrement populaire pour les tâches de classification. L’algorithme prédit la probabilité d’occurrence d’un événement en ajustant les données à une fonction logistique. Pour plus d'informations sur cette implémentation, voir la section Notes techniques.

Dans une régression logistique multiclasse, le classifieur permet de prédire plusieurs résultats.

Comment configurer une régression logistique multiclasse

  1. Ajoutez le module Régression logistique multiclasse à l’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) : 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: utilisez cette option si vous n’êtes pas sûr des meilleurs paramètres et que vous souhaitez utiliser un balayage de paramètre.

  3. Tolérance d’optimisation : spécifiez la valeur de seuil de convergence de l’optimiseur. Si l’amélioration entre les itérations est inférieure à ce seuil, l’algorithme s’arrête et renvoie le modèle actuel.

  4. L1 regularization weight (Pondération de régularisation L1), L2 regularization weight (L2 regularization weight) : saisissez une valeur à utiliser pour les paramètres de régularisation L1 et L2. La définition d’une valeur non nulle est recommandée pour les deux options.

    La régularisation est une méthode permettant d’empêcher le surajustement en pénalisant les modèles qui présentent des valeurs de coefficient extrêmes. La régularisation fonctionne en ajoutant la pénalité associée aux valeurs de coefficient à l’erreur de l’hypothèse. Un modèle précis avec des valeurs de coefficient extrêmes est pénalisé davantage, alors qu’un modèle moins précis avec des valeurs plus conservatrices est moins pénalisé.

    Les régularisations L1 et L2 ont différents effets et cas d’utilisation. La régularisation L1 est applicable aux modèles dispersés, ce qui est utile lorsque vous travaillez avec des données de grande dimension. En revanche, la régularisation L2 est préférable pour les données qui ne sont pas dispersées. Cet algorithme prend en charge une combinaison linéaire de valeurs de régularisation L1 et L2 : autrement dit, si x = L1 et y = L2, ax + by = c définit l’étendue linéaire des termes de régularisation.

    Différentes combinaisons linéaires de termes L1 et L2 ont été imaginées pour les modèles de régression logistique, comme la régularisation de réseau élastique.

  5. Taille de la mémoire pour l-BFGS: spécifiez la quantité de mémoire à utiliser pour l’optimisation l-BFGS . Ce paramètre indique le nombre de positions passées et de gradients à stocker pour le calcul de l’étape suivante.

    L-BFGS est l'acronyme de Limited memory Broyden-Fletcher-Goldfarb-Shanno. C'est un algorithme d'optimisation qui est souvent utilisé pour l'estimation des paramètres. Ce paramètre d’optimisation limite la quantité de mémoire utilisée pour calculer l’étape suivante et la direction. Lorsque vous spécifiez moins de mémoire, l’apprentissage est plus rapide mais moins précis.

  6. Random number seed (Valeur de départ aléatoire) : saisissez une valeur entière à utiliser comme valeur initiale pour l’algorithme si vous souhaitez que les résultats puissent se répéter à chaque exécution. Sinon, une valeur d’horloge système est utilisée comme valeur initiale, ce qui peut générer des résultats légèrement différents dans les diverses exécutions d’une même expérience.

  7. Autoriser les niveaux de catégorie inconnus: sélectionnez cette option pour créer un niveau « inconnu » supplémentaire dans chaque colonne catégorique. Toutes les valeurs (niveaux) du jeu de données de test qui ne sont pas présentes dans le jeu de données d’apprentissage sont mappées à ce niveau « inconnu ».

  8. Connectez un jeu de données étiqueté, ainsi que l’un des modules d’apprentissage :

    • Si vous définissez Créer un mode d’apprentissage sur Paramètre unique, utilisez le module Entraîner le du 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. Avec cette option, vous pouvez spécifier plusieurs valeurs et l’instructeur effectue une itération sur plusieurs combinaisons des paramètres pour déterminer la combinaison de valeurs qui produit le meilleur 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.

  9. Exécutez l’expérience.

Résultats

Une fois l’apprentissage terminé :

Exemples

Pour obtenir des exemples d’utilisation de cet algorithme d’apprentissage, 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.

Vous souhaitez en savoir plus sur la régularisation L1 et L2 ? L’article suivant présente les différences entre les régularisations L1 et L2 et leur impact sur le modèle d’ajustement, avec des exemples de code pour la régression logistique et les modèles de réseau neuronal.

Pour plus d’informations sur l’implémentation de cet algorithme, consultez :

Informations d’implémentation

La régression logistique requiert des variables numériques. par conséquent, lorsque vous essayez d’utiliser des colonnes catégoriques en tant que variable, Machine Learning convertit les valeurs en un tableau d’indicateurs en interne.

Pour les dates et les heures, une représentation numérique est utilisée. Pour plus d’informations sur les valeurs de date et d’heure, consultez DateTime, Structure .NET Framework. Si vous souhaitez gérer différemment les dates et les heures, nous vous suggérons de créer une colonne dérivée.

La régression logistique standard est binomiale et suppose deux classes de sortie. La régression logistique multiclasse ou multimultinomiale utilise au moins trois classes de sortie.

La régression logistique binomiale suppose une distribution logistique des données, où la probabilité qu’un exemple appartienne à la classe 1 est la formule :

p(x;β0,…, βD-1)

Où :

  • x est un vecteur dimensionnel D- contenant les valeurs de toutes les fonctionnalités de l'instance.

  • p est la fonction de distribution logistique.

  • β{0},..., β {D-1} paramètres inconnus de la distribution logistique.

L’algorithme essaie de trouver les valeurs optimales pour β{0},..., β {D-1} en optimisant la probabilité du journal des paramètres en fonction des entrées. L’optimisation est effectuée à l’aide d’une méthode populaire pour l’estimation des paramètres, appelée mémoire limitée BFGS.

Paramètres du module

Nom Plage Type Default Description
Tolérance d'optimisation >=double.Epsilon Float 0,0000001 Spécifiez une valeur de tolérance pour l'optimiseur L-BFGS.
Poids de régularisation L1 >= 0,0 Float 1.0 Spécifiez le poids de régularisation L1. Utilisez une valeur différente de zéro pour éviter le surajustement.
Poids de régularisation L2 >= 0,0 Float 1.0 Spécifiez le poids du régularisation L2. Utilisez une valeur différente de zéro pour éviter le surajustement.
Taille de la mémoire pour L-BFGS >=1 Integer 20 Spécifiez la quantité de mémoire (en Mo) à utiliser pour l'optimiseur L-BFGS. Quand moins de mémoire est utilisée, l'apprentissage est plus rapide, mais moins précis.
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 Indiquez si un niveau supplémentaire doit être 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.

Sorties

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

Voir aussi

Classification
Régression logistique à deux classes
Liste alphabétique des modules