我正在尝试运行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;
如果您还有其他问题,请告诉我。