Références techniques relatives à l'algorithme MLR (Microsoft Logistic Regression)

L'algorithme MLR (Microsoft Logistic Regression) est une variante de l'algorithme MNN (Microsoft Neural Network), où le paramètre HIDDEN_NODE_RATIO à la valeur 0. Ce paramètre crée un modèle de réseau neuronal qui ne contient pas de couche masquée et qui, par conséquent, est équivalent à la régression logistique.

Implémentation de l'algorithme MLR (Microsoft Logistic Regression)

Supposons que la colonne prédictible contient uniquement deux états, mais que vous souhaitez tout de même effectuer une analyse de régression, en associant les colonnes d'entrée à la probabilité que la colonne prédictible contiendra un état spécifique. Le diagramme suivant représente les résultats obtenus en attribuant les valeurs 1 et 0 aux états de la colonne prédictible, en calculant la probabilité que la colonne contiendra un état spécifique et en effectuant une régression linéaire par rapport à une variable d'entrée.

Données incorrectement modélisées utilisant une régression linéaire

L'axe des abscisses (X) contient les valeurs d'une colonne d'entrée. L'axe des ordonnées (Y) contient les probabilités que la colonne prédictible contiendra l'un ou l'autre des états. Le problème de cette méthode est que la régression linéaire ne contraint pas la colonne à avoir une valeur comprise entre 0 et 1, même s'il s'agit des valeurs minimale et maximale de la colonne. Vous pouvez effectuer une régression logistique pour résoudre ce problème. Au lieu de créer une ligne droite, l'analyse de régression logistique crée une courbe en forme de « S » contenant les contraintes de valeur maximale et minimale. Par exemple, le diagramme suivant représente les résultats obtenus en effectuant une régression logistique par rapport aux mêmes données que pour l'exemple précédent.

Données modélisées à l'aide d'une régression logistique

Notez que la courbe reste toujours entre la valeur 1 et la valeur 0. Vous pouvez utiliser la régression logistique pour identifier les colonnes d'entrée qui jouent un rôle important dans la détermination de l'état de la colonne prédictible.

Sélection des fonctionnalités

La sélection des fonctionnalités est automatiquement utilisée 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 des fonctionnalités dans un modèle de régression logistique dépend du type de données de l'attribut. La régression logistique étant basée sur l'algorithme MNN (Microsoft Neural Network), elle utilise un sous-ensemble de 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 pour l'exploration de données.

Calcul de score des entrées

Le score dans le contexte d'un modèle de réseau neuronal ou de régression logistique désigne le processus de conversion des valeurs présentes dans les données d'un jeu de valeurs qui utilisent la même échelle et qui, par conséquent, peuvent être comparées les unes aux autres. Par exemple, supposons que les entrées pour la plage Income sont comprises entre de 0 à 100 000 et que celles pour [Number of Children] sont comprises entre 0 et 5. Ce processus de conversion vous permet d'évaluer, ou de comparer, l'importance de chaque d'entrée indépendamment de la différence des valeurs.

Pour chaque état qui apparaît dans le jeu d'apprentissage, 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 s'il apparaît au moins une fois dans le jeu d'apprentissage. Pour les entrées continues, deux nœuds d'entrée sont créés au plus : un pour les valeurs manquantes, si elles sont présentes 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 à un format numérique à l'aide de la méthode de normalisation z-score (x – μ)/StdDev).

Lors de la normalisation z-score, la moyenne (μ) et l'écart type sont obtenus sur le jeu d'apprentissage complet.

Valeurs continues

La valeur est présente : X – μ)/σ // X is the actual value being encoded)

La valeur est absente : - μ/σ  // negative mu divided by sigma)

Valeurs discrètes

μ = p – (the prior probability of a state)

StdDev  = sqrt(p(1-p))

La valeur est présente : (1 – μ)/σ// (One minus mu) divided by sigma)

La valeur est absente : (– μ)/σ// negative mu divided by sigma)

