Trazado manual de línea de límite recta en Perceptron
[El material pertenece a laCurso de aprendizaje automático de Coursera por Andrew Ng]
Obtuve uno de los ejercicios para trabajar en R (podría haber optado por Python, no es esencial para la pregunta), utilizando una metodología diferente, y obtuve el siguiente diagrama con la línea de decisión de límite:
Los puntos rojos fueron admitidos en una universidad, mientras que el resto no.
La pregunta no es cómo obtener la línea en la trama, sino por qué funciona la siguiente línea del código adaptada a R de los materiales del curso:
y = c((-1/coefs[3]) * (coefs[2] * x + coefs[1]))
Por lo tanto, en realidad se trata de las matemáticas que sustentan este comando. Los coeficientes corresponden a los coeficientes de regresión logística.
Aquí está el conjunto de datos, y aquí está el código completo:
dat = read.csv("perceptron.txt", header=F)
is.data.frame(dat)
colnames(dat) = c("test1","test2","y")
head(dat)
plot(test2 ~ test1, col = as.factor(y), pch = 20, data=dat)
fit = glm(y ~ test1 + test2, family = "binomial", data = dat)
coefs = coef(fit)
(x = c(min(dat[,1])-2, max(dat[,1])+2))
(y = c((-1/coefs[3]) * (coefs[2] * x + coefs[1])))
lines(x, y)