Bagaimana merencanakan batas keputusan dalam R untuk model regresi logistik?


Jawaban:


24
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(...)
       })

teks alternatif

Saya harus berkomentar bahwa pemisahan sempurna terjadi di sini, karena itu glmfungsinya memberi Anda peringatan. Tapi itu tidak penting di sini karena tujuannya adalah untuk menggambarkan cara menggambar batas linear dan pengamatan diwarnai sesuai dengan kovariat mereka.


Saya harap saya tidak kuno jika saya menggunakan kisi :-)
suncoolsu

2
Saya juga berharap bahwa jika ini adalah masalah HW, Anda tidak akan hanya menyalin.
suncoolsu

Terima kasih. Ini bukan pertanyaan HW dan jawabannya sangat membantu bagi saya untuk memahami model saya.
user2755

oh ya, kamu :)
mpiktas

1
Adakah yang bisa menjelaskan logika di balik lereng dan mencegat saya? (Mengenai model logistik)
Fernando

22

Ingin menjawab pertanyaan dalam komentar untuk jawaban yang diterima di atas dari Fernando: Dapatkah seseorang menjelaskan logika di belakang lereng dan mencegat?

Hipotesis untuk regresi logistik mengambil bentuk:

hθ=g(z)

g(z)z

z=θ0+θ1x1+θ2x2

y=1hθ0.5

θ0+θ1x1+θ2x20

di atas adalah batas keputusan dan dapat disusun kembali sebagai:

x2θ0θ2+θ1θ2x1

y=mx+bmb


2
Penjelasan yang bagus menyertai jawaban di atas!
Augustin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.