Рисование трехмерной границы решения логистической регрессии

Я подогнал модель логистической регрессии, которая учитывает 3 переменные. Я хотел бы сделать трехмерный график точек данных и нарисовать границу решения (которая, я полагаю, здесь будет плоскостью).

Я нашел онлайн-пример, который относится к делу (чтобы вы могли загрузить данные напрямую)

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)


Границей решения будет трехмерная плоскость, которую вы можете построить с помощью любого пакета трехмерного построения в 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