Régression logistique à 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 modèle de régression logistique à deux classes.

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

La régression logistique est une technique statistique connue utilisée pour modéliser de nombreux types de problèmes. Cet algorithme est une méthode d’apprentissage supervisé. Par conséquent, vous devez fournir un jeu de données qui contient déjà les résultats pour former le modèle.

En savoir plus sur la régression logistique

La régression logistique est une méthode bien connue en statistiques qui sert à déterminer 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 ce module, l’algorithme de classification est optimisé pour les variables dichotomiques ou binaires. Si vous avez besoin de classer plusieurs résultats, utilisez le module de régression logistique multiclasse.

Comment configurer Two-Class régression logistique

Pour entraîner ce modèle, vous devez fournir un jeu de données qui contient une colonne d’étiquette ou de classe. Étant donné que ce module est destiné aux problèmes à deux classes, la colonne d’étiquette ou de classe doit contenir exactement deux valeurs.

Par exemple, la colonne d’étiquette peut être [Voté], avec les valeurs possibles « Oui » ou « Non ». Ou bien, elle peut être [Risque de crédit], avec les valeurs possibles « Élevé » ou « Faible ».

  1. Ajoutez le module de régression logistique à deux classes à votre expérience dans Studio (Classic).

  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: Si vous n’êtes pas sûr des meilleurs paramètres, vous pouvez trouver les paramètres optimaux en spécifiant plusieurs valeurs et en utilisant le module régler le modèle hyperparamètres pour trouver la configuration optimale. L’instructeur effectue une itération sur plusieurs combinaisons des paramètres et détermine la combinaison des valeurs qui produit le meilleur modèle.

  3. Pour la tolérance d’optimisation, spécifiez une valeur de seuil à utiliser lors de l’optimisation du modèle. Si l’amélioration entre les itérations tombe au-dessous du seuil spécifié, on considère que l’algorithme a convergé vers une solution, et l’entraînement cesse.

  4. Pour la pondération de régularisation L1 et la pondération de régularisation L2, 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 qui sert à empêcher le surajustement en pénalisant les modèles avec 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. Par conséquent, un modèle précis avec des valeurs de coefficient extrêmes est plus pénalisé, mais 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 du contrat de régularisation.

    Notes

    Vous souhaitez en savoir plus sur la régularisation L1 et L2 ? L’article suivant explore les différences entre les régularisations L1 et L2 et comment elles influent sur l’ajustement du modèle, avec des exemples de code pour les modèles de régression logistique et de réseau neuronal : Régularisations L1 et L2 pour l’apprentissage automatique

    Différentes combinaisons linéaires de termes L1 et L2 ont été imaginées pour les modèles de régression logistique : par exemple, régularisation de réseau élastique. Nous vous suggérons de faire référence à ces combinaisons pour définir une combinaison linéaire est efficace dans votre modèle.

  5. Pour la taille de la mémoire pour L-BFGS, spécifiez la quantité de mémoire à utiliser pour l’optimisation L-BFGS.

    L-BFGS est l’acronyme de « limited memory Broyden-Fletcher-Goldfarb-Shanno ». Il s’agit d’un algorithme d’optimisation souvent utilisé pour l’estimation des paramètres. Ce paramètre indique le nombre de positions passées et de gradients à stocker pour le calcul de l’étape suivante.

    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. Pour la valeur initiale aléatoire, saisissez une valeur entière. Il est important de définir une valeur de départ si vous souhaitez obtenir des résultats reproductibles sur plusieurs exécutions de la même expérience.

  7. Sélectionnez l’option autoriser les niveaux de catégorie inconnue pour créer un niveau « inconnu » supplémentaire dans chaque colonne catégorique. Dans ce cas, toutes les valeurs (niveaux) du jeu de données de test qui ne sont pas disponibles dans le jeu de données d’apprentissage sont mappées à ce niveau « inconnu ».

  8. Ajoutez un jeu de données avec balises à l’expérience, puis connectez l’un des modules de formation.

    Notes

    Si vous transmettez une plage de paramètres pour former le modèle, elle utilise uniquement la première valeur de la liste des plages de paramètres.

    Si vous transmettez un ensemble unique de valeurs de paramètre au module paramétrer les hyperparamètres de modèle , lorsqu’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 seule valeur pour n’importe quel 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é :

  • 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 modèle d’apprentissage ou Réglez les hyperparamètres de modèle, puis sélectionnez visualiser.

  • Pour effectuer des prévisions sur de nouvelles données, utilisez le modèle entraîné et les nouvelles données en tant qu’entrée pour le module de notation de modèle.

  • Pour effectuer une validation croisée par rapport à un jeu de données étiqueté, connectez les données et le modèle non formé pour la validation croisée du modèle.

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.

Conseils d’utilisation

La régression logistique requiert des variables numériques. par conséquent, lorsque vous utilisez 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)-remarques.) Si vous souhaitez gérer différemment les dates et les heures, nous vous suggérons de créer une colonne dérivée.

Informations d’implémentation

La régression logistique 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 D qui contient 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.

Recherche

Pour plus d’informations sur l’implémentation de cet algorithme, consultez formation évolutive de modèles de Log-Linear périodiques de L-1, par Andrew et Gao.

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 la régularisation L1
Poids de régularisation L2 >= 0,0 Float 1.0 Spécifier le poids du régularisation L2
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.
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.

Output

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 multiclasse

Liste alphabétique des modules