SAS 规则生成 DMDB 编码类型



我正在尝试运行SAS proc rulegen文档中的示例代码:

proc dmdb batch data=sampsio.assocs out=dmassoc dmdbcat=catassoc;
 id customer;
 class product(desc);
run;
proc assoc data=dmassoc dmdbcat=catassoc
 out=datassoc(label='Output from Proc Assoc')
 items=5 support=20;
 cust customer;
 target product;
run;

第一部分运行良好,但第二部分给出错误:

data= 数据集不应是 DMDB 编码类型

有谁知道问题是什么?

我在处理数据时遇到了同样的错误。

我还尝试使用不带有 dmdb 数据的 proc assoc,它"有效"但只生成了一个明显的规则(根据 sas 示例应该有更多的规则,没有明显的规则)。

我遇到了同样的问题,我做了下面的事情来解决它。

在下面的data=语句中,你应该给sas数据集sampsio.assocs,而不是dmassoc。

"proc assoc data=sampsio.assocs"

此外,当您运行proc dmdb时,请确保使用"var"语句声明所有连续变量,并使用class语句声明所有二进制/分类变量。

proc dmdb batch data=sampsio.assocs out=dmassoc dmdbcat=catassoc;
 id customer;
var /* all continuous variables here **/ ;
 class /* all binary/categorical variables here **/;
run;

如果您还有其他问题,请告诉我。

相关内容

  • 没有找到相关文章

最新更新