基于压缩矩阵Apriori算法的高校学生成绩相关性分析研究
   来源:现代电子技术     2021年01月27日 00:43

...网络的高职院校学生养成教育评价研究

龙钧宇

摘  要: 针对高校学生成绩数据库的特点,采用基于压缩矩阵的Apriori算法来分析学生各学科成绩之间的相关性。该算法可以使矩阵更小,并减少扫描数据库和压缩矩阵的次数。通过分析学生各学科成绩的关联,找出有意义的关联规则,可以为教师进行教学活动及教学管理人员制定教学计划、进行教学管理等提供参考。

关键词: 压缩矩阵; Apriori算法; 数据挖掘; 成绩相关性

中图分类号: TN911?34                   文献标识码: A                            文章编号: 1004?373X(2014)24?0047?05

Research on correlation analysis of college students achievements based on Apriori algorithm with compressed matrix

LONG Jun?yu

(Guangdong Vocational Institute of Technology, Zhuhai 519090, China)

Abstract: Aiming at the characteristics of the college students' achievement database, Apriori algorithm based on the compressed matrix is used to analyse the correlation of the students achievements of each subjects. By this algorithm, the scale of the matrix becomes smaller, and the times of scanning the database and the compressed matrix can be reduced. By correlation analysis of the students achievements of each subjects, the meaningful correlation rules can be found out, and the references can be provided for teachers to carry out teaching activities and for the teaching administrators to make teaching plans and teaching management.

Keywords: compressed matrix; Apriori algorithm; data mining; achievement correlation

0  引  言

近年来随着高校不断扩张,在校学生人数不断增加,给高校教学及管理工作带来了严峻的考验。对高校而言,教学工作始终是核心工作,而学生的学习成绩作为学校教学质量和学生掌握知识程度的直观体现,一直以来都受到高校学生、老师及教学管理人员的共同关注。目前,许多高校都建立了自己的成绩管理系统,但这些数据库大多只能做一些数据备份、修改、统计和查询工作,对学生的成绩分析也只限于简单的统计分析,而对成绩分数后真正影响学生成绩的因素却无法分析出来[1]。利用数据挖掘技术对学生的学习成绩进行分析,不但可以找出隐含在学生成绩数据背后的一些有价值的信息,而且还能据此分析课程间的相互联系,为学生选课、教师进行教学活动及教学管理人员进行课程设置、制定教学计划及进行教学评价等提供参考依据,进而起到提高教学质量、增强学校竞争力的目的。

Apriori算法是数据挖掘关联规则中的经典算法,该算法广泛应用于各种领域,但该算法存在两个性能瓶颈问题:一是需要大量扫描事务数据库,需要很大的I/O负载;二是可能产生大量的候选项集,需耗费大量的时间处理[2?3]。近年来,已经有很多基于Apriori算法的改进和优化,例如基于散列技术、事务压缩、抽样、动态项集计数等[4]。也有许多研究人员将Apriori算法应用到高校成绩管理系统中,并针对高校成绩数据库的特点对Apriori算法作出了改进和优化[1?7],但Apriori算法在高校成绩数据库系统中的分析应用还是一个值得继续深入研究和探讨的问题。

虽然高校成绩数据库里的数据信息多。但高等学校专业较多,大多数专业课程往往只在个别或者部分专业开设,基础课程往往也随着专业的不同各有侧重。因此,就某一专业或某一班级而言,成绩数据量并不非常大[5]。采用基于矩阵的Apriori算法[5?6]只需扫描一次数据库,将数据一次性读入一个二维数组,减少I/O负载,提高程序运行的效率。因此,对高校成绩数据库而言,基于矩阵的Apriori算法可以解决Apriori算法的瓶颈问题。但基于矩阵的Apriori算法也存在需要多次扫描二维矩阵,以及在连接过程中矩阵的规模过于庞大的问题。因此,本文根据高校成绩数据库的特点,采用基于压缩矩阵的Apriori算法对高校成绩数据库进行数据挖掘,该算法可以减少扫描矩阵的次数,降低连接过程中矩阵的规模,并能有效地对成绩相关性规律进行分析和研究。

1  基于压缩矩阵的Apriori算法

1.1  基本算法原理

