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.
- Consultez les informations sur le déplacement des projets de machine learning de ML Studio (classique) à Azure Machine Learning.
- En savoir plus sur Azure Machine Learning.
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
Ajoutez le module Régression logistique multiclasse à l’expérience.
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.
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.
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
ety = 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.
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.
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.
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 ».
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.
Exécutez l’expérience.
Résultats
Une fois l’apprentissage terminé :
- Pour afficher un résumé des paramètres du modèle, ainsi que les poids des fonctionnalités acquises à partir de la formation, cliquez avec le bouton droit sur la sortie du module former le modèle ou Réglez les hyperparamètres de modèle, puis sélectionnez visualiser.
Exemples
Pour obtenir des exemples d’utilisation de cet algorithme d’apprentissage, consultez la Azure ai Gallery:
Clustering Iris: compare les résultats de la régression logistique multiclasse avec le clustering K-signifiant.
Détection des intrusionssur le réseau : utilise la régression logistique binaire pour déterminer si un cas représente une intrusion.
Validation croisée pour les classifieurs binaires: illustre l’utilisation de la régression logistique dans un workflow expérimental standard, y compris l’évaluation du modèle.
Notes techniques
Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.
Recherche associée
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 :
- Formation évolutive de modèles de Log-Linear de L-1 réguliers, par Andrew et Gao.
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