Apriopri算法在教学管理系统中的研究与应用
2019-12-25
(渭南师范学院计算机学院;计算机工程技术中心 陕西 渭南 714000)
一、数据挖掘及关联规则
(一)数据挖掘概述
数据挖掘是指从数据集中识别出新颖的、有效的、潜在有用的以及最终可理解模式的高级处理过程。
(二)关联规则概述
关联规则属于数据挖掘的一种,关联规则挖掘是发掘支持度与置信度大于用户设定的最小取值的有效性规则[2]。关联规则挖掘分两步:第一步找出所有频繁项集,即找出所有出现频率大于等于预定义的最小支持度的项集;第二步由频繁项集产生关联规则。
二、Apriori算法
Aprior算法是Agrawal等人于1994年提出的一种挖掘顾客交易数据库中项集间关联规则的方法,此算法是一种基于两阶段频繁项目集思想的递推算法,它在分类上属于单层、单维、布尔关联规则,所有支持度大于最小支持度的项集称为频繁项目集,简称频集[4]。
(一)算法的基本思想
Apriori算法步骤:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样;然后由频集产生强关联规则,规则应满足最小支持度和最小可信度的要求。
(二)Apriori核心算法分析
为了生成所有频集,使用递推方法如下所示:
1.L1={large 1-itemsets};
2.for(k=2;Lk-1¹F;k++)do begin
3.Ck=apriori-gen(Lk-1);//新的候选集
4.for all transactions tÎD do begin
5.Ct=subset(Ck,t);//事务t中包含的候选集
6.for all candidates cÎCtdo
7.c.count++;
8.end
9.Lk={cÎCk|c.count³minsup}
10.end
11.Answer=Ck∪Lk;
三、教学管理系统
(一)教学管理系统模块
1.学生信息模块。主要包括姓名、学生性别、出生日期、专业名称、班级、籍贯、学号、特长等。2.教师信息模块。主要包括招聘姓名、教师性别、工号、出生日期、籍贯、课程、教师职称等。3.班级信息模块。主要包括班级名、班级编号、辅导员、班级人数等。4.课程信息模块。主要包括课程名、课程编号、教师编号、班级、学号、学分、教室号、上课时间等。5.成绩信息模块。主要包括课程号、课程名、学号、分数等。6.评价信息模块。主要包括课程编号、课程名称、班级、教师、学号、评价结果等。
(二)挖掘模块具体实现
1.数据净化。对教学管理系统中的信息数据进行处理,挖掘有用的数据。主要信息包括学生性别、班级人数、教室号、上课时间、课程名、专业名称、班级、籍贯、特长、分数、教师职称、评价结果等。表1给出了其中一条用户的记录。
表1 字段名含义
2.数据清理。数据清理是指对不完整的、不一致的、无用的和脏的记录进行删除,将处理后的有用的数据保存在数据表之中。
3.使用Apriori算法进行数据挖掘。使用Apriori算法对教学管理系统中有用的数据进行挖掘,输入事务数据表、最小支持度和最小置信度,输出频繁项集。
4.模式分析。使用Apriori挖掘算法找出学生、教师和学校感兴趣的模式和规则。关联规则挖掘的任务是给定一个事物数据库D求出所有满足最小支持度和最小置信度的关联规则。我们设定最小支持度为δ=10%,最小置信度为γ=25%。
可以看出:会计专业女生较多,周二3-4节课较多;从规则B可以看出:计科专业的男生较多,并且选修Java课程的人数较多,从规则C和D可以看出:21-40人的班级上课一般都安排在1号教学楼2层上课;从规则E可以看出:大多数数媒的男生都选修了周一1-2节的C++课程;从规则F可以看出:选修大学物理的男生较多。
四、结束语
数据挖掘技术是一门具有远大前景的数据处理与数据分析技术,数据挖掘技术将会被应用于不同的行业中,同样也会在教学管理中发挥不可估量的作用。本文利用Apriori算法对教学管理系统中的数据进行挖掘分析,从中发现各专业的选课情况和教室安排情况等有价值的信息。