1. Apriori算法
关联规则是1993年,由R. Agrawal等人创建的。主要研究的是事物内部属性之间的关联性。美国的沃尔玛超市曾经利用过关联规则,研究“啤酒与尿布”之间的关系,发现消费者在购买啤酒的时候,大概率会买尿布,于是沃尔玛超市就把啤酒和尿布放在了一起,从而提高了营业额。
1.1. 基本概念
项与项集:设
是所有项的集合,其中,
成为项。项的集合称为项集(itemset),包含k个项的项集称为k项集(k-itemset) [1]。
事务与事务集:一个事务T是一个项集,它是itemset的一个子集,每个事务均与一个唯一标识符Tid相联系。不同的事务一起组成了事务集D,它构成了关联规则发现的事务数据库。
定义. 设
是项的集合,其中m表示项的数目。事务数据库
,
,
。
支持度(support):是两个事物同时出现的概率,如果两者同时出现的概率比较大,则说明两者是有相关性的,若两者同时出现的概率小,则关系不大。按数学定义,集合Z在事物集D中支持度表示在事物集D中任取一个集合,集合中包含z的概率。即:
,
关联规则
支持度表示为:
,其中“
”表示集合个数。
置信度(confidence):数学定义里面,置信度是两者同时发生或者出现的概率,相当于条件概率。
提升度 [2]:提升度是为了判断两个元素的关联程度有多大,即支持集合Z对支持集合Y的影响有多大,提升度大于1且越高,正相关性越高。提升度小于1且越低则相反。提升度在等于1时表示两个是独立的个体。数学表达式如下:
我们经常会使用上面这三个指标,来进行关联规则的衡量,筛选出符合条件的关联规则。满足最小的支持度和可信度的规则,被称为强关联规则,提升度大于1时,表示有效的强关联规则。提升度小于1时,表示无效的强关联规则。提升度等于1时表示两个是独立的个体。
项集的出现频度(support count):包含项集的事务数,简称为项集的频度、支持度计数或计数。
频繁项集(frequent itemset):如果项集I的相对支持度满足事先定义好的最小支持度阈(即I的出现频度大于相应的最小出现频度(支持度计数)阈值),则I是频繁项集。
强关联规则:满足最小支持度和最小置信度的关联规则,即待挖掘的关联规则。
1.2. 图解过程





1.3. 核心代码
L1 = find_frequent_1-itemsets(D);
for (k=2;Lk-1 ≠Φ ;k++) {
Ck = apriori_gen(Lk-1 ,min_sup);
for each transaction t ∈D{//scan D for counts
Ct = subset(Ck,t);//get the subsets of t that are candidates
for each candidate c ∈ Ct
c.count++;
}
Lk ={c ∈ Ck|c.count≥min_sup}
}
return L= ∪ k Lk;
2. Apriori算法在教学评价数据分析中的应用
2.1. 介绍数据来源
为了提高教学质量,全面了解课堂教学情况,及时反馈教学信息,绝大多数的高等院校,每年都会安排很多次的调查问卷,安排学生来评价代课老师的教学质量。本次数据来源于延安大学本科生,各专业近三年的教学评价数据。将很多指标总结性归纳为,教学态度,教学内容,教学方法,教学纪律,教学表达,总体效果。具体如表1教学评价项目表:
2.2. 数据处理
教学系统导出数据,一般情况下是不完整的,需要数据清洗和整理,并采用加权平均的方法计算每个测评项目的分值。每个项目的取值如下:
1) 年龄:老,中,青
2) 职称:教授,副教授,讲师,助教
3) 教学态度:优,良,中,差
4) 教学内容:优,良,中,差
5) 教学方法:优,良,中,差
6) 教学纪律:优,良,中,差
7) 教学表达:优,良,中,差
8) 总体效果:优,良,中,差
离散化处理后,教学课堂部分数据见表2。

Table 2. The teaching classroom part data
表2. 教学课堂部分数据
2.3. 数据结果分析 [3]
单个指标对教学结果的影响
年龄与整体效果的关联性如表3表示:

Table 3. The association between age and overall effect
表3. 年龄与整体效果的关联性
教学方法与总体效果的关联性如表4表示 [4]:

Table 4. The relevance of teaching methods to overall effectiveness
表4. 教学方法与总体效果的关联性
职称与总体效果的关联性如表5表示:

Table 5. The relevance of the title to the overall effect
表5. 职称与总体效果的关联性
实验结果表明 [5]:
1) 只考虑职称的因素,教授的讲课效果比较好,但认可度不高,可能和教授比较严厉有关系。讲师的讲课效果有待提高,但认可度都比较高,这可能和年轻教师比较有活力有一定的关系。
2) 只考虑教学方法的因素,总体效果和教学方法的优良中是成正比例关系的,教学方法比较优的,对应的教学效果就好。
3) 只考虑年龄的因素,年龄较大教师的授课效果好,但认可度,没有年轻教师好,中年教师和青年教师的认可度相对高一些,但授课效果欠缺 [6]。
对于以上问题,针对于Y大学而言,老年教师的授课效果较好,认可度低。年轻教师的授课效果不太好,而认可度较高,表明老教师和学生的交流较少,或者说明老教师的上课的生动性不如年轻教师,而年轻教师的教学效果较差,需要多进行培训。
3. 总结
关联规则算法,还有很多需要改进的地方,比如产生很多的候选项集,占用内存过大,运算速度慢 [7]。我们可以尝试从改进数学公式或者扫描方式来考虑优化 [8],也可以从存储方式来考虑,或者我们是不是能够针对不能的数据形式或者研究方向来改进我们的算法 [9] ?Apriori算法和Fp-growth算法是关联规则中的经典算法,本文用于研究教学评价数据中的教学指标,实验数据表明,教学效果与年龄、职称和教学方法有很强的关联性,具体表现在职称高的,年纪大的,教学效果稍微好一点,但教师的认可度低,不受学生们的喜欢。年轻教师的教学效果差一些,教学经验上没有老教师多,但年轻教师的认可度高,受学生们的喜欢。
基金项目
延安市科技局专项科研计划项目(2018KG-02);陕西省教育厅教学研究与改革项目(19BZ031);延安大学研究生教育创新计划项目(YCX2020101);教育部高等学校计算机类专业教学指导委员会系统能力培养试点院校项目(2019-24)。
NOTES
*通讯作者。