一.毕业设计安排进度
计划安排时间 |
计划完成内容 |
是否完成 |
2017.3.1---2017.3.7 |
了解系统需求 |
是 |
2017.3.8—2017.3.21 |
了解算法、数据库以及相关概念 |
待完成 |
2017.3.23-2017.5.9 |
初步毕设,以及完成毕业论文初稿 |
待完成 |
2017.5.10-5.28 |
完善毕业论文和毕业设计,准备答辩 |
待完成 |
二.本周研究内容
关联规则
关联规则是由 Agrawal 等人在 1993 年首次提出的,是挖掘数据之间关联知识最常用的方法。关联规则的目的在于在一个数据集中找出项之间的关系,也称之为购物蓝分析 (market basket analysis)。例如,购买鞋的顾客,有10%的可能也会买袜子,60%的买面包的顾客,也会买牛奶。这其中最有名的例子就是"尿布和啤酒"的故事了。
关联规则一般可描述如下: 假设 I = { i1,i2,i3,. . . ,in} 是项目的集合,给定一个事务数据库 D,其中T 是 I 中一些项目的集合,表示 D 中的一个具体事务,TI,每个 T 都有唯一的标志符 TID。假设 X 是一个项目集,当且仅当 X 中的所有项目都在 T 的范围内时表示事务 T 包含 X。
所以关联规则 X→Y 定义如下:其中,XI,YI,X∩Y = Φ,X 是关联规则的前提,Y是结果,通过支持度和置信度 2 个指标来确定。
支持度( Support) S 表示 D 中有 S% 的事务同时包含 X 和 Y,即事务集中同时包含 X 和 Y 的事务数在所有事务数中的百分比。
support = P(A并B)
置信度( Confidence) C 表示 D 中包含 X 的事务中有 C% 包含 Y,即事务集中同时包含 X 和 Y 的事务数在包含 X 的事务数中的百分比。
confidence = support(A并B)/suport(A)
所以支持度表示了此关联规则在事务中的发生频率,而置信度表示了此关联规则的强度。如果存在一条关联规则,它的支持度和置信度都大于预先定义好的最小支持度与置信度,我们就称它为强关联规则。关联规则挖掘就是为了找到所有的强关联规则,因此挖掘的主要步骤也分为 2 步,第一步是找到所有的频繁项集( 即超过最小支持度的所有项集) ,第二步则在这些频繁项集中找出超过最小置信度的关联规则。
Apriori 算法
在众多的关联规则算法中,Apriori 算法是最有影响的挖掘频繁项集的算法。该算法的基本思想是: 首先找出所有的频繁项集,这些项集出现的频繁性至少和预定义的最小支持度一样,然后由频繁项集产生强关联规则,这些规则必须满足最小支持度和最小置信度。然后使用第一步找到的频繁项集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是关联规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小置信度的规则才被留下来。为了生成所有频繁项集,使用递归的方法,在频繁 1-项集中连接产生对应的候选2-项集,然后计算得到频繁 2-项集,继而产生候选 3-项集和频繁 3-项集,直到没有频繁 k-项集的产生。其算法描述如下:
1) L1= find_frequent_1-itemsets( D) ;
2) for( k = 2; Lk - 1≠Φ; k ++ ) {
3) Ck= apriori_gen( Lk - 1,min_sup) ;
4) for each transaction t∈D { / / scan D for counts
5) Ct= subset( Ck,t) ; / /get the subsets of t they are candi-dates
6) for each candidate c∈Ct
7) c. count + + ;
8) }
9) Lk= { c∈Ck| c. count≥min_sup}
10) }
11) Return L = ∪kLk;
三、周实现代码及结果截图展示。
无
四、本周的体会及需要改进地方。
关联规则主要关于可信度或置信度(confidence),要继续关于apriori的学习,同时,还得继续深入学习python
五、本周参考的文献。
- 杨秀萍.大数据下关联规则算法的改进及应用[J].计算机与现代化,2014,12:23-24
- http://www.cnblogs.com/junyuhuang/p/5572364.html