数据挖掘在学生成绩分析中的应用

上传人:r****d 文档编号:137605047 上传时间:2022-08-18 格式:DOC 页数:18 大小:201.50KB
收藏 版权申诉 举报 下载
数据挖掘在学生成绩分析中的应用_第1页
第1页 / 共18页
数据挖掘在学生成绩分析中的应用_第2页
第2页 / 共18页
数据挖掘在学生成绩分析中的应用_第3页
第3页 / 共18页
资源描述:

《数据挖掘在学生成绩分析中的应用》由会员分享,可在线阅读,更多相关《数据挖掘在学生成绩分析中的应用(18页珍藏版)》请在装配图网上搜索。

1、目 录1 绪论2课题研究背景及选题意义21.2 数据挖掘的产生背景及研究现状2数据挖掘技术在国内教育领域的研究现状21.4 论文研究的内容及结构安排32 数据挖掘的基本知识32.1 数据挖掘的概念32.2 数据挖掘的过程42.2.1 数据预处理42.2.2 数据挖掘4结果的解释和评估42.3 数据挖掘的功能42.3.1 概念/类描述:特征化和区分42.3.2 挖掘频繁模式、关联和相关52.3.3 分类和预测52.3.4 聚类分析52.3.5 离群点分析52.3.6 演变分析52.4 数据挖掘的方法62.4.1 关联规则62.4.2 决策树方法62.4.3 神经网络方法62.4.4 遗传算法62

2、.4.5 聚类分析72.4.6 粗糙集73关联规则算法73.1 关联规则概述7关联规则算法(Apriori算法)83.2.1 使用候选项集找频繁项集83.2.2 由频繁项集产生关联规则94 学生成绩数据挖掘系统的设计与实现94.1 关联规则算法参数说明94.2 分析目标94.3 数据准备94.4 数据的预处理104.5 创建挖掘模型视图114.6 学生成绩挖掘系统的实现114.6.1 设置参数114.6.2 生成频繁1-项集L1114.7 结果的分析155 总结与展望165.1 总结165.2 展望16数据挖掘在学生成绩分析中的应用摘 要:随着社会教育事业的发展,努力提高高校学生的教学质量是每

3、所高校的目标,学生成绩是评估高校教学质量的重要依据。当今高校规模不断扩大,学生数量不断增多,随着社会的发展,学生成绩受越来越多的因素影响,学生成绩分析更加重要。从大量数据中发现其潜在规律来研究学生成绩,预测成绩的发展趋势,从而给教师的教学环节提出有针对性的建议,对学生的管理教学工作有的放矢,提高授课和学习效果显得非常重要。因此,本文引进了近年来兴起的数据挖掘技术用于高校学生成绩中分析,找出影响学生成绩的根本原因及教学方面的相关问题,从而给学校提出宝贵的意见,提高教学质量。本文所做的工作如下:首先,介绍了数据挖掘基本理论和数据挖掘在高校教育领域的应用现状;其次,建立了本院校计算机系08级学生成绩

4、数据库,并使用关联规则中的Apriori算法对学生成绩数据进行挖掘,得出学生各门学科成绩之间的关系;最后,对关联规则的出的结果进行分析,得到影响学生成绩的主要因素,并提出可行的方案等。这些分析结果将对高校今后改进教学工作和对学生的教学管理有着重要的参考价值。关键词:学生成绩;数据挖掘;关联规则;Apriori算法1 绪论数据挖掘 (DataMining),又称为数据库中的知识发现(众 owledgeDiseove汀inDatabases,简称KDD),能够从数据库中抽取有效的、隐含的、潜在有用的知识。数据挖掘是信息技术研究的热点问题之一。由于在数据分析方面的优越性,数据挖掘技术已成功地应用到大

5、型商业、金融业、保险业等许多领域,但在教育教学层面的应用还比较少,处于发展的初级阶段。随着教育的发展,学生的学生成绩在高校学习生活中占据越来越重要的地位。学习成绩不仅是学校评估教学质量的重要依据,也是学生在大学学习中对所学知识的掌握程度的一个重要标志。由于影响学生成绩的因素很多,那么如何能从大量的学生成绩分数中得到该学生的学习成绩至关重要。对学生成绩的分析,从大量数据中存在的关系,规则中对学生成绩进行研究,预测其发展趋势,从而对教师的教学提出宝贵的意见,对学生的教学是十分有利的。传统的评价一个学生的学习成绩是根据该学生的平均值、方差、信度等数学方法来评价的,这些方法都行,但不够全面,有一定的局