关联规则挖掘问题描述如下[6?7]:设[I=][I1,I2,…,Im]是项目的集合,任务相关的数据D是数据库事务的集合,其中每一个事务T都是项的集合,使得[T?I]。关联规则是形如[A?B]的蕴含式,其中[A?I,B?I],并且[A∩B=?]。定义支持度为D中包含[A?B]的百分比,置信度为D中包含A的事务同时也包含B的百分比。即:

[support(A?B)=P(A?B)]

[confidence(A?B)=P(BA)]

如果项集的出现频率大于或等于最小支持度min_support与D中事务总数的乘积,则称它为频繁项集。

基于压缩矩阵的Apriori算法是由付沙等在基于矩阵的Apriori算法基础上,提出的一种算法[7],罗丹等针对该算法的不足,做出了进一步的改进[8]。该算法涉及到关联规则挖掘算法的如下性质和定理:

性质1:频繁项集的所有非空子集都必须也是频繁项集。

推论1:如果频繁k项集还能产生频繁(k+1)项集,则频繁k项集中的个数必大于k。

性质2:非频繁项集的任一超集必定也是非频繁项集。

性质3:不包含任何频繁k项集的事务不可能包含任何频繁(k+1)项集。

定理1:如果数据库中某条事务的长度为k,那么这条事务就不可能包含任何项数大于k的频繁项集。

定理2:在由(k-1)项集生成k项集时,当(k-1)项集作自身连接时,若两个项集的前(k-2)项不同,则放弃该两个项集的连接运算,因为产生的项集不是重复的就是非频繁项集。

推论2:将每个事务及事务中的项目集按照字典顺序排序。对于两个(k-1)频繁项目集Ix和Iy,如果Ix和Iy不能连接,则Ix和Iy之后的所有项目集都不需要进行连接判断。

1.2  具体算法流程

基于压缩矩阵Apriori算法的具体流程如下[8]:

(1) 扫描事物数据库,建立二维布尔矩阵。矩阵的每一行为一个事务,列则为事务的项集。对相同的事务进行计数,计数的结果即为矩阵每一行的权值。并建立AE数组进行存放。这样对事务数据进行了压缩,确保矩阵中无重复行。

(2) 建立数组m,记录每行1的个数,建立数组n,统计每列1的个数。

(3) 压缩矩阵:

① 扫描矩阵,若一个项集不能与它相邻的项集进行连接运算,则删除该项集对应的列向量,并对数组m的值进行相应的修改;

② 扫描数组m,若其值小于等于1,则删除该行向量,对数组n的值进行相应的修改;

③ 扫描数组n,若其值小于最小支持度计数,则删除该列向量,对数组m的值进行相应的修改。重复步骤②、步骤③,直到矩阵无变化为止。剩下的行和列生成新的矩阵。

(4) 生成频繁项集:清空数组m和n,对可连接的项集对应的行按位进行与运算,并与AE数组中对应权值相乘,其加权和为项集的支持度计数,若其值大于等于最小支持度计数,则保存该列向量,并将该向量按位累加到数组n中,对应支持度计数存入m数组中,否则舍去。此时,保存下来的列向量所对应的项集为所求的频繁项集。

(5) 根据推论1,可知频繁(k-1)项集个数,即矩阵的列数小于k时,可不用再求k频繁项集,则算法终止。

2  数据预处理

数据预处理包括数据清理和数据离散化两个步骤。

实际的考试成绩往往有期末考试成绩和补考成绩,在考试时少数学生会有缺考、缓考等现象。因此,在分析成绩数据前必须先对数据库中的成绩进行清理。本文将成绩数据读入二维矩阵后,只对正常考试的成绩进行分析,对补考成绩及有缺考、缓考等现象导致成绩缺少的学生成绩予以清除。

由于基于矩阵的Apriori算法采用的是布尔矩阵,因此,在数据清理完成后,需将原始成绩数据离散成布尔型的数据。学生的成绩通常有百分制和五级制两种表示方式。对五级制记分的成绩数据,可将“优秀”和“良好”两个等级的成绩统一离散化为“1”(对一些难度较小的课程,可以只将“优秀”等级的成绩离散化为“1”),其余成绩离散化为0;而对百分制成绩,将80分以上的成绩离散化为“1”,其余为“0”。

