Найти прогнозируемые вероятности для логистики / LASSO, используя пакет каретки в R (используя перекрестную проверку) - PullRequest
2 голосов
/ 25 сентября 2019

Я установил модель лассо-логистической регрессии с использованием пакета каретки в R. Мой код выглядит следующим образом:

require(ISLR)
require(caret)
set.seed(123)
fitControl <- trainControl(method = "cv",number = 5,savePredictions = T,classProbs=TRUE)
mod_fitg <- train(Direction ~ Lag1 + Lag2 + Lag3 + Lag4 + Volume,
                  data=Smarket[1:100,], method = "glmnet", 
                  trControl = fitControl,
                  tuneGrid=expand.grid(
                    .alpha=1,
                    .lambda=10^seq(-5, 5, length =2)),
                  family="binomial")

Когда я извлекаю прогнозируемые значения, он будет показывать только прогнозируемый класс (под столбцом pred)следующим образом:

mod_fitg$pred

enter image description here

Есть ли способ извлечь предсказанные вероятности вместо предсказанного класса?Каким-то образом мне нужно было получить предсказанные вероятности, основанные на перекрестной проверке.

Спасибо

1 Ответ

1 голос
/ 25 сентября 2019

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

pre_prob <- mod_fitg$pred[3:5]
pre_prob

#output- keeping index if we care about a certain observation 
    rowIndex      Down        Up
1          4 0.5000000 0.5000000
2          8 0.5000000 0.5000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...