6、限性。在如今信息时代,传统的方法对数据内在价值的分析要求已无法满足,所以本课题将采用数据挖掘技术分析学生成绩。对学校现有的学生数据库进行有效的数据挖掘,利用其中的关系和规则做出相应的决策,给学校及教师一个满意的结果,从而对学校更好的教育管理学生提供了可高的支撑。因此数据挖掘在学生成绩中的分析应用具有现实的意义1.2 数据挖掘的产生背景及研究现状随着数据库技术和网络技术的快速发展,办公信息化逐步增强。随之而来的信息量也呈爆炸式增长,人们生活与工作中生成的数据越来越多,这些海量的数据给人们带来了便利,同时也给人们对数据的利用带来了许多新问题。主要有如下四点问题:第一是信息爆炸式增长,难以消化;第二

7、是信息真假难以辨识;第三是信息安全难以保证;第四是信息形式不一致难以统一处理。数据库系统在数据存储和数据管理方面得到很大的改善,能够高效地实现数据的追加、查询以及统计等功能,但是难以发现海量的数据中隐藏的知识,更何况数据库系统本身也无法了解数据的背景知识,不能预测数据未来的发展趋势,造成了“数据爆炸、知识贫乏”的现象。如何刁能获取海量数据背后隐藏的知识、提高数据的利用率呢?面对这一挑战,数据挖掘技术运用而生,并迅速的在很多领域的到成功的应用。数据库中的知识发现一词首次在1989年举行的第十一届国际联合人工智能学术会议上提出,并用KDD描述了整个数据挖掘的过程,包括制定业务目标、数据获取、数据预

8、处理、数据挖掘和结果的分析与评价。科研人员对数据挖掘技术的研究己经有很多年的历史,研究方向主要是数据挖掘算法的发现和改进、数据挖掘技术在相关领域的应用两个方面。目前最有影响的算法有:概念树提升算法,挖掘关联规则的Apriori算法,用于分类的决策树方法、贝叶斯方法、神经网络和遗传算法等,用于聚类的聚类分析方法。数据挖掘技术己成功地应用到大型商业、金融业、保险业等许多领域,而且也开发了很多功能强大的数据挖掘系统。目前世界上比较有影响的典型数据挖掘系统有 :EnterpriseMiner、 hitelligentMiner、setMiner、Clementine、 WarehouseStudio、

9、Sees等。近年来,随着我国高等教育的快速发展,高校办学规模不断扩大,教育管理信息化水平有了长足的进步,形成大量的电子数据。众多高等学校面临一个共同的问题:数据丰富,知识贫乏。传统的教学管理手段无法处理海量的数据,已经逐渐不能适应高等教育的快速发展,这给高等学校教学管理工作带来了严峻的考验。数据挖掘技术的应用领域不断扩展,已经成功地应用到大型商业、金融业、保险业等许多领域。近几年,不少高等学校研究人员和教学管理人员已经开始将数据挖掘技术应用于高校的教学管理中。当前,数据挖掘在教育领域中的应用主要体现以下几个方面:(1)教学管理系统方面。将数据挖掘技术应用到教学管理系统中,建立教学管理信息挖掘系

10、统,可以对教学管理系统中的教学数据进行分析,得到传统分析方法无法得到的有价值的信息。学校可以利用这些信息掌握教学动态,及时进行调整,有利于提高教学质量。(2)高校教学质量评估方面。通过对具体院校学生的评教数据和部分教师信息进行数据挖掘,采用决策树、关联规则、聚类分析等方法挖掘影响教学质量的关键因素,并对挖掘结果进行了分析,验证其有效性,及时反馈到教学中,为教学提供决策支持。(3)网络教学方面。采用数据挖掘技术对网络教学过程中积累的历史数据进行挖掘和分析,产生有利于提高网络教学质量和服务水平的知识,从而促进网络教学工作的顺利开展。1.4 论文研究的内容及结构安排高等院校多年来的信息化教学管理工作

11、积累了大量的教学数据,其中包括课程名、学生成绩、系别等,拥有庞大的“数据中心”,但都未对数据进很好的分析和利用。以前都是利用一些求平均、最大、最小、方差等简单的数学方法进行处理,没能很好的发觉数据潜在的、有价值的规律。鉴于社会对高等教育大众化的发展需求和目前高等院校对教学数据管理的现状,利用这些数据性的分析,获得影响高等教育发展的因素,为提高学校各方面的成效以及学生培养的质量显得十分重要。本文从高效工作的实际出发,利用最经典且最具影响的Apriori算法进行挖掘,针对本院校08级计算机系学生成绩不及格科目的关联分析,找出该系学生对各门功课的学习热情,并给学校教学提供宝贵的建议。2 数据挖掘的基