本文实验原始数据采用作者所在院校通信专业某班级一个学期的期末考试成绩。该班级共有52人,本学期共计6门考试科目。扫描数据库、将数据读入二维矩阵,清除缺考、缓考的2名学生成绩后,最终有效成绩数据50份。部分成绩数据如表1所示。成绩数据离散化后,每个学生的成绩即为一个事务(TID),可分别用T1,T2,…,Tn表示,而全体考试科目则为一个项目集。为了简单起见,将不同的科目用项目ID表示,最终6个考试科目形成项目集[I1,I2,I3,I4,I5,I6]。最终离散化的结果如表2所示。

表1 部分学生成绩样本

表2 原始成绩离散后的结果

表2中I1~I6分别对应高频电子线路、电子设计自动化、数据通信网络及其设备配通信原理与信号传输、网站建设与网络管理和专业英语6门考试科目)

3  关联规则挖掘及数据分析

3.1  关联规则挖掘

原始数据离散化后,根据基于压缩矩阵Apriori算法的步骤,关联规则挖掘的步骤如下:

(1) 首先,对相同的事务进行合并,建立数组AE,存放每个事务的权值(即相同事务的个数)。合并后的矩阵如表3所示。

表3 合并相同事务后的压缩矩阵

注:AE数组存放每个事务的权值,m数组存放每个项为1的个数。

设最小支持度min_support=30%,则最小支持度计数为:[50×30%=15]。由表3可知,I3(即数据通信网络及其设备配置课程)的个数小于最小支持度计数,应予以删除。将其他5个项重新进行统计,得到的结果如表4所示(统计后共有20个事务,由于篇幅关系,这里表4未列完整)。可以看出,相对于原始矩阵,压缩后的矩阵规模已经明显减小。

(2) 对表4各列按位采用“与”运算,生成频繁二项集。同样,若生成的频繁二项集中项取值为1的加权和大于最小支持度计数,则保留该项,否则应予以清除。例如,对I1和I2进行“与”运算:I1^I2=1^1×7+1^0×1+…+1^1×1=22,大于最小支持度计数,该项保留,而对I5和I6进行“与”运算:I5^I6=1^1×7+1^0×1+…+0^0×1=12,小于最小支持度计数,则清除该项。建立数组n,存放每个项取值为1的事务个数,建立数组m,存放每个事务中项为1的个数。最后得到的频繁二项集矩阵如表5所示(由于篇幅关系,这里表5未列完整)。

表4 删除I3后的压缩矩阵

表5 频繁二项集矩阵

对频繁二项集矩阵继续进行压缩,删除不能与相邻项集连接的项集对应的列向量。删除I1^ I2所在的行,对数组m的值进行修改。扫描数组m,删除值小于等于1的行向量,删除T2,T5~T12,T18~T20所对应的列向量。压缩后的矩阵如表6所示。

表6 压缩后的频繁二项集矩阵

(3) 继续生成频繁三项集,按照步骤2的方法,进一步进行连接和压缩,得到的结果如表7所示。由表7继续连接生成频繁四项集的个数为13(如表8所示),小于最小支持度计数15,故舍去该连接项,算法结束。

由上述步骤可以看出,该算法在有效地提取关联规则的同时,只需要扫描一次数据库,并且通过与运算来生成频繁集,省去了Apriori算法的连接和剪枝步骤,并通过矩阵的压缩提高了求高次频繁集的时间,提高了计算效率。

3.2  关联规则结果分析

根据表7、表8的频繁项集,设最小支持度为30%,最小置信度为50%,最终可以推导出相应的关联规则,现选取部分关联规则如表9所示。由表9的规则1,规则2可以看出,高频电子线路课程学得好的学生电子设计自动化课程也同样学得好,这说明两门课程相关性较大,具有相互促进的关系。而从规则3,规则4可以看出,高频电子线路课程学得好的学生通信原理与信号传输课程同样学得好的置信度只有46.88%,低于最小置信度,该规则无效;但反过来通信原理与信号传输课程学得好的学生高频电子线路课程学得好的置信度为88.24%,置信度较高,这说明通信原理与信号传输课程的学习有助于对高频电子线路课程的学习。

