Partager via


Informations techniques de référence sur l’algorithme de régression logistique Microsoft

L’algorithme Microsoft Logistic Regression est une variante de l’algorithme Microsoft Neural Network, où le paramètre HIDDEN_NODE_RATIO est défini sur 0. Ce paramètre crée un modèle de réseau neuronal qui ne contient pas de couche masquée, ce qui équivaut donc à la régression logistique.

Implémentation de l’algorithme de régression logistique Microsoft

Supposons que la colonne prédictible ne contient que deux états, mais que vous souhaitez toujours effectuer une analyse de régression, en rapportant les colonnes d’entrée à la probabilité que la colonne prédictible contienne un état spécifique. Le diagramme suivant illustre les résultats que vous obtiendrez si vous affectez 1 et 0 aux états de la colonne prédictible, calculez la probabilité que la colonne contiendra un état spécifique et effectuez une régression linéaire sur une variable d’entrée.

Données mal modélisées à l’aide de la régression linéaire

L’axe x contient des valeurs d’une colonne d’entrée. L’axe y contient les probabilités que la colonne prédictible soit un état ou l’autre. Le problème avec cela est que la régression linéaire ne limite pas la colonne à être comprise entre 0 et 1, même si ce sont les valeurs maximales et minimales de la colonne. Une façon de résoudre ce problème consiste à effectuer une régression logistique. Au lieu de créer une ligne droite, l’analyse de régression logistique crée une courbe en forme « S » qui contient des contraintes maximales et minimales. Par exemple, le diagramme suivant illustre les résultats que vous obtiendrez si vous effectuez une régression logistique sur les mêmes données que celles utilisées pour l’exemple précédent.

Données modélisées par régression logistique

Notez comment la courbe ne dépasse jamais 1 ou inférieure à 0. Vous pouvez utiliser la régression logistique pour décrire les colonnes d’entrée importantes pour déterminer l’état de la colonne prévisible.

Sélection de caractéristiques

La sélection des fonctionnalités est utilisée automatiquement par tous les algorithmes d’exploration de données Analysis Services pour améliorer l’analyse et réduire la charge de traitement. La méthode utilisée pour la sélection de caractéristiques dans un modèle de régression logistique dépend du type de données de l’attribut. Étant donné que la régression logistique est basée sur l’algorithme Microsoft Neural Network, elle utilise un sous-ensemble des méthodes de sélection de fonctionnalités qui s’appliquent aux réseaux neuronaux. Pour plus d’informations, consultez Sélection des fonctionnalités (exploration de données).

Entrées de scoring

Le scoring dans le contexte d’un modèle de réseau neuronal ou d’un modèle de régression logistique signifie que le processus de conversion des valeurs présentes dans les données en un ensemble de valeurs qui utilisent la même échelle et peut donc être comparé les uns aux autres. Par exemple, supposons que les entrées pour le revenu varient de 0 à 100 000, tandis que les entrées pour [Nombre d’enfants] sont comprises entre 0 et 5. Ce processus de conversion vous permet de noter ou de comparer l’importance de chaque entrée, quelle que soit la différence de valeurs.

Pour chaque état qui apparaît dans le jeu d’entraînement, le modèle génère une entrée. Pour les entrées discrètes ou discrétisées, une entrée supplémentaire est créée pour représenter l’état manquant, si l’état manquant apparaît au moins une fois dans le jeu d’entraînement. Pour les entrées continues, au plus deux nœuds d’entrée sont créés : un pour les valeurs manquantes, s’il est présent dans les données d’apprentissage, et une entrée pour toutes les valeurs existantes, ou non null. Chaque entrée est mise à l’échelle dans un format numérique à l’aide de la méthode de normalisation z-score, (x - μ)/StdDev.

Pendant la normalisation z-score, la moyenne (μ) et l’écart type sont obtenus sur l'ensemble complet d’entraînement.

Valeurs continues

La valeur est présente : (X - μ)/σ // X est la valeur réelle encodée)

La valeur est absente : - μ/σ // mu négatif divisé par sigma)

Valeurs discrètes

μ = p - (probabilité antérieure d’un état)

StdDev = sqrt(p(1-p))

La valeur est présente : (1 - μ)/σ// (Un moins mu) divisé par sigma)

La valeur est absente : (- μ)/σ// mu négatif divisé par sigma)

Présentation des coefficients de régression logistique

Il existe différentes méthodes dans la littérature statistique pour effectuer une régression logistique, mais une partie importante de toutes les méthodes évalue l’adéquation du modèle. Une variété de statistiques d'adéquation ont été proposées, parmi elles des rapports de cotes et des modèles de covariables. Une discussion sur la façon de mesurer l’adéquation d’un modèle dépasse le cadre de cette rubrique ; Toutefois, vous pouvez récupérer la valeur des coefficients dans le modèle et les utiliser pour concevoir vos propres mesures d’ajustement.

Remarque

Les coefficients créés dans le cadre d’un modèle de régression logistique ne représentent pas les ratios impairs et ne doivent pas être interprétés comme tels.

Les coefficients pour chaque nœud du graphique de modèle représentent une somme pondérée des entrées à ce nœud. Dans un modèle de régression logistique, la couche masquée est vide ; par conséquent, il n’existe qu’un seul ensemble de coefficients, qui est stocké dans les nœuds de sortie. Vous pouvez récupérer les valeurs des coefficients à l’aide de la requête suivante :