12、本知识2.1 数据挖掘的概念数据挖掘是一个涉及多学科交叉的研究领域,综合了人工智能、机器学习、数理统计等学科,它把对数据的应用从较低层次的简单的查询提升到从数据中挖掘知识。自从数据挖掘诞生以来,许多专家从不同的角度给出了有关数据挖掘的定义。简单的说,数据挖掘就是从数据中获取知识。(1)从技术角度定义数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,抽取隐含在其中的、人们事先不知道的、但又潜在有用的知识的过程。该定义包含了三个层次的含义:数据必须是真实的、大量的、含噪声的;发现的是用户感兴趣、可理解的知识;发现的知识只面向特定的领域。(2)从应用角度定义数据挖掘是一种新的信息处理技

13、术,主要是对商业等领域的数据库中的大量业务数据进行抽取、转换、分析和模型化的处理,从中抽取对决策有用的知识。可以描述为:按用户需求制定业务目标,对大量的数据进行探索和分析,揭示隐藏的、有用的知识,并将一步将其转化为模型化的、先进有效的方法。2.2 数据挖掘的过程 数据预处理数据预处理是可以用于提高数据挖掘的数据的质量,是数据挖掘过程中必做的重要坏节。由于现实世界数据库中的数据面临工作人员采取和录入等人为操作,极易受噪声数据、属性值空缺和数据的不一致性的干扰。所以只有做好数据预处理,刁能提高数据质量,从而提高挖掘结果的质量。数据预处理又可以分为四个步骤:数据清理 (datacteaning)、数

14、据集成(dataintegration)、数据变换 (datatransformation)和数据归约 (datareduetion)。数据清理过程通常包括:缺少属性值的处理、噪声数据的平滑、孤立点的识别和利用以及不一致数据的解决。数据集成是解决数据取自多个数据源的问题,有效的将多个数据源的数据合并,存放到一个一致的数据存储中,避免代表同一概念的属性在不同数据库中可能具有不同名字而导致的不一致性和冗余,有助于提高挖掘的精度和效率。例如,将多个数据表中的数据根据一定的关系合并到一张表上,便于对数据进行分析。数据变换主要是对数据进行规格化操作,使之适合于挖掘的形式;数据归约是采用一定的方法,缩小数

15、据的规模,但能够产生同样的(或几乎同样的)分析结果。 数据挖掘数据挖掘阶段是知识发现过程中的核心环节。首先要明确数据挖掘的任务,确定是需要对数据进行分类还是聚类,是需要发现关联规则还是序列模式等等。然后就要决定数据挖掘过程大概可以概括为三部分:数据预处理(Data prep rocessing)、数据挖掘 (dataMining)、结果的解释和评估 (InterpretationandEvaluation)。用什么样的挖掘算法来对数据进行挖掘。挖掘算法的选择一般不能仅限于一种,即便是在同一研究领域,也可能有多种算法供选择。那么,如何来选择算法?什么样的算法适合该领域的数据挖掘?有两个因素需要考

16、虑:一是根据数据的特点,选择与该数据领域相关的算法进行挖掘分析;二是要根据用户对挖掘结果形式的需求,有的用户可能希望获取表述清晰、容易理解的知识,而有的用户则偏向于获取准确度较高的预测结果。选择挖掘算法后,要进行数据模型的建立和调整,然后对已处理好的数据进行分析,获取有用的模式。结果的解释和评估对数据挖掘发现的模式或数据集进行解释和评价,过滤出有用的知识。包括消除多余的模式,过滤后呈现给用户;利用可视化技术将有意义的模式以图形或逻辑可视化的形式表示,转化成用户可理解的语言,如把分类决策树转化为“IF一THEN”的规则。如果数据挖掘过程中发现的知识不能满足用户需求,则需要重新对数据进行处理,选择

17、其它算法来再次挖掘,并分析结果,直到满足用户需求。2.3 数据挖掘的功能所谓数据挖掘的功能就是指定数据挖掘任务所要寻找的模式类型。一般说来,按数据挖掘的任务来分,可以分为两类:描述性挖掘和预测性挖掘。描述性挖掘的任务是描述存储在数据库中数据的一般性质。预测性挖掘的任务对当前数据进行挖掘,根据挖掘出的信息对未来发展作出预测。数据挖掘的功能以及他们可以发现的模式类型介绍如下。 概念/类描述:特征化和区分数据可以与类或概念相关联。用精炼、简洁和精确方式描述各个类或概念可能是有用的,这种对类或概念的描述称为类/概念描述 (class/concePt DescriPtion)。这种描述可以通过以下方法得