表7 生成的频繁三项集矩阵

表8 压缩后的频繁三项集矩阵

实际上,高频电子线路课程的一些原理在通信原理与信号传输课程上会继续深入讲解,因此后一门课程可以反过来帮助学生理解前一门课程的相关内容。而从规则7,规则8来看,同时学好高频电子线路,电子设计自动化课程的学生通信原理与信号传输、网站建设与网络管理课程学习成绩好的置信度高于最小置信度,这说明同时学好这两门课程对后续课程的学习也有促进作用。电子电路方面的课程是学习通信的基础,这也说明了要想学好专业课程,专业基础课的学习是很重要的。

表9 部分关联规则

同时,在提取关联规则时,专业英语和其他课程无关联规则,这说明对理工科学生来说,英语和专业课程间的相互关联作用并不明显。数据通信网络及其设备配置课程的支持度低于最小支持度,这说明这门课程总体成绩偏低,对该班级学生而言难度偏大,这需要从平时的教学及试卷命题等方面进一步寻找原因。通过上述分析可以看出该班级本学期学习的总体情况,及各学科之间的相互关系。这可以为教学管理人员在制定教学计划及评价教学质量时提供依据,也可以给教师平时授课提供参考,例如,在讲授高频电子线路课程的相关内容时,可以考虑学生对通信原理及信号传输课程的学习情况,对个别需要在通信原理及信号传输课程中深入学习的内容可在课堂上给学生相应的提示,以便于学生更好地掌握相关内容。

4  结  语

针对高校成绩数据库的特点,将基于压缩矩阵的Apriori算法应用到学生成绩相关性分析中。该算法只需扫描一次数据库,省去了Apriori算法的连接和剪枝步骤,并通过矩阵压缩提高了算法的执行效率。同时通过对期末成绩关联规则的挖掘,可以分析各学科之间的相关性,为学生选课、教师教学以及教学管理人员进行教学管理提供参考。

参考文献

[1] 邓雅琼.数据仓库和数据挖掘技术在高校统考课程成绩分析中的应用[D].桂林:广西师范大学,2011.

[2] 付沙,周航军.关联规则挖掘Apriori算法的研究与改进[J].微电子学与计算机,2013(9):111?114.

[3] 孙逢啸,倪世宏,谢川.一种基于矩阵的Apriori改进算法[J].计算机仿真,2013(8):245?249.

[4] 李绍中.数据挖掘改进算法在学生成绩分析中的应用[J].科技通报,2012(8):208?209.

[5] 张毅驰,朱巧明.改进的关联规则算法及其应用[J].计算机系统应用,2007(10):80?84.

[6] 姚双良.数据挖掘在高校课程相关性中的应用研究[J].科技通报,2012(12):232?234.

[7] 付沙,廖明华,宋丹.基于压缩矩阵方式的Apriori改进算法[J].微电子学与计算机,2012(6):28?32.

[8] 罗丹,李陶深.一种基于压缩矩阵的Apriori算法改进研究[J].计算机科学,2013(12):75?80.

表4 删除I3后的压缩矩阵

表5 频繁二项集矩阵

对频繁二项集矩阵继续进行压缩,删除不能与相邻项集连接的项集对应的列向量。删除I1^ I2所在的行,对数组m的值进行修改。扫描数组m,删除值小于等于1的行向量,删除T2,T5~T12,T18~T20所对应的列向量。压缩后的矩阵如表6所示。

表6 压缩后的频繁二项集矩阵

(3) 继续生成频繁三项集,按照步骤2的方法,进一步进行连接和压缩,得到的结果如表7所示。由表7继续连接生成频繁四项集的个数为13(如表8所示),小于最小支持度计数15,故舍去该连接项,算法结束。

由上述步骤可以看出,该算法在有效地提取关联规则的同时,只需要扫描一次数据库,并且通过与运算来生成频繁集,省去了Apriori算法的连接和剪枝步骤,并通过矩阵的压缩提高了求高次频繁集的时间,提高了计算效率。

3.2  关联规则结果分析