SELECT FLATTENED [NODE_UNIQUE NAME],
(SELECT ATTRIBUTE_NAME< ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) AS t
FROM <model name>.CONTENT
WHERE NODE_TYPE = 23

Pour chaque valeur de sortie, cette requête retourne les coefficients et un ID qui pointe vers le nœud d’entrée associé. Elle retourne également une ligne de données qui contient la valeur de la sortie et de l'interception. Chaque entrée X a son propre coefficient (Ci), mais la table imbriquée contient également un coefficient « libre » (Co), calculé en fonction de la formule suivante :

F(X) = X1*C1 + X2*C2 + ... +Xn*Cn + X0

Activation : exp(F(X)) / (1 + exp(F(X)) )

Pour plus d’informations, consultez Exemples de requêtes de modèle de régression logistique.

Personnalisation de l’algorithme de régression logistique

L’algorithme de régression logistique Microsoft prend en charge plusieurs paramètres qui affectent le comportement, les performances et la précision du modèle d’exploration de données résultant. Vous pouvez également modifier le comportement du modèle en définissant des indicateurs de modélisation sur les colonnes utilisées comme entrée.

Définition des paramètres d’algorithme

Le tableau suivant décrit les paramètres qui peuvent être utilisés avec l’algorithme Microsoft Logistic Regression.

HOLDOUT_PERCENTAGE Spécifie le pourcentage de cas dans les données d’entraînement utilisées pour calculer l’erreur de blocage. HOLDOUT_PERCENTAGE est utilisé dans le cadre des critères d’arrêt lors de l’apprentissage du modèle d’exploration de données.

La valeur par défaut est 30.

HOLDOUT_SEED Spécifie un nombre à utiliser pour amorçage du générateur pseudo-aléatoire lors de la détermination aléatoire des données de blocage. Si HOLDOUT_SEED est défini sur 0, l’algorithme génère la valeur initiale en fonction du nom du modèle d’exploration de données, pour garantir que le contenu du modèle reste le même pendant le retraitement.

La valeur par défaut est 0.

MAXIMUM_INPUT_ATTRIBUTES Définit le nombre d’attributs d’entrée que l’algorithme peut gérer avant d’appeler la sélection de fonctionnalités. Définissez cette valeur sur 0 pour désactiver la sélection des fonctionnalités.

La valeur par défaut est 255.

MAXIMUM_OUTPUT_ATTRIBUTES Définit le nombre d’attributs de sortie que l’algorithme peut gérer avant d’appeler la sélection de fonctionnalités. Définissez cette valeur sur 0 pour désactiver la sélection des fonctionnalités.

La valeur par défaut est 255.

MAXIMUM_STATES Spécifie le nombre maximal d’états d’attribut pris en charge par l’algorithme. Si le nombre d’états dont un attribut est supérieur au nombre maximal d’états, l’algorithme utilise les états les plus populaires de l’attribut et ignore les états restants.

La valeur par défaut est 100.

SAMPLE_SIZE Spécifie le nombre de cas à utiliser pour entraîner le modèle. Le fournisseur d’algorithmes utilise ce nombre ou le pourcentage de cas totaux qui ne sont pas inclus dans le pourcentage d’attente spécifié par le paramètre HOLDOUT_PERCENTAGE, selon la valeur la plus petite.

En d’autres termes, si HOLDOUT_PERCENTAGE est défini sur 30, l’algorithme utilise soit la valeur de ce paramètre, soit une valeur égale à 70 % du nombre total de cas, selon la valeur la plus petite.

La valeur par défaut est 1 0000.

Drapeaux de modélisation

Les indicateurs de modélisation suivants sont pris en charge pour une utilisation avec l’algorithme Microsoft Logistic Regression.

NOT NULL Indique que la colonne ne peut pas contenir de valeur Null. Une erreur se produit si Analysis Services rencontre une valeur Null pendant l’entraînement du modèle.

S'applique aux colonnes des structures minières.

MODEL_EXISTENCE_ONLY Signifie que la colonne sera traitée comme ayant deux états possibles : Missing et Existing. Une valeur Null est manquante.

S’applique à la colonne du modèle d’exploration de données.

Spécifications

Un modèle de régression logistique doit contenir une colonne clé, des colonnes d’entrée et au moins une colonne prévisible.

Colonnes d'entrée et colonnes prévisibles

L’algorithme Microsoft Logistic Regression prend en charge les types de contenu de colonne d’entrée spécifiques, les types de contenu de colonne prédictibles et les indicateurs de modélisation répertoriés dans le tableau suivant. Pour plus d’informations sur ce que signifient les types de contenu lorsqu’ils sont utilisés dans un modèle d’exploration de données, consultez Content Types (Exploration de données).

Colonne Types de contenu
Attribut d’entrée Continu, discret, discrétisé, clé, table
Attribut prédictible Continu, discret, discrétisé

Voir aussi

Microsoft Logistic Regression AlgorithmExemples de requête du modèle de régression linéaireContenu du modèle d'exploration de données pour les modèles de régression logistique (Analysis Services - Exploration de données)Algorithme de Réseau Neuronal Microsoft