Начертаване на 3D граница на решение на логистична регресия

Приспособих логистичен регресионен модел, който взема предвид 3 променливи. Бих искал да направя 3D диаграма на точките от данни и да начертая границата на решението (която предполагам, че тук ще бъде равнина).

Намерих онлайн пример, който се отнася за случая (така че можете да заредите данните директно)

mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")

Мислех да използвам пакета 3Dscatterplot, но не съм сигурен какво уравнение трябва да напиша, за да начертая границата. Някакви идеи?

Много благодаря,


person Error404    schedule 02.10.2014    source източник


Отговори (1)


Границата на решението ще бъде 3-d равнина, която можете да начертаете с всеки пакет за 3-d чертане в R. Ще използвам persp, като дефинирам x-y мрежа и след това изчисля съответната z стойност с функцията outer:

# Use iris dataset for example logistic regression
data(iris)
iris$long <- as.numeric(iris$Sepal.Length > 6)
mod <- glm(long~Sepal.Width+Petal.Length+Petal.Width, data=iris, family="binomial")

# Plot 50% decision boundary; another cutoff can be achieved by changing the intercept term
x <- seq(2, 5, by=.1)
y <- seq(1, 7, by=.1)
z <- outer(x, y, function(x, y) (-coef(mod)[1] - coef(mod)[2]*x - coef(mod)[3]*y) /
       coef(mod)[4])
persp(x, y, z, col="lightblue")

въведете описание на изображението тук

person josliber♦    schedule 02.10.2014