我对R语言编程比较陌生。我正在尝试对300个预测变量进行RFE,以理想地选择30个最有用的预测变量并捕获预测变量的排名。
我已经适合了逻辑回归模型:
Ior
我听说'caret'软件包是用于RFE的软件包:
var_selected = [.....column names of variables selected]
train_matrix <- Matrix(as.matrix(train[, var_selected]),
sparse = TRUE)
glmnet_model <- cv.glmnet(x = train_matrix,
y = as.factor(train[,TARGET]),
alpha = 1,
family = 'binomial',
type.measure = 'auc')
#汇总结果 打印(结果) #列出所选功能 预测结果(结果)
执行此代码时,我不断重复出现以下错误:
library(caret)
# define the control using a random forest selection function
control <- rfeControl(functions=NULL, method="cv", number=3)
# run the RFE algorithm
results <- rfe(train[,3:303], as.factor(train[,2]),
sizes=c(1:20), rfeControl=control)
当我停止执行时,我收到此消息:
invalid mtry: reset to within valid rangeinvalid
我确信我的错误与我定义的控制变量有关,但似乎无法抓住它。任何帮助都会很棒!
编辑:按照建议,运行dput(train)。在[-2,2]之间大约有300列数字。在此处发布完整的dput(train)超出了字符数限制,但是我已经包括了列名供参考:
note: only 2 unique complexity parameters in default grid. Truncating the grid to 2 .
note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 .