Yu *_* Le 6 memory-management feature-selection
错误信息:
SYSTEM:win7/64bit/ultimate/16gb-real-ram plus虚拟内存,memory.limit(32000)
在glmulti(y ="y",data = mydf,xr = c("x1",:!超大的候选集.
mydf有3.6毫米行和150列浮点数
R/64bit"好运动"
我遇到了同样的问题,这是我到目前为止发现的:
行数似乎不是问题.问题是,有150个预测器,包不能处理穷举搜索(即看一看并比较所有可能的模型).根据我的经验,您的特定错误消息"Oversized Candidate Set"由您还允许成对交互(level=2设置level=1为禁止交互)的事实触发.那么你很可能会遇到一个警告信息"Too many predictors".在我的(非常有限的)实验中,我发现我在候选集中工作的模型的最大数量是大约十亿个模型(具体地:30个协变量等于1,073,741,824,基于2 ^ n来计算可能的组合(n = 30) ).).这是我用来评估这个的代码
out <integer(50)
for(i in 2:40)
out[i]<-glmulti(names(data)[1], names(data)[2:i], method="d", level=1, crit=aic, data=data)
一旦循环命中31个协变量,候选集返回0个模型.33及以后它开始返回警告信息.我的"数据"有大约100个变量,大约有1000行,但就像我说的那样,问题是数据集的宽度而不是深度.
就像我说的那样,首先要消除相互作用,然后考虑首先使用其他变量减少技术来降低变量数(因子分析/主成分或聚类).这些问题将失去一些可解释性,但保持预测能力.
该glmuttil文档包带的替代品进行比较,同时强调他们的使用情况,利益和挫折.
PS:我在Win7上运行我的东西,64位,16GB Ram,R版本:3.10 glmutil 1.07.PPS:据说该软件包的作者去年发布了2.0版本,可以解决其中的一些问题.在源头阅读更多内容