首页 > 解决方案 > R:在插入符号模型上使用 rms::fastbw 进行反向特征选择时出错

问题描述

我想使用包中的函数执行后向特征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) 中的错误:fit 没有设计信息

我可以知道这意味着什么以及如何解决它吗?

标签: rlogistic-regressionr-caret

解决方案


你可能被困住了。fastbw()仅适用于来自 的模型rms,即?fastbw

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

我尝试了与method="lrm"( lrmisrms的逻辑回归工具) 的配合,但得到了

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

我认为您将不得不找到另一种方法来进行逐步回归,例如看到这个问题:即使用library(MASS)and then method="glmStepAIC"(within caret),或stepAIC(from scratch)。

我不清楚为什么要训练模型然后进行逐步回归...


推荐阅读