R:在插入符号模型上使用rms :: fastbw进行向后功能选择时出错

时间:2019-12-22 00:39:06

标签: r logistic-regression r-caret

我想使用fastbw包中的函数rms执行向后功能选择。我使用以下示例数据集PimaIndiansDiabetes

library(mlbench)
data(PimaIndiansDiabetes)

library(caret)
trControl <- trainControl(method = "repeatedcv",
                          repeats = 3,
                          classProbs = TRUE,
                          number = 10, 
                          savePredictions = TRUE,
                          summaryFunction = twoClassSummary)

caret_model <- train(diabetes~., 
                     data=PimaIndiansDiabetes, 
                     method="glm", 
                     trControl=trControl)

library(rms)
reduced_model <- fastbw(caret_model$finalModel)

这给了我一个错误:

  

fastbw(caret_model $ finalModel)中的错误:适合没有设计   信息

我可以知道这是什么意思以及如何解决吗?

1 个答案:

答案 0 :(得分:2)

您可能被困住了。 fastbw()仅适用于rms中的模型,即?fastbw说:

  

fit:适合定义了“ Varcov(fit)”的对象(例如,来自“ ols”,             “ lrm”,“ cph”,“ psm”,“ glmD”)

我尝试使用method="lrm"适合您(lrmrms的逻辑回归工具),但是得到了

  

错误:模型lrm不在插入符号的内置库中

我认为您将不得不寻找另一种逐步回归的方法,例如请参见this question:即先使用library(MASS),然后再使用method="glmStepAIC"(在caret之内)或stepAIC(从头开始)。

对于我来说,为什么训练模型然后逐步逐步回归...