在R中进行数据分析所需的最佳系统配置是什么

时间:2015-12-01 01:46:38

标签: r

原始数据集约为75万行,包含7个变量。经过一些基本的特征工程,它变成了81个int变量。为了便于在初始阶段进行操作,我选择使用下面的脚本

将0.01%作为我的训练集
sub <- sample(nrow(d), floor(nrow(d) * 0.01))
train <- d[sub, ]
test <- d[-sub, ]

构建初始模型试图在此训练数据集上进行降维/ PCA。

require(leaps)
require(MASS)

initialBasicSubSet <- regsubsets(myVariable ~ ., data = train, nvmax = 25, really.big=T)

问题是这段代码似乎永远存在。截至目前,它已运行超过9小时!因为我对R&amp; amp;数据分析想知道这是否是异常的(考虑到只有约7000条记录,其中有81个int变量)?

以下是我的笔记本电脑的配置,并希望了解使用R进行数据分析的人是否满足,或者是否应该升级到其他任何特定配置?

系统配置:

HP Pavilion dv6 Notebook PC
Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
8 GB RAM
64 bit OS - Windows 7 Home Premium

1 个答案:

答案 0 :(得分:7)

您的计算机配置不是问题。

据我所知,您已选择(因为默认参数为method="exhaustive")对81个可能变量的所有25个变量子集进行穷举评估,这样您就可以这很多模型要评估:

choose(81,25)  ## [1] 5.25652e+20

如果您可以每秒评估1000个型号,则需要

log10(choose(81,25)/(365*24*3600*1000))  ## 10.22 ...

大约需要10 ^ 10年才能完成。

您可以尝试method="forward"之类的内容。或者,我对glmulti包有好运:

  

自动模型选择和模型平均。                         为glm和其他函数提供包装器,                         自动生成所有可能的模型                         (在用户设置的约束下)用                         指定的响应和解释变量,以及                         找到一些最好的模型                         信息标准(AIC,AICc或BIC)。能够                         处理非常多的候选模型。                         使用遗传算法找到最佳                         模型时详尽的筛选                         候选人不可行。

或者使用PCA,glmnet包,或随机森林,或......