Как построить кривую ROC для лучшей модели в RFE в каретном пакете - PullRequest
0 голосов
/ 03 октября 2018

Можно ли построить кривую ROC для лучшей модели после выбора функции в пакете RFE?

Мой код выглядит следующим образом:

set.seed(12)
rfFuncs$summary <- twoClassSummary
rfeControl = rfeControl(rfFuncs)
trainctrl <- trainControl(classProbs= TRUE, summaryFunction = 
twoClassSummary, savePredictions = TRUE)
control <- rfeControl(functions=rfFuncs, method="LOOCV", 
returnResamp="final")
feat.sel <- rfe(bd_ud[, c(1:10)], bd_ud$diagnosis, 
sizes=c(1:10), rfeControl=control, method="svmLinear", metric = 
"ROC",     trControl=trainctrl)
print(feat.sel)
predictors(feat.sel)
plot(feat.sel, type=c("g", "o"))

И результаты:

Resampling performance over subset size:

Variables    ROC   Sens   Spec Selected
     1 0.5101 0.6481 0.5185         
     2 0.6337 0.5000 0.5926         
     3 0.6980 0.6296 0.6667        *
     4 0.6373 0.5741 0.6111         
     5 0.6349 0.5741 0.6111         
     6 0.6727 0.6296 0.5926         
     7 0.6406 0.5741 0.5926         
     8 0.6307 0.5926 0.5556         
     9 0.6557 0.5926 0.6111         
    10 0.6044 0.5741 0.5926  

Как можно построить кривую ROC для модели, которая выбрала 3 переменные (AUC = 0.6980)?

1 Ответ

0 голосов
/ 08 ноября 2018

Я хотел бы видеть несколько кривых roc для каждой модели, посмотрите это как пример с минимальным форматированием для ясности.

plot(0:1, 0:1, type = "n")  # setting up coord. system
lines(c(0, 1-0.5926, 1), c(0, 0.5000, 1), lty = 2) # 2 vars ROC
lines(c(0, 1-0.6667, 1), c(0, 0.6296, 1), lty = 1) # 3 vars ROC
legend("top", legend = c("3 vars", "2 vars"), lty = 1:2)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...