Comment tracer la frontière de décision dans R pour le modèle de régression logistique?

16

J'ai fait un modèle de régression logistique en utilisant glm dans R. J'ai deux variables indépendantes. Comment puis-je tracer la frontière de décision de mon modèle dans le nuage de points des deux variables. Par exemple, comment puis-je tracer un chiffre comme: http://onlinecourses.science.psu.edu/stat557/node/55

Merci.

user2755
la source
2
Le lien vers la figure est mort.
Nick Stauner

Réponses:

25
set.seed(1234)

x1 <- rnorm(20, 1, 2)
x2 <- rnorm(20)

y <- sign(-1 - 2 * x1 + 4 * x2 )

y[ y == -1] <- 0

df <- cbind.data.frame( y, x1, x2)

mdl <- glm( y ~ . , data = df , family=binomial)

slope <- coef(mdl)[2]/(-coef(mdl)[3])
intercept <- coef(mdl)[1]/(-coef(mdl)[3]) 

library(lattice)
xyplot( x2 ~ x1 , data = df, groups = y,
   panel=function(...){
       panel.xyplot(...)
       panel.abline(intercept , slope)
       panel.grid(...)
       })

texte alternatif

Je dois remarquer que la séparation parfaite se produit ici, donc la glmfonction vous donne un avertissement. Mais ce n'est pas important ici car le but est d'illustrer comment dessiner la frontière linéaire et les observations colorées selon leurs covariables.

suncoolsu
la source
J'espère que je ne suis pas démodé si j'utilise un treillis :-)
suncoolsu
2
J'espère également que s'il s'agit d'un problème matériel, vous ne copierez pas simplement coller.
suncoolsu
Merci. Ce n'est pas une question matérielle et la réponse est utile pour moi de comprendre mon modèle.
user2755
oh oui vous êtes :)
mpiktas
1
Quelqu'un peut-il m'expliquer la logique derrière la pente et l'interception? (concernant le modèle logistique)
Fernando
22

Je voulais répondre à la question en commentaire de la réponse acceptée ci-dessus de Fernando: quelqu'un peut-il expliquer la logique derrière la pente et l'interception?

L'hypothèse de régression logistique prend la forme:

hθ=g(z)

g(z)z

z=θ0+θ1X1+θ2X2

y=1hθ0,5

θ0+θ1X1+θ2X20

ce qui précède est la frontière de décision et peut être réorganisé comme:

X2-θ0θ2+-θ1θ2X1

y=mX+bmb

Andy
la source
2
Bonne explication accompagnant la réponse ci-dessus!
Augustin