标签: r-caret

使用 caret 包进行 GBM 分类

当使用 caret 的 train 函数拟合 GBM 分类模型时,函数 predictionFunction 基于 0.5 的概率阈值将概率预测转换为因子。

      out <- ifelse(gbmProb >= .5, modelFit$obsLevels[1], modelFit$obsLevels[2])
      ## to correspond to gbmClasses definition above
Run Code Online (Sandbox Code Playgroud)

如果用户试图最大化 ROC 曲线下的面积 (AUROC),这种转换似乎为时过早。虽然敏感性和特异性对应于单个概率阈值(因此需要因子预测),但我更喜欢使用 gbmPredict 的原始概率输出来计算 AUROC。根据我的经验,我很少关心分类模型的校准;我想要信息量最大的模型,无论模型预测“1”与“0”的概率阈值如何。是否可以将原始概率强制用于 AUROC 计算?这看起来很棘手,因为无论使用什么汇总函数都会传递已经是二进制的预测。

r r-caret

0
推荐指数
1
解决办法
5547
查看次数

R caret包中的train函数

假设我有一个数据集,我想使用逻辑回归进行 4 折交叉验证。所以会有4种不同的模型。在 R 中,我执行了以下操作:

ctrl <- trainControl(method = "repeatedcv", number = 4, savePredictions = TRUE)
mod_fit <- train(outcome ~., data=data1, method = "glm", family="binomial", trControl = ctrl)
Run Code Online (Sandbox Code Playgroud)

我认为 mod_fit 应该包含 4 个单独的系数集?当我输入时, modfit$finalModel$ 我只会得到相同的一组系数。

r r-caret

0
推荐指数
1
解决办法
9676
查看次数

train() 中的 ROC 指标,插入符号包

df在训练和测试dataframes分裂。训练数据帧分为训练数据帧和测试数据帧。因变量Y是二进制(因子),值为 0 和 1。我试图用这个代码(神经网络,插入符号包)预测概率:

library(caret)

model_nn <- train(
  Y ~ ., training,
  method = "nnet",
  metric="ROC",
  trControl = trainControl(
    method = "cv", number = 10,
    verboseIter = TRUE,
    classProbs=TRUE
  )
)

model_nn_v2 <- model_nn
nnprediction <- predict(model_nn, testing, type="prob")
cmnn <-confusionMatrix(nnprediction,testing$Y)
print(cmnn) # The confusion matrix is to assess/compare the model
Run Code Online (Sandbox Code Playgroud)

但是,它给了我这个错误:

    Error: At least one of the class levels is not a valid R variable name; 
This will cause errors when class probabilities are generated …
Run Code Online (Sandbox Code Playgroud)

r machine-learning neural-network roc r-caret

0
推荐指数
1
解决办法
3341
查看次数

在 R 中使用插入符号进行逐步回归

我在R中使用了leaps包来执行前向和后向特征消除。但是,我希望自动化交叉验证和预测操作。因此,如何在插入符号中使用向前/向后选择?

在跳跃包中你可以这样做

forward <- regsubsets(x ~ ., data, nvmax = 20, 
                         method = "forward")  
Run Code Online (Sandbox Code Playgroud)

r r-caret

-2
推荐指数
1
解决办法
9378
查看次数

标签 统计

r ×4

r-caret ×4

machine-learning ×1

neural-network ×1

roc ×1