r - 尝试执行 RFE 时出现无效的 mtry 错误?
问题描述
我在 R 中编程较新。我正在尝试对 300 个预测变量进行 RFE,以理想地选择 30 个信息量最大的预测变量并捕获预测变量的排名。
我已经拟合了一个逻辑回归模型:
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')
我听说包'caret'是用来做RFE的包:
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)
# summarize the results
print(results)
# list the chosen features
predictors(results)
当我执行此代码时,我会无限重复以下错误:
invalid mtry: reset to within valid rangeinvalid
当我停止执行时,我收到以下消息:
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 .
我相信我的错误与我正在定义的控制变量有关,但我似乎无法捕捉到它。任何帮助都会很棒!
编辑:按照建议,运行dput(train)
. 在 [-2, 2] 之间大约有 300 列都是数字。在此处发布完整内容超出了字符数限制dput(train)
,但我已包含列名以供参考:
Names = c("id",
"target", "X0", "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8",
"X9", "X10", "X11", "X12", "X13", "X14", "X15", "X16", "X17",
"X18", "X19", "X20", "X21", "X22", "X23", "X24", "X25", "X26",
"X27", "X28", "X29", "X30", "X31", "X32", "X33", "X34", "X35",
"X36", "X37", "X38", "X39", "X40", "X41", "X42", "X43", "X44",
"X45", "X46", "X47", "X48", "X49", "X50", "X51", "X52", "X53",
"X54", "X55", "X56", "X57", "X58", "X59", "X60", "X61", "X62",
"X63", "X64", "X65", "X66", "X67", "X68", "X69", "X70", "X71",
"X72", "X73", "X74", "X75", "X76", "X77", "X78", "X79", "X80",
"X81", "X82", "X83", "X84", "X85", "X86", "X87", "X88", "X89",
"X90", "X91", "X92", "X93", "X94", "X95", "X96", "X97", "X98",
"X99", "X100", "X101", "X102", "X103", "X104", "X105", "X106",
"X107", "X108", "X109", "X110", "X111", "X112", "X113", "X114",
"X115", "X116", "X117", "X118", "X119", "X120", "X121", "X122",
"X123", "X124", "X125", "X126", "X127", "X128", "X129", "X130",
"X131", "X132", "X133", "X134", "X135", "X136", "X137", "X138",
"X139", "X140", "X141", "X142", "X143", "X144", "X145", "X146",
"X147", "X148", "X149", "X150", "X151", "X152", "X153", "X154",
"X155", "X156", "X157", "X158", "X159", "X160", "X161", "X162",
"X163", "X164", "X165", "X166", "X167", "X168", "X169", "X170",
"X171", "X172", "X173", "X174", "X175", "X176", "X177", "X178",
"X179", "X180", "X181", "X182", "X183", "X184", "X185", "X186",
"X187", "X188", "X189", "X190", "X191", "X192", "X193", "X194",
"X195", "X196", "X197", "X198", "X199", "X200", "X201", "X202",
"X203", "X204", "X205", "X206", "X207", "X208", "X209", "X210",
"X211", "X212", "X213", "X214", "X215", "X216", "X217", "X218",
"X219", "X220", "X221", "X222", "X223", "X224", "X225", "X226",
"X227", "X228", "X229", "X230", "X231", "X232", "X233", "X234",
"X235", "X236", "X237", "X238", "X239", "X240", "X241", "X242",
"X243", "X244", "X245", "X246", "X247", "X248", "X249", "X250",
"X251", "X252", "X253", "X254", "X255", "X256", "X257", "X258",
"X259", "X260", "X261", "X262", "X263", "X264", "X265", "X266",
"X267", "X268", "X269", "X270", "X271", "X272", "X273", "X274",
"X275", "X276", "X277", "X278", "X279", "X280", "X281", "X282",
"X283", "X284", "X285", "X286", "X287", "X288", "X289", "X290",
"X291", "X292", "X293", "X294", "X295", "X296", "X297", "X298",
"X299", "mean_"), row.names = c(NA, -250L), class = "data.frame")
解决方案
推荐阅读
- python - Python 3.8 Mutagen wont read GEOB tag
- java - How to save Date and Time state of Fragment
- python - pandas,如果行包含通配符文本,则合并重复项
- python - 为什么我不能在最后打印板?(井字游戏蟒)
- .htaccess - Create new .htaccess file to deny
- javascript - 数组问题 - 将值转移到另一个数组
- laravel - 将购物车从客人转移到登录用户?
- google-calendar-api - Google 事件监听器
- ansible - 如何参考字典?Ansible 中的项目
- firebase - Firestore 安全规则嵌套集合组查询