Memory 在SAS中使用proc assoc时内存不足

Memory 在SAS中使用proc assoc时内存不足,memory,sas,Memory,Sas,我正在尝试运行以下操作,但收到一个错误,表示该错误:SAS系统由于内存不足而停止处理此步骤 数据集大约有1170条(行)*90条(列)记录。我的选择是什么 错误信息。详情如下: 332 proc assoc data=want1 dmdbcat=dbcat pctsup=0.5 out=frequentItems; 333 id tid; 334 target item_new; 335 run; ----- Potential 1 item sets = 188 ----- Cou

我正在尝试运行以下操作,但收到一个错误,表示该错误:SAS系统由于内存不足而停止处理此步骤

数据集大约有1170条(行)*90条(列)记录。我的选择是什么

错误信息。详情如下:

332  proc assoc data=want1 dmdbcat=dbcat pctsup=0.5 out=frequentItems;
333  id tid;
334  target item_new;
335  run;


----- Potential 1 item sets = 188 -----
Counting items, records read:    19082
Number of customers:               203
Support level for item sets:         1
Maximum count for a set:           136
Sets meeting support level:        188
Megs of memory used:              0.51

----- Potential 2 item sets = 17578 -----
Counting items, records read:    19082
Maximum count for a set:           119
Sets meeting support level:      17484
Megs of memory used:              1.54

----- Potential 3 item sets = 1072352 -----
Counting items, records read:    19082
Maximum count for a set:           111
Sets meeting support level:    1072016
Megs of memory used:             70.14
Error: Out of memory.  Memory used=2111.5 meg.

Item Set 4 is null.
ERROR: The SAS System stopped processing this step because of insufficient memory.
WARNING: The data set WORK.FREQUENTITEMS may be incomplete.  When this step was stopped there were
         1089689 observations and 8 variables.
从文档()中:

注意:项目集的理论潜在数量可能会增长非常快 迅速地。例如,对于50个不同的项目,您有1225个潜在项目 2件套和19600件3件套。有5000件物品,你有12件以上 2个项目集的百万,以及相应的大量 三件套

处理大量数据集可能会导致系统崩溃 磁盘和/或内存资源不足。但是,通过使用更高的 支持级别,您可以将项目集减少到更易于管理的级别 号码

因此-提供
支持=
选项,确保其足够高,例如:

proc assoc data=want1 dmdbcat=dbcat pctsup=0.5 out=frequentItems support=20;
  id tid;
  target item_new;
run;

是否有一种方法可以对数据挖掘任务进行框架化,从而减少存储或操作所需的内存?换句话说,您需要全部90列,还是可以删除一些?数据集中是否有明确的划分,这样PROC ASSOC就不会使用这些行进行调查结果


您很可能会遇到软件内存分配限制。

使用的内存=2111.5兆
您的机器中是否(只有)2GB内存?我的RAM是8GB,带有64win7。更可能是MEMSIZE=2GB,这是许多SAS安装的标准。@Joe,那么如何解决这个问题呢?您可以编辑配置文件并增加MEMSIZE,如果您安装了64位SAS。然而,这并不意味着你一定会有足够的记忆来做这件事;可能是您的问题太大了(我不知道这个特殊的过程)。那么pctsup选项和支持之间有什么区别呢?我不确定pctsup是如何工作的。support=表示它应该取整数值,所以有一个区别。