我正在尝试使用插入符包实现我的自定义功能以进行功能排名。问题是每次调用摘要函数时我第一次只得到10个条目。这不是问题,但是在一个更大的数据集中,一个类只是所有条目的一小部分(比如5%),它可能会发生根本不被选中
l = lmFuncs
l$summary = function (data, lev = NULL, model = NULL)
{
print(dim(data))
if (is.character(data$obs))
data$obs <- factor(data$obs, levels = lev)
postResample(data[, "pred"], data[, "obs"])
}
rfe(data.frame(matrix(rnorm(100*3), ncol=3)), sample(2, 100, replace=T), sizes=1:3, rfeControl=rfeControl(functions=l, number=20))
输出:
[1] 10 2
[1] 32 3
[1] 32 3
[1] 32 3
[1] 40 3
[1] 40 3
[1] 40 3
[1] 37 3
[1] 37 3
[1] 37 3
...
R sessionInfo:
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] pROC_1.5.4 kernlab_0.9-14 e1071_1.6-1 class_7.3-5 caret_5.15-044 foreach_1.4.0 cluster_1.14.3 reshape_0.8.4 plyr_1.7.1
[10] lattice_0.20-10 Biobase_2.18.0 BiocGenerics_0.4.0
loaded via a namespace (and not attached):
[1] codetools_0.2-8 compiler_2.15.1 grid_2.15.1 iterators_1.0.6 tools_2.15.1
答案 0 :(得分:1)
rfe
,train
和sbf
都会在执行任何模型功能之前对摘要函数进行初步检查(以获取要检查的指标的名称等)。< / p>
这些函数的第一件事就是对数据集进行随机抽样(n = 10)并运行汇总函数。
因此,这与您的实际建模过程无关。
最高