- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 4283 个
- 通用积分
- 6.5000
- 学术水平
- 10 点
- 热心指数
- 17 点
- 信用等级
- 13 点
- 经验
- 565 点
- 帖子
- 730
- 精华
- 0
- 在线时间
- 2236 小时
- 注册时间
- 2009-5-26
- 最后登录
- 2021-12-29
已卖:4079份资源
教授
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 4283 个
- 通用积分
- 6.5000
- 学术水平
- 10 点
- 热心指数
- 17 点
- 信用等级
- 13 点
- 经验
- 565 点
- 帖子
- 730
- 精华
- 0
- 在线时间
- 2236 小时
- 注册时间
- 2009-5-26
- 最后登录
- 2021-12-29
 | 开心 2020-3-25 03:05:43 |
|---|
签到天数: 189 天 连续签到: 1 天 [LV.7]常住居民III
|
100论坛币
|
我想用SAS来做Apriori关联算法,我的数据集中有大约100个变量,这些变量都是0,1变量。我跑了一下自己的程序,发现结果完全没有意义,这是因为所有变量的值都是0或者1,而SAS 无法识别区分。结果如下:
我知道要解决这个问题,就需要赋予这些变量不同的logical的值,比如YES/NO,TRUE/FALSE,但是我有近100个变量,上万行数字,根本无法一一地改变。
所以想请教坛里的高手们如何解决这个问题。谢谢!!!
我附上了我的SAS程序。这里面的变量都是sample data。您处理问题时需要考虑有100个。
data test;
input id $ 1 class1 $ 3 class2 $ 5 class3 $ 7 class4 $ 9 class5 $ 11 class6 $ 13 class7 $ 15 ;
cards;
1 0 0 1 1 0 1 0
2 1 0 0 1 0 1 1
3 0 1 1 0 1 1 0
4 1 1 0 1 0 1 1
5 0 1 1 1 0 1 0
6 0 0 0 1 0 1 1
;
run;
data items2;
set test;
length tid 8;
length item $8;
tid = _n_;
item = class1;
output;
item = class2;
output;
item = class3;
output;
item = class4;
output;
item = class5;
output;
item = class6;
output;
item = class7;
output;
keep tid item;
run;
proc sql;
alter table items2
modify item char(8);
quit;
proc dmdb data=items2 dmdbcat=dbcat;
class tid item;
run; quit;
proc assoc data=items2 dmdbcat=dbcat pctsup=0.5out=frequentItems;
id tid;
target item;
run;
proc rulegen in=frequentItems dmdbcat=dbcat out=rules minconf=80;
run ;
proc sort data=rules;
by descending conf;
run ;
data surviverules;
set rules(where=(set_size>1));
run;
proc print data=surviverules;
var conf support lift rule ;
run ;
|
|