2012-09-05 2 views
5

У меня есть набор данных, состоящий из дихотомической переменной (Y) и 12 независимых переменных (X1 - X12), хранящихся в CSV-файле. Вот первые 5 рядов данных:Таблица классификации для логистической регрессии в R

Y,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12 
0,9,3.86,111,126,14,13,1,7,7,0,M,46-50 
1,7074,3.88,232,4654,143,349,2,27,18,6,M,25-30 
1,5120,27.45,97,2924,298,324,3,56,21,0,M,31-35 
1,18656,79.32,408,1648,303,8730,286,294,62,28,M,25-30 
0,3869,21.23,260,2164,550,320,3,42,203,3,F,18-24 

Я построил модель логистической регрессии из данных, используя следующий код:

mydata <- read.csv("data.csv")  
mylogit <- glm(Y~X1+X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12, data=mydata, 
       family="binomial") 
mysteps <- step(mylogit, Y~X1+X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12, data=mydata, 
       family="binomial") 

можно получить предсказанные вероятности для каждого из данных с использованием коды :

theProbs <- fitted(mysteps) 

Теперь я хотел бы создать таблицу классификации - используя первые 20 строк таблицы данных (mydata) - от которого я могу определить Perce на уровне предсказанных вероятностей, которые фактически согласуются с данными. Обратите внимание, что для зависимой переменной (Y) 0 представляет вероятность, которая меньше 0,5, а 1 представляет вероятность, которая больше 0,5.

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

+6

насчет 'таблицы (theProbs> 0,5, MYDATA $ Y)' (это легко Подмножество на первые 20 наблюдений)? – chl

+0

Спасибо миллиону Чи. Я думаю, что это именно то, что мне нужно. Еще раз спасибо и с наилучшими пожеланиями. –

ответ

1

Я думаю, что «круглый» может выполнять эту работу здесь.
стол (круглый (theProbs))

8

Вопрос немного старый, но я считаю, что если кто-то ищет архивы, это может помочь. Это легко сделать с помощью xtabs

classDF <- data.frame(response = mydata$Y, predicted = round(fitted(mysteps),0)) 

xtabs(~ predicted + response, data = classDF) 

, который будет производить таблицу, как это:

  response 
predicted 0 1 
     0 339 126 
     1 130 394 
Смежные вопросы