经典决策树算法.doc
文本预览下载声明
Algorithm Apriori(T)
1、 //对事务集T进行第一轮搜索
2、//n是T中事务的数目
3、 //随后的各轮搜索
4、 //此函数会在后面给出
5、 //对所有事务扫描一遍
6、
7、
8、 c.count ++;
9、 endfor
10、 endfor
11、
12、endfor
13、
Function candidate-gen()
1、 //初始化候选项集集合
2、 // 找出所有的“只有最后一项不同”的
3、
4、
5、 //根据字典排序将和合并
6、
7、 //将新项集c加入中
8、
9、 //如果存在c的(k-1)-子集不是频繁项目集
10、 //则将c从删除
11、 endfor
12、engfor
13、return ;//返回生成的
例子:事务
:牛肉、鸡肉、牛奶
:牛肉、奶酪
:奶酪、靴子
:牛肉、鸡肉、奶酪
:牛肉、鸡肉、衣服、奶酪、牛奶
:鸡肉、衣服、牛奶
:鸡肉、牛奶、衣服
以上程序中minsup表示最小支持度,支持度=该事务在中出现的总数目/事务总数目
例如:牛肉在事务中总共出现了4次,牛肉的支持度=4/7,如若设定minsup=30%,则牛肉的支持度大于minsup,牛肉是一个频繁项目。
以此例则程序的执行过程为:
={{牛肉}4,{奶酪}4,{靴子}1,{鸡肉}4,{衣服}3,{牛奶}4}
若设定minsup=30%
取中满足条件的项目,
:{{牛肉}4,{奶酪}4,{鸡肉}4,{衣服}3,{牛奶}4}
这是中元素的组合,
:{{牛肉,奶酪},{牛肉,鸡肉},{牛肉,衣服},{牛肉,牛奶},{奶酪,鸡肉},{奶酪,衣服},{奶酪,牛奶},{鸡肉,衣服},{鸡肉,牛奶},{衣服,牛奶}}
是选取中满足上述条件的项目
:{{牛肉,奶酪}3,{牛肉,鸡肉}3,{鸡肉,衣服}3,{鸡肉,牛奶}4,{衣服,牛奶}3}
:{鸡肉,衣服,牛奶}
注:{牛肉,奶酪,鸡肉}也在这步生成,但是{奶酪,鸡肉}不在中,故被删除了
:{鸡肉,衣服,牛奶}3
这便是最后的结果
显示全部