キャレット パッケージを使用して機能ランキング用のカスタム関数を実装しようとしています。問題は、サマリー関数が初めて呼び出されるたびに、10 エントリしか得られないことです。これはここでは問題ではありませんが、1 つのクラスがすべてのエントリのごく一部 (たとえば 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 セッション情報:
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