Таблица классификации и кривая ROC - логистическая регрессия в R с использованием lrm

Я хочу иметь классификационную таблицу для логистической регрессии с использованием функции lrm в пакете rms, а затем построить кривую roc. Я выполнил это с помощью функции glm. Пример кода

train<-sample(dim(data)[1],.8*dim(data)[1]) #80-20 training/test
datatrain<-data[train,]
datatest<-data[-train,]
fit<-glm(Target ~ ., data=datatrain,family=binomial()) #Target is 0/1 variable
prob=predict(fit,type=c("response"),datatest)
datatest$prob=prob
library(pROC)
ROC <- roc(Target==1 ~ prob, data = datatest)
plot(ROC)
confusion<-table(prob>0.5,datatest$Target)
errorrate<-sum(diag(confusion))/sum(confusion)
errorrate

Как получить матрицу путаницы с помощью функции lrm?


person Sup    schedule 27.11.2013    source источник


Ответы (1)


Функция lrm возвращает подходящий объект, унаследованный от класса glm. На справочной странице lrm это явно не указано, но это достаточно легко проверить. После запуска кода настройки в первом примере на странице ?lrm

> f <- lrm(ch ~ age)
> class(f)
[1] "lrm" "rms" "glm"

Таким образом, вы должны иметь возможность использовать обычный predict метод, который вы использовали выше. Профессор Харрелл советует не использовать проверку по разделенной выборке и использовать кривые ROC для сравнения моделей. В своем пакете он предоставляет механизмы для лучших методов.

person IRTFM    schedule 27.11.2013