使用R中的插入符号包找到逻辑/ LASSO的预测概率(使用交叉验证)

时间:2019-09-24 22:10:42

标签: r cross-validation r-caret

我在R中使用caret包拟合了套索逻辑回归模型。我的代码如下,

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 个答案:

答案 0 :(得分:1)

我相信您的预测概率在DownUp列下。该模型为许多观察提供了均匀的机会,并且在这种情况下似乎服从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