根据表7、表8的频繁项集,设最小支持度为30%,最小置信度为50%,最终可以推导出相应的关联规则,现选取部分关联规则如表9所示。由表9的规则1,规则2可以看出,高频电子线路课程学得好的学生电子设计自动化课程也同样学得好,这说明两门课程相关性较大,具有相互促进的关系。而从规则3,规则4可以看出,高频电子线路课程学得好的学生通信原理与信号传输课程同样学得好的置信度只有46.88%,低于最小置信度,该规则无效;但反过来通信原理与信号传输课程学得好的学生高频电子线路课程学得好的置信度为88.24%,置信度较高,这说明通信原理与信号传输课程的学习有助于对高频电子线路课程的学习。

表7 生成的频繁三项集矩阵

表8 压缩后的频繁三项集矩阵

实际上,高频电子线路课程的一些原理在通信原理与信号传输课程上会继续深入讲解,因此后一门课程可以反过来帮助学生理解前一门课程的相关内容。而从规则7,规则8来看,同时学好高频电子线路,电子设计自动化课程的学生通信原理与信号传输、网站建设与网络管理课程学习成绩好的置信度高于最小置信度,这说明同时学好这两门课程对后续课程的学习也有促进作用。电子电路方面的课程是学习通信的基础,这也说明了要想学好专业课程,专业基础课的学习是很重要的。

表9 部分关联规则

同时,在提取关联规则时,专业英语和其他课程无关联规则,这说明对理工科学生来说,英语和专业课程间的相互关联作用并不明显。数据通信网络及其设备配置课程的支持度低于最小支持度,这说明这门课程总体成绩偏低,对该班级学生而言难度偏大,这需要从平时的教学及试卷命题等方面进一步寻找原因。通过上述分析可以看出该班级本学期学习的总体情况,及各学科之间的相互关系。这可以为教学管理人员在制定教学计划及评价教学质量时提供依据,也可以给教师平时授课提供参考,例如,在讲授高频电子线路课程的相关内容时,可以考虑学生对通信原理及信号传输课程的学习情况,对个别需要在通信原理及信号传输课程中深入学习的内容可在课堂上给学生相应的提示,以便于学生更好地掌握相关内容。

4  结  语

针对高校成绩数据库的特点,将基于压缩矩阵的Apriori算法应用到学生成绩相关性分析中。该算法只需扫描一次数据库,省去了Apriori算法的连接和剪枝步骤,并通过矩阵压缩提高了算法的执行效率。同时通过对期末成绩关联规则的挖掘,可以分析各学科之间的相关性,为学生选课、教师教学以及教学管理人员进行教学管理提供参考。

参考文献

[1] 邓雅琼.数据仓库和数据挖掘技术在高校统考课程成绩分析中的应用[D].桂林:广西师范大学,2011.

[2] 付沙,周航军.关联规则挖掘Apriori算法的研究与改进[J].微电子学与计算机,2013(9):111?114.

[3] 孙逢啸,倪世宏,谢川.一种基于矩阵的Apriori改进算法[J].计算机仿真,2013(8):245?249.

[4] 李绍中.数据挖掘改进算法在学生成绩分析中的应用[J].科技通报,2012(8):208?209.

[5] 张毅驰,朱巧明.改进的关联规则算法及其应用[J].计算机系统应用,2007(10):80?84.

[6] 姚双良.数据挖掘在高校课程相关性中的应用研究[J].科技通报,2012(12):232?234.

[7] 付沙,廖明华,宋丹.基于压缩矩阵方式的Apriori改进算法[J].微电子学与计算机,2012(6):28?32.

[8] 罗丹,李陶深.一种基于压缩矩阵的Apriori算法改进研究[J].计算机科学,2013(12):75?80.

表4 删除I3后的压缩矩阵

表5 频繁二项集矩阵

对频繁二项集矩阵继续进行压缩,删除不能与相邻项集连接的项集对应的列向量。删除I1^ I2所在的行,对数组m的值进行修改。扫描数组m,删除值小于等于1的行向量,删除T2,T5~T12,T18~T20所对应的列向量。压缩后的矩阵如表6所示。

表6 压缩后的频繁二项集矩阵

(3) 继续生成频繁三项集,按照步骤2的方法,进一步进行连接和压缩,得到的结果如表7所示。由表7继续连接生成频繁四项集的个数为13(如表8所示),小于最小支持度计数15,故舍去该连接项,算法结束。