18、到:(1)数据特征化,一般的汇总所研究类(通常称为目标类(target Class),是目标类数据信息的一般特性或特征的汇总,通常用户指定类的数据通过对数据库的查询收集。(2)数据区分,将目标类与一个或多个可比较类(通常称为对比类(contrasting class)进行比较对比,目标类和对比类由用户指定,而对应的数据通过数据库查询检索。(3)数据特征化和比较。 挖掘频繁模式、关联和相关频繁模式 (FrequentPattem)是在数据项中频繁出现的模式。存在多种类型的频繁模式,包括项集、子序列和子结构。通常,频繁项集是指频繁的在事务数据集中在一起出现的项的集合,如啤酒和尿布。频繁出现的子序列

19、,如顾客倾向于先购买电脑再购买数码相机然后再购买存储卡,这样的模式是一个(频繁)的序列模式。子结构可能涉及不同的结构形式,如图、树或格,可以与项集或子序列结合在一起。如果一个子结构频繁的出现,则称它为(频繁)结构模式。挖掘频繁模式导致发现数据中有趣的关联和相关。关联分析(Assoeiation Analysis)用于发现关联规则 (Assoeiation Rule),这些规则展示属性一值,频繁的在给定数据集中同时出现的条件。更形式的,关联规则是形如x=Y,即“Al Am=BlBm”的规则,其中,Ai(i属于 1,m),Bj(j属于1,n)是属性一值对。关联规则X=Y解释为“满足x中条件的数据库

20、元素多半也满足Y中的条件”。关联规则根据规则中属性个数可分为单维关联规则(Single一dimensional AssoeiationalRule)和多维关联规则(MultidimensionalAssoeiationRule)。 分类和预测分类(Classificatinn),它找出描述和区分数据类或概念的模型,以便能够使用模型预测类、标记未知的对象类。导出模型是基于对训练数据集的分析。导出模式可以用多种形式表示,如分类(if-then)规则、判定树、数学公式或神经网络。判定树是一个类似于流程图的树结构,每个节点代表一个属性值上的测试,每个分支代表测试的一个输出,树叶代表类或类分布。判定树容

21、易转换成分类规则。分类可以用来预测数据对象的类标记。当被预测的值是数据数值时,通常称之为预测。 聚类分析聚类就是将物理或抽象对象的集合,分组成为由类似的对象组成的多个类的过程。数据对象分组成为多个簇,处在同一个簇中的对象具有比较高的相似度,而处在不同簇中的对象则差别比较大。在许多应用中,可以将处在同一个簇中的数据对象看做一个整体来对待。聚类分析是一种重要的人类行为,人们通过聚类分析,识别出对象密集区域和稀疏区域,从而发现全局的分布模式,以及数据属性之间的相互关系。作为一个数据挖掘的功能,聚类分析可以作为一个独立的工具来获得数据分布的情况,观察每个簇的特点,集中对特定的某些簇做进一步的分析。此外

22、,聚类分析也可以作为其他算法(如特征和分类等)的预处理步骤,这些算法再在生成的簇上进行处理。 离群点分析数据库中可能包含一些数据对象,它们与数据的一般行为或模型不一致。这些数据对象就是离群点(Outlie:)。大部分数据挖掘方法将离群点视为噪声或异常而丢弃。然而,在一些特殊应用中(如欺骗检测),罕见的事件可能比正常出现的那些更有意义。离群点数据分析称作离群点挖掘(outlie:Mining)。 演变分析数据演变分析描述行为随时间变化的对象规律或趋势,并对其建模。尽管这可能包括时间相关数据的特征化、区分、关联、分类或聚类,这些分析的不同特点包括时间序列数据分析、序列或周期模式匹配和基于类似性的数

23、据分析。2.4 数据挖掘的方法数据挖掘的方法很多,每种方法都有其特定适用的领域。一种挖掘方法不可能胜任所有的数据挖掘任务,一个复杂的数据挖掘系统往往需将多种数据挖掘方法相结合起来,通过整合多种数据挖掘方法,从各个角度分析数据,弥补单个数据挖掘方法所存在的不足。数据挖掘的方法主要有以下几种。 关联规则关联规则挖掘是为了在数据库中发现两个或两个以上数据项之间的关联关系,是数据挖掘技术的主要研究方向和最成熟的技术之一。它是一种简单、明确的分析规则,主要用于发现存在于大量数据之间的关联性相关性,从而描述一个事物中某些属性同时出现的规律和模式。关联规则在数据挖掘领域应用很广泛,因为它没有变量的限制,可以

24、进行多维数据之间的相关性分析,适合于在大型数据库中发现数据之间有意义的关系和规则。数据挖掘领域中,关联规则应用的最典型的例子就是购物篮分析,通过从大量顾客得购买信息中发现,他们放入购物篮中不同的商品之间的联系,分析顾客的购物习惯,通过了解哪些商品频繁地被顾客同时购买,发现商品之间的关联,帮助销售商制定更好的营销策略。关联规则的算法主要有两个步骤:第一步是找出所有的频繁项集,频繁项集是指支持度不小于最小支持度的项目集。第二步是由频繁项集产生强关联规则,即产生的这些规则必须满足最小支持度和最小置信度。 决策树方法决策树也称为判断树,是一种基于实际数据的归纳学习算法,是数据挖掘技术的一个活跃领域。决

25、策树是一个类似于流程图的树型结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一个测试输出,每个树叶节点代表一个类或类的分布。决策树算法主要是用来解决以离散型变量作为属性类型的学习方法。连续型变量必须被离散化才能被使用。有关决策树方法的算法很多,其中最具代表性的是D3和C4.5算法。决策树方法的优点:与其他挖掘模型相比,其处理速度相对较快;决策树模型简单且易于理解,容易转换成SQL语句;与其它算法相比,决策树模型可以获得相近或更好的分类准确率。缺点:对连续型变量比较难预测,需进行类型转换;对有时间顺序的数据,需要做很多数据预处理工作;当类别太多时,错误出现的可能就会增加得比较快;一般的

26、算法分类时,只是根据一个字段来分类。 神经网络方法神经网络算法近年来越来越受到人们的关注,因为它为解决大型的复杂问题提供了一种相对有效、简单的方法。神经网络方法是建立在自学的数学模型基础之上的。它可以对大量的、复杂的数据进行分析,并可以完成对人脑或其他计算机来说极为复杂的模式抽取和趋势分析。基于神经网络方法的数据挖掘工具对于非线性数据具有快速建模能力,其挖掘的基本过程是:先将数据聚类,然后根据权值分类计算,神经网络的知识体现在网络连接的权值上。神经网络方法在用于处理非线性数据和含噪声的数据时体现出更大的优越性,比较适合用于市场数据库的分析和建模,通过对市场数据库中大量行业数据的精密分析,为市场

27、管理人员提供顾客、用户、市场状况和市场走势等方面的分析结果,以便管理者更好的决策。 遗传算法遗传算法是一种全局优化算法,具有隐含的并行性、非线性求解及易于和其他模型结合等特点。模拟生物的自然选择和遗传机制,采用遗传结合、遗传变异以及自然选择等设计方法,将求解的问题通过一组遗传算子,在求解空间上按一定的随机规则进行迭代搜索,直到求得问题的最优解。遗传算法在模式识别、神经网络、机器学习、工业优化控制、生物科学和社会科学方面都有广泛的应用。目前遗传算法的研究主要侧重于算法的收敛性证明、遗传算法与局部优化算法的结合、遗传算子的设计以及遗传算法在各领域的应用研究。 聚类分析聚类分析是一种寻求数据的自然聚

28、集结构的重要方法,是概念描述和偏差分析的先决条件。聚类分析就是将一组数据按类型分组,使其具有最大的组内相似性和最小的组间相似性。简单的说,就是达到使不同聚类中的数据尽可能不同,而同一聚类中的数据尽可能相似。它与分类不同,分类时对于目标数据库中存在哪些类这一信息我们是知道的,我们所要做的就是将数据库每一条记录分别属于哪一个类标记出来;而聚类是在预先不知道目标数据库到底有多少类的情况下,将所有的记录按照属性不同组成不同的类或者说“聚类”,并且使得在这种分类情况下,以某种度量为标准的相似性,在同一聚类之间最小化,而在不同聚类之间最大化。在很多应用中,由聚类分析方法得到的每一个聚类中的成员都可以被统一

29、看待。根据聚类的数据情况,可以把聚类分为两类:一类是对象聚类(Q型聚类)。对象聚类往往用距离或相似系数来度量相似性;另一类是属性聚类(R型聚类):属性聚类常常根据相似系数来度量相似性。聚类分析的算法主要有划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法等。 粗糙集粗糙集理论是近年来才兴起的用于研究不精确、不确定性知识的学习、表达、归纳的方法。它通过引入不可分辨关系、等价类、上近似、下近似等概念,考察知识表达中不同属性的重要性,来确定哪些属性是冗余的,哪些属性是必不可少的,删除冗余属性进而简化知识表达空间,最终能从数据中挖掘出有用的规则。它的理论核心是:知识源于对对象的分类,通过分类

30、找出属性间的关联规则。3关联规则算法3.1 关联规则概述关联规则挖掘是数据挖掘领域中的一个非常重要的研究课题,有效地发现、理解、运用关联规则是完成数据挖掘任务的重要手段,因此对关联规则的研究具有重要的理论价值和现实意义。所谓关联规则挖掘是从大量的、有噪声的、模糊的实际数据中,抽取隐含在其中的、人们事先不知道的、但又潜在有用的关联信息和知识的过程。数据关联是某种事物发生时其它事物会发生的一种联系,是数据库中存在的一类重要的可被发现的知识。关联分析的目的是为了挖掘隐藏在数据间的关系网。关联规则挖掘的形式化描述如下:设I=i,12,in是项的集合。设任务相关的数据D是数据库事务的集合,其中每个事务T

31、是项的集合,使得T包含于i。每一个事务有一个标识符,称作TID。设A是一个项集,事务T包含A当且仅当A包含于T。关联规则是形如A=B的蕴含式,其中A包含于I,B包含于I,并且A交于B为空。规则A=B在事务集D中成立,具有支持度s,其中s是D中事务包含 (即A和B二者)的百分比,可以用概率P()表示。规则A=B在事务集D中具有置信度c,c是如果D中包含A的事务同时也包含B的百分比,可以用条件概率P(B|A)表示。即:support(A=B)=P()confidenee(A=B)=P(B|A)同时满足最小支持度阐值(min_sup)和最小置信度阂值(min_conf)的规则称作强规则。对于给定的一

32、个事务数据库,关联规则挖掘就是通过用户指定最小支持度和最小置信度来寻找合适关联规则的过程。项的集合称为项集(itemset),包含k个项的项集称为k一项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。如果项集的出现频率大于或等于min_suP与D中事务总数的乘积,则项集满足最小支持度min_S;如果项集满足最小支持度,则称它为频繁项集 (frequentitemset);频繁k_项集的集合通常记作Lk。一般地,关联规则挖掘问题可以划分成两个子问题:(1)找出所有频繁项集通过给定的min_SuP,寻找所有频繁项目集,即满足支持度suPport不小于min_sup的项目集。

33、事实上,这些频繁项目集可能具有包含关系。一般地,我们只关心那些不被其它频繁项目集所包含的所谓频繁大项集 (FrequentLargeItemset)的集合。(2)由频繁项集产生强关联规则通过用户给定的min_conf,在每个最大频繁项目集中,寻找置信度eonfidenCe不小于min_eonf的关联规则。这两步中,第二步比较容易。挖掘关联规则的总体性能由第一步决定。3.2关联规则算法(Apriori算法)关联规则挖掘主要是基于频繁项目集发现上的,而Agrawal和 Srikant提出的APriori算法是最经典且最具影响的挖掘布尔关联规则频繁项集的算法。 使用候选项集找频繁项集APriori算

34、法的名字基于这样的事实:算法使用频繁项集性质的先验知识。 Apriori使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。首先,找出频繁1-项集的集合,该集合记作L1。L1用于寻找频繁2-项集的集合L2,而L2用于寻找L3,如此下去,直到不能找到频繁k-项集。找每个Lk时,需要进行一次数据库扫描。 APriori算法利用了两个基本性质:(1)由频繁项集产生的所有非空子集均是频繁的。(2)一个非频繁项集的任一超集必定是非频繁项集。根据算法定义,如果项集I不满足最小支持度阂值min_sup,则I不是频繁的,即I出现的概率P(I)min_sup。如果将项A添加到I,则生成的项集也不会

35、是频繁的,即P()min_suP。该性质称为反单调的,也就是说,如果一个集合不能通过测试,则它的所有超集也都不能通过相同的测试。APriori算法必须经历两个过程:连接和剪枝。(1)连接:为找Lk,通过Lk-1与自己连接产生候选k-相集。该候选项集记作Ck。设11和12是Lk-1,中的项集,记号11j表示11的第j项(例如,11k-表示11的倒数第3项)。为方便计,假定事务或项集中的项按字典次序排序。执行连接Lk-1连接Lk-1,其中Lk-1的元素是可连接的,如果它们前(k一2)个项相同。即Lk-1的元素和l1、12是可连接的,如果(l11=121l12=122)(l1k-2=12k-2)(l

36、1k-l12k-l)。条件(L1k-l=min_conf,则输出规则“s=(L一s)”,其中min_conf是最小置信度阂值。由于规则是从频繁项集生成的,因此所生成的每一个规则都会自动地满足最小支持度要求。这样,对于频繁k一项集,需要考虑的规则数为:如果希望产生更多的关联规则,可以降低最小置信度的值;反之,如果希望产生较少的关联规则,则增大最小置信度。4 学生成绩数据挖掘系统的设计与实现4.1 关联规则算法参数说明(1)min_sup:定义频繁项集的最小支持度,取值范围为0-1.系统默认值是0.03.如果该值设置太小,则算法可能花费很长时间进行处理,并且需要非常多的内存。(2)max而um-s

37、uPpo比定义频繁项集的最大支持度,取值的范围为o一1。系统默认值是0.03。该参数可以用于过滤那些太频繁的项。(3)maximum一probability:定义关联规则的最小概率,取值的范围为O一1。系统默认值为0.4。(4)maximum-lmPortance:定义了重要性小于设定值的规则会被过滤掉。(5)maximumitemsize:定义项集大小的最大值。默认值是0,表示对项集的大小没有限制。减小项集大小的最大值会减少处理的时间。(6)minimumitemsetsize:定义项集大小的最小值。默认值是。(7)maxiitemcount:定义项集数目的最大值。该参数避免生成大量的项集。

38、4.2 分析目标 数据挖掘的结果是无法预知的,但我们的分析还是要有目标性的,通过对08级计科60多条学生成绩进行挖掘分析,找出课程之间的相互关联关系,找出满足最小支持度和最小置信度的K_项集,根据结果指导教学。4.3 数据准备选取本校计科某几个学期的的某几门课程的成绩组成一个60余条数据信息的处理对象。这里只简单的生成一个数据表,为以后的分析提供方便。数据虽不是很完整,但也有一定的研究价值。4.4 数据的预处理在本次分析中,因为具体的课程教学情况存在差异,不可能所有课程都按统一标准。故每门课程使用优秀率20%,良好率30%,中等率20%,合格率20%,不合格率10%的比例对原数据进行离散化处理

39、,为了找出具有较高典型性的规则,本研究对成绩等级分为1、2、3、4、5这5个等级。及对学生成绩中课程成绩较高和课程成绩较低的三类课程(及成绩等级为1、2、5)进行分析,找出影响成绩的内在因素及课程之间的相互关联程度。本次数据挖掘所使用的数据库表就只有学生成绩表这个唯一的表,如表4-1所示:表4-1 学生成绩表名称类型备注Xhvarchar学号Xmvarchar姓名gdsx1int高等数学1CyyintC语言dxyy1int大学英语1xlszint心理素质jsjjcint计算机基础xxxtfxint信息系统分析wlgcghint网络工程规划学生成绩数据表中的数据如图4-1所示:图4-1 学生成绩

40、数据图对原表中的数据进行等级处理,求表中学生记录总数:select count(*) from stu ,得出结果为64。由上面的定义等级可知:处于1等级的人数为64*20%=12.8 ,即13人;处于2等级的人数为64*30%=19.2 ,即19人;处于3等级的人数为64*20%=12.8 ,即13人;处于1等级的人数为64*20%=12.8 ,即13人;处于1等级的人数为64*10%=6.4 ,即6人;按每门课程成绩的从高到低顺序,前13名的为第1等级,第14名至第32名为第2等,以此类推,直到所有学生所有等级划分完,修改的SQL代码如下:select top 13 xh,gdsx1 fr

41、om stu order by gdsx1 desc;update stu set gdsx1=1 where gdsx1=84;select top 19 xh,gdsx1 from stu order by gdsx1 desc;update stu set gdsx1=2 where gdsx1=77;select top 13 xh,gdsx1 from stu order by gdsx1 desc;update stu set gdsx1=3 where gdsx1=72;select top 13 xh,gdsx1 from stu order by gdsx1 desc;upd

42、ate stu set gdsx1=4 where gdsx1=56;update stu set gdsx1=5 where gdsx1=5;上面是以高等数学1的成绩做划分的,其它科的修改语句同上面一样,最后得到的成绩等级表如下表4-2:表4-2 学生等级表xhxmgdsx1Cyydxyy1xlszjsjjcxxxtfxwlgcgh20080519万凯342423520080533张蕾343112220081213彭毅554222420081477汪浩453523220081500李志芳431332320082072万鹏445325220082497向涛2354142.20082569聂加梅

43、22232114.5 创建挖掘模型视图根据挖掘的需要,在已有的数据库中创建挖掘模型视图如下:创建高等数学成绩等级视图View_gdsx1,代码如下:SELECT xh, gdsx1 FROM WHERE (gdsx1 4)创建c语言成绩等级视图View_Cyy,代码如下:SELECT xh, Cyy FROM WHERE (Cyy 4)创建大学英语成绩等级视图View_dxyy1,代码如下:SELECT xh, dxyy1 WHERE (dxyy1 4)创建心理素质成绩等级视图View_xlsz,代码如下:SELECT xh, xlsz FROM WHERE (xlsz 4)创建计算机基础成绩

44、等级视图View_jsjjc,代码如下:SELECT xh, jsjjc FROM WHERE (jsjjc 4)创建信息系统分析成绩等级视图View_xxxtfx,代码如下:SELECT xh, xxxtfx WHERE (xxxtfx 4)创建网络工程规划成绩等级视图View_wlgcgh,代码如下:SELECT xh, wlgcgh FROM WHERE (wlgcgh 4)4.6 学生成绩挖掘系统的实现 设置参数设置最小支持度和最小置信度(可实时修改):min_sup=0.05 生成频繁1-项集L1通过扫面挖掘模型视图View_gdsx1、View_Cyy、View_dxyy1等,根据

45、最小支持度min_sup产生频繁1-项集。即若count(课程)=count(*)*min_sup,则该课程入选单一频繁1-项集以从View_gdsx1视图中挖掘频繁1-项集为例,数据库编程代码如下:begindeclare sum as intdeclare dy as floatdeclare liminal as intdeclare min_sup as floatselect sum=count(*) from stuset liminal=sum*min_supselect dy=count(xh)from View_gdsx1if dy=liminalprint 高等数学属于频繁

46、1_项集elseprint 高等数学不属于频繁1_项集end执行后的结果如下图4-2所示:图4-2 运行结果图经过对频繁1-项集的挖掘,得出所有的课程都为频繁1-项集。找出频繁1-项集后,通过频繁1-项集找频繁2-项集.现在以高等数学与c语言之间是否存在的关系进行研究,对View_gdsx1、View_Cyy两个视图进行挖掘,同样min_sup=0.05,min_conf=0.4,挖掘代码如下:use 工学院计科begindeclare sum as intdeclare dy as floatdeclare liminal as intdeclare min_sup as floatdecl

47、are min_conf as floatselect sum=count(*) from View_gdsx1set liminal=sum*min_confif dy=liminalprint 高等数学与C语言有关联elseprint 高等数学与C语言没有关联end执行后结果如图4-3所示:图4-3 运行结果图同样,我们可以研究本校08级计科系学生高等数学与计算机基础之间的关联,代码如下:use 工学院计科begindeclare sum as intdeclare dy as floatdeclare liminal as intdeclare min_sup as floatdecla

48、re min_conf as floatselect sum=count(*) from View_gdsx1set liminal=sum*min_confif dy=liminalprint 高等数学与计算机基础有关联elseprint 高等数学与计算机基础没有关联end运行结果如图4.4所示:图4.4 运行结果图继续找频繁2-项集,探讨高等数学与信息系统分析之间的关联,分析结果如下图4-5所示:图4-5 运行结果图同理可做频繁3-项集的研究,通过对频繁2-项集的连接和剪枝,再通过支持度和置信度便可找出。4.7 结果的分析通过上面的挖掘分析,由于所分析的数据较少,而且每次的考试成绩不一定都

49、很真实,所以分析结果不是很具代表性,但也可以做下研究。由挖掘分析知:高等数学成绩在一定程度上决定C语言成绩的好坏,可能是由于2门课程的逻辑思维能力要求都比较高,故我们在想学好C语言课程的同时,一定要加强高等数学的学习。然而,分析中,高等数学的成绩对计算机基础成绩的关联不大,可能是由于学生们在大学刚接触电脑,且计算机基础大多数都是动手做,并且在进校前一段时间就有一部分人先接触并且热爱,所以进校后计算机基础课程学习比较强。通过上面的挖掘结果以及对结果的分析,在一定程度上对本院校的教学还是有一定的研究价值的,望今后学校能在这方面做些改进,一切都只为努力提高教学质量。 5 总结与展望5.1 总结本文着

50、重介绍了数据挖掘技术的概念,分析了目前在学校成绩管理系统中存在的问题,针对将数据挖掘技术应用到成绩分析中的必要性和潜在的优势,提出可行的改进办法。本文对关联规则中的经典Apriori算法进行了研究,对本院校计算机系08级学生成绩进行了分析,给学校教师授课以及学员对学生管理提出了可行性的建议。5.2 展望通过对本文的研究,是我对数据挖掘这门新兴启的学科充满热情,以及对以后的工作有了全新的改变。由于对本课题的研究时间以及本人的能力都有限,所做的工作都不够全面及深入,希望在以后的学习工作中,能够从更深层次上对其展开研究,把各个关键技术能在我们高校教学中得到实践及应用,挖掘出有用信息,提高教学质量,随着数据挖掘技术在各个领域的使用,它将必越来越受人们重视,对我们迅速发展的信息社会长生巨大的推动作用。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!