Présentation des coefficients de régression logistique

La documentation statistique présente différentes méthodes pour effectuer la régression logistique, mais une part importante de toutes ces méthodes évalue l'adéquation du modèle. Un grand nombre de statistiques adéquates ont été proposées, dont des rapports de cotes et des modèles de covariance. La méthode utilisée pour mesurer l'adéquation d'un modèle n'est pas traitée dans 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'adéquation.

Notes

Les coefficients créés dans le cadre d'un modèle de régression logistique ne représentent pas les rapports de cotes et ne doivent pas être interprétés comme tel.

Les coefficients pour chaque nœud dans le graphique du modèle représentent une somme pondérée des entrées vers 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 jeu 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 en retour vers le nœud d'entrée associé. Elle retourne également une ligne qui contient la valeur de la sortie et de l'ordonnée à l'origine. Chaque entrée X a son propre coefficient (Ci), mais la table imbriquée contient également un coefficient « libre » (Co), calculé d'après 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 Interrogation d'un modèle de régression logistique (Analysis Services - Exploration de données).

Personnalisation de l'algorithme Logistic Regression

L'algorithme MLR (Microsoft Logistic Regression) 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ées.

Définition de paramètres d'algorithme

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

  • HOLDOUT_PERCENTAGE
    Spécifie le pourcentage de cas extraits des données d'apprentissage pour calculer l'erreur d'exclusion. HOLDOUT_PERCENTAGE constitue l'un des critères d'arrêt pendant 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 définir la valeur de départ du générateur pseudo-aléatoire lors de l'identification des données d'exclusion. Si HOLDOUT_SEED a la valeur 0, l'algorithme génère la valeur de départ en fonction du nom du modèle d'exploration de données afin de garantir que le contenu du modèle reste inchangé lors du retraitement.

    La valeur par défaut est 0.

  • MAXIMUM_INPUT_ATTRIBUTES
    Définit le nombre d'attributs d'entrée que l'algorithme peut traiter avant d'appeler la sélection des fonctionnalités. La valeur 0 désactive 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 traiter avant d'appeler la sélection des fonctionnalités. La valeur 0 désactive la sélection des fonctionnalités.

    La valeur par défaut est 255.

  • MAXIMUM_STATES
    Spécifie le nombre maximal d'états d'attribut que l'algorithme prend en charge. Si le nombre d'états d'un attribut est supérieur au nombre maximal d'états, l'algorithme sélectionne les états les plus fréquents pour cet attribut et ignore les autres.

    La valeur par défaut est 100.

  • SAMPLE_SIZE
    Spécifie le nombre de cas à utiliser pour l'apprentissage du modèle. Le fournisseur d'algorithme utilise soit ce nombre, soit le pourcentage du nombre total de cas non inclus dans le pourcentage d'exclusion conformément au paramètre HOLDOUT_PERCENTAGE, la plus petite valeur étant retenue.

    En d'autres termes, si HOLDOUT_PERCENTAGE a la valeur 30, l'algorithme utilisera soit la valeur de ce paramètre, soit une valeur égale à 70 % du nombre total de cas, la plus petite valeur étant retenue.

    La valeur par défaut est 10 000.

Indicateurs de modélisation

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

  • NOT NULL
    Indique que la colonne ne peut pas contenir de valeur Null. Une erreur est générée si Analysis Services rencontre une valeur Null au cours de l'apprentissage du modèle.

    S'applique aux colonnes de structure d'exploration de données.

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

    S'applique à la colonne de 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édictible.

Colonnes d'entrée et prédictibles

L'algorithme MLR (Microsoft Logistic Regression) prend en charge les types de contenu de colonne d'entrée, les types de contenu de colonne prédictible et les indicateurs de modélisation spécifiques répertoriés dans le tableau suivant. Pour plus d'informations sur ce que les types de contenu impliquent lorsqu'ils sont utilisés dans un modèle d'exploration de données, consultez Types de contenu (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é