由上述步骤可以看出,该算法在有效地提取关联规则的同时,只需要扫描一次数据库,并且通过与运算来生成频繁集,省去了Apriori算法的连接和剪枝步骤,并通过矩阵的压缩提高了求高次频繁集的时间,提高了计算效率。

3.2  关联规则结果分析

根据表7、表8的频繁项集,设最小支持度为30%,最小置信度为50%,最终可以推导出相应的关联规则,现选取部分关联规则如表9所示。由表9的规则1,规则2可以看出,高频电子线路课程学得好的学生电子设计自动化课程也同样学得好,这说明两门课程相关性较大,具有相互促进的关系。而从规则3,规则4可以看出,高频电子线路课程学得好的学生通信原理与信号传输课程同样学得好的置信度只有46.88%,低于最小置信度,该规则无效;但反过来通信原理与信号传输课程学得好的学生高频电子线路课程学得好的置信度为88.24%,置信度较高,这说明通信原理与信号传输课程的学习有助于对高频电子线路课程的学习。

表7 生成的频繁三项集矩阵

表8 压缩后的频繁三项集矩阵

实际上,高频电子线路课程的一些原理在通信原理与信号传输课程上会继续深入讲解,因此后一门课程可以反过来帮助学生理解前一门课程的相关内容。而从规则7,规则8来看,同时学好高频电子线路,电子设计自动化课程的学生通信原理与信号传输、网站建设与网络管理课程学习成绩好的置信度高于最小置信度,这说明同时学好这两门课程对后续课程的学习也有促进作用。电子电路方面的课程是学习通信的基础,这也说明了要想学好专业课程,专业基础课的学习是很重要的。

表9 部分关联规则

同时,在提取关联规则时,专业英语和其他课程无关联规则,这说明对理工科学生来说,英语和专业课程间的相互关联作用并不明显。数据通信网络及其设备配置课程的支持度低于最小支持度,这说明这门课程总体成绩偏低,对该班级学生而言难度偏大,这需要从平时的教学及试卷命题等方面进一步寻找原因。通过上述分析可以看出该班级本学期学习的总体情况,及各学科之间的相互关系。这可以为教学管理人员在制定教学计划及评价教学质量时提供依据,也可以给教师平时授课提供参考,例如,在讲授高频电子线路课程的相关内容时,可以考虑学生对通信原理及信号传输课程的学习情况,对个别需要在通信原理及信号传输课程中深入学习的内容可在课堂上给学生相应的提示,以便于学生更好地掌握相关内容。

4  结  语

针对高校成绩数据库的特点,将基于压缩矩阵的Apriori算法应用到学生成绩相关性分析中。该算法只需扫描一次数据库,省去了Apriori算法的连接和剪枝步骤,并通过矩阵压缩提高了算法的执行效率。同时通过对期末成绩关联规则的挖掘,可以分析各学科之间的相关性,为学生选课、教师教学以及教学管理人员进行教学管理提供参考。

参考文献

[1] 邓雅琼.数据仓库和数据挖掘技术在高校统考课程成绩分析中的应用[D].桂林:广西师范大学,2011.

[2] 付沙,周航军.关联规则挖掘Apriori算法的研究与改进[J].微电子学与计算机,2013(9):111?114.

[3] 孙逢啸,倪世宏,谢川.一种基于矩阵的Apriori改进算法[J].计算机仿真,2013(8):245?249.

[4] 李绍中.数据挖掘改进算法在学生成绩分析中的应用[J].科技通报,2012(8):208?209.

[5] 张毅驰,朱巧明.改进的关联规则算法及其应用[J].计算机系统应用,2007(10):80?84.

[6] 姚双良.数据挖掘在高校课程相关性中的应用研究[J].科技通报,2012(12):232?234.

[7] 付沙,廖明华,宋丹.基于压缩矩阵方式的Apriori改进算法[J].微电子学与计算机,2012(6):28?32.

[8] 罗丹,李陶深.一种基于压缩矩阵的Apriori算法改进研究[J].计算机科学,2013(12):75?80.

矩阵 算法 课程