【发布时间】:2015-01-11 14:39:11
【问题描述】:
我正在尝试使用 caret 包中的 rfe 函数对属于大约 50 个不同类的 400 个变量运行特征选择,总共有 8000 个样本。如果我将我的数据子集为大约 5 个类和 10 个变量,那么一切正常。但是,当我包含我的整个数据集时,R 会运行大约 32 小时,然后我收到一条警告说R GUI has stopped working。我尝试将我的数据子集为 100 个变量和 1000 个样本,同样的事情发生了。我尝试使用完全不同的 44 个变量数据集和大约 3000 个属于 44 个类的样本。然而,大约一天后,R 变得无响应并关闭。我已经在 iris 数据集上尝试了相同的代码以实现可重复性:
iris$Species <- as.factor(as.character(iris$Species))
IND.svm <- rfe(iris[,-1],iris$Species,
sizes = c(2, 5, 10,30),
rfeControl = rfeControl(functions = caretFuncs,
verbose = FALSE,number = 2000),
method = "svmRadial")
我运行的是 Windows 7,因此无法使用推荐的 doMC 包。我在具有 32G RAM 的机器上使用了最新的 64 位 R 版本。仍然没有成功。这里有什么我忽略的地方吗?
【问题讨论】:
-
我很确定这个问题与无法通过
varImp()计算 SVM 的变量重要性有关。您可能需要编写自己的rank()函数。 -
@David,感谢一百万的洞察力。是否可以举一个小例子或指出我可以找到一个例子的方向。老实说,我觉得自己不够胜任。