La régression logistique est d'abord une régression. Il devient un classifieur en ajoutant une règle de décision. Je vais donner un exemple qui revient en arrière. Autrement dit, au lieu de prendre des données et d'ajuster un modèle, je vais commencer par le modèle afin de montrer en quoi il s'agit vraiment d'un problème de régression.
Dans la régression logistique, nous modélisons les cotes de log, ou logit, qu'un événement se produit, qui est une quantité continue. Si la probabilité que l'événement se produise est , les chances sont:UNEP( A )
P( A )1 - P( A )
Les cotes du journal sont donc:
Journal( P( A )1 - P( A ))
Comme dans la régression linéaire, nous modélisons cela avec une combinaison linéaire de coefficients et de prédicteurs:
logit = b0+ b1X1+ b2X2+ ⋯
Imaginez qu'on nous donne un modèle indiquant si une personne a les cheveux gris. Notre modèle utilise l'âge comme seul prédicteur. Ici, notre événement A = une personne a les cheveux gris:
log cotes de cheveux gris = -10 + 0,25 * âge
...Régression! Voici du code Python et un tracé:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
x = np.linspace(0, 100, 100)
def log_odds(x):
return -10 + .25 * x
plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")
Maintenant, faisons-en un classificateur. Premièrement, nous devons transformer les cotes logarithmiques pour obtenir notre probabilité . Nous pouvons utiliser la fonction sigmoïde:P( A )
P( A ) = 11 + exp( - enregistrer les cotes ) )
Voici le code:
plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")
La dernière chose dont nous avons besoin pour en faire un classificateur est d'ajouter une règle de décision. Une règle très courante consiste à classer un succès chaque fois que . Nous adopterons cette règle, ce qui implique que notre classificateur prédira les cheveux gris chaque fois qu'une personne aura plus de 40 ans et prédira les cheveux non gris chaque fois qu'une personne a moins de 40 ans.P( A ) > 0,5
La régression logistique fonctionne très bien comme classificateur dans des exemples plus réalistes aussi, mais avant de pouvoir être un classifieur, il doit s'agir d'une technique de régression!