发布时间:2023-01-03 00:41:12
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的数据挖掘课程样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
近年来,在社会发展和科学进步的过程中,以信息技术为中心的各领域产生了丰富的数据,引起了社会各界人员的高度关注。体量大、速度快、模态多和价值密度低是大数据具有的特点,其能够促进科学和社会经济的进一步发展,对国家安全也具有重要的影响。然而从大量数据中挖掘出有价值的信息和知识是需要专业的数据挖掘人才来实现的,因此,在高校数据挖掘课程教学过程中,教师要创新教学方法,运用科学的教学理论培养学生对数据的意识,从而促进教学质量的提高和大量数据人才的培养。
一、科学引导,培养数据意识
在我国的各大高校中,数据挖掘课程是理科和工科都开设的一门课程,其专业性质较强,最初开设这门课程的主要目的是在于让学生了解数据的相关概念和挖掘数据的相关技术手段,并能够在以后的社会实践中应用到数据挖掘技术。但社会经济的发展和科学技术的进步,给数据挖掘课程带来了较大的挑战,仅仅是了解数据的相关知识和掌握浅层次的数据挖掘技术是不能适应时展需求的。因此,需要开设数据挖掘课程的高校教师在教学过程中对学生要进行科学的引导,注重培养学生的数据意识,提高学生对数据挖掘课程的积极性。
数据驱动的理论分析和应用是数据挖掘课程的重点,具体性和抽象性是其具有的两个特点。数据挖掘课程的主要研究对象是具体的数据,并从数据中挖掘出有价值的信息和知识,能够对数据进行解释和理解,这主要体现出数据挖掘课程的具体性特点;而在进行数据挖掘过程中使用的理论、方法和技术等概念,体现的是数据挖掘课程的抽象性,其在课堂学习过程中的消化和理解的难度是较大的,因为时间较短。由于种种因素对数据挖掘课程造成影响,因此在设计数据挖掘课程的教学之前,首先要做的就是让学生对数据挖掘课程感兴趣,并在发展过程中使学生的数据意识得以培养和提高。
在设计数据挖掘课程的教学过程中,可以增加讲解什么是数据、数据有什么作用、所具有的重要性等的学时,加强学生对数据的认识和重视。处在大数据的时代环境下,要让学生了解什么是“大数据”,而生活中的哪些方面存在大数据、大数据是以何种增长方式在哪些领域进行发展的大数据能够发挥作用等。教师在教学过程中可以使用多媒体教学的方法,通过实例和声像的展示,让学生了解生活中存在的数量,并清楚的掌握数据挖掘的技术方法,并从大量的数据中挖掘出有价值的信息和知识,为社会发展和企业进步提供服务,让学生了解在企业的发展过程中,数据挖掘的重要性。为了增加学生对数据挖掘课程的兴趣和重视程度,在教学过程中,教师还可以将数据分析和数据挖掘的相关招聘案例融入到教学过程中,从数据挖掘课程以往的就业率、职位性质、工资待遇及未来的职业发展前景等方面来增加学生对数据挖掘课程的兴趣,有利于在以后的学习生活中更好地掌握数据挖掘技术和应用数据知识。
二、深化基础,加强理论体系
现有的数据中心技术因大数据的特征而很难满足数据分析的需求,去噪降维技术、数据储存、数据整合、数据特征表示、数据通信传输和处理,以及非结构化和半结构化处理等方面是其主要表现。基于此,数据挖掘技术面临的局势较为严峻,并且数据挖掘课程是一门综合性较强的学科,涉及的内容较为广泛、复杂,主要包括数据库技术、统计学知识、机器设备知识、信息检索技术和智能计算等学科内容。然而现阶段的高校在教学设计过程中难以在有限的时间里将这些学科全部开设,即使是将这些学科全部开设了,每个学科的课时就会较少,不利于各学科的深入学习,从而对数据挖掘技术的掌握造成不同程度的阻碍。为了解决这个问题,在高校进行教学设计的过程中,可以把大三或大四的学生作为数据挖掘课程的主要教学对象,因为这部分学生对自己的职业生涯有清晰的认识,并且在大一、大二的学习过程中有一定的知识基础。在大一学年和大二学年开设高等数学、统计学、算法分析、智能计算、数据库原理和计算机系统原理等学科,为数据挖掘课程的学习做好基础性的工作。在教学过程中,教师也可以向学生推荐数据挖掘课程相关的数据,最好的专业领域较为著名的案例,有利于鼓励学生学习数据挖掘课程的自信心。外语水平也是数据挖掘课程对学生的一个要求,因为只有掌握了高水平的外语,才能够了解国外的数据挖掘技术的发展水平,全面的掌握国内外的数据挖掘发展情况。所以在设计高校数据挖掘课程的教学过程中,要推进基础知识的深化以及理论体系的完善,为日后的数据挖掘课程的学习奠定知识基础。
三、联系实际,创新教学方法
实践是理论来源的基础,对于理论的检验,实践是最有效的途径。由于数据挖掘技术具有强烈的抽象性,以至于学生对大数据的认识较为模糊,让学生了解数据挖掘课程的内容和在实际生活中的应用所采取的方式就是教师的教学方法。案列教学法是教学过程中最好的教学方法,有利于学生对数据挖掘知识的了解和掌握,还有利于学生掌握良好的数据挖掘技术方法。通过案例教学法,让学生了解数据挖掘在生活中的重要作用,在处理大数据时具有很大的作用。
教师在积极转变教学内容和教学方法的同时,学生也应该积极探索提高学习质量的方法,在课堂教学过程中,虽然教师起主导作用,但是课堂的主体仍然是学生。对于教学内容,学生应该主动接受,与被动接受相比,会获得较好的学习效果,因此要让学生欣然地接受教师教学过程中的新内容和新方法。此外,在上机实验课程的教学过程中,对于案例中的具体案例需要学生亲自来演算,而教师在这个过程中主要是引导和指导,启发学生对深层次内容的创新思考。还可以在每次采集和试验案例之后,要求学生提交相应的分析研究报告,这样一来,学生对于大数据挖掘课程的接受程度能够被教师很好地掌握,从而完善教师的教学方法,提高教学质量。
四、增强兴趣,深入科学研究
数据挖掘在大数据下面临着巨大的挑战,数据挖掘学科是一门综合性的学科,其中涉及的其他学科较多,所以学习难度和教学难度较大。因此在教学过程中要充分发挥教师的主导作用,引导学生对数据挖掘课程的深入学习。例如,让学生间隔性地去了解大数据环境下数据挖掘技术解决了什么问题,甚至让他们调查如今各大型招聘网中有关大数据分析和数据挖掘等职位的情况,进而增强学生对数据挖掘的兴趣。此外,对于年级较高的学生来说,深造是其主要选择的方式,也可以通过出国或是考研等渠道进行知识资源的深入学习,从而掌握更多的知识,提升自身的综合素养。对于这样的学生,教师应该通过鼓励的方式使其选择研究数据挖掘方向的科学,为了充分有效地提高这部分学生的研究水平,教师可以给学生布置一些具体的课题任务,课题任务的研究内容一定要保证精细程度,甚至可以精细到数据挖掘过程中使用的一个方法的研究,这有利于学生深刻认识课题任务重要性的培养,同时还有利于学生较为准确地把握问题研究的方法和内容。提高学生对新型研究技术和研究方法的掌握,可以增加学生的经典文献的阅读量,在这个过程中,学生的创新性思维得到了有效培养,教师还要采取有效的措施引导学生进行学术性的创作研究。在实际的教学过程中,将科学研究引入到其中,有利于促进学生对新知识的理解和吸收,还能够使学生解决问题的能力得到有效提升,为学生研究大数据的挖掘提供有利保证,并且打下一个坚实的基础。
五、结语
在大数据环境下,数据挖掘课程是各大高校急需开设的一门课程,教师在教学过程中,要使用创新的教学方法,让学生真正地了解到数据挖掘技术对社会进步和企业发展的重大作用。教师还要结合教学经验,重点从培养学生的数据意识、加强理论体系、创新教学方法和深入科学研究等方面进行数据挖掘课程教学设计,为提高大数据环境下挖掘课程的教学质量提供参考依据。
参考文献:
[1]刘建伟.数据挖掘课程设计的教学探索[J].科技信息,2013,(23).
[2]黄美丽.“数据仓库与数据挖掘”研讨型教学实践探析[J].计算机时代,2012,(12).
[3]周森鑫,盛鹏飞,王夫芹.数据挖掘课程案例教学研究[J].计算机技术与发展,2012,(11).
关键词:数据挖掘原理与算法;实例;教学探索
0.引言
随着经济、科技和信息技术的飞速发展,特别是网络技术的发展,数据的产生和存储能力有了很大程度的提高。数据挖掘的出现,为人们提供了一条解决“数据丰富而知识贫乏”困境的有效途径Ⅲ。所以很多高校,包括世界上一些著名高校都开设了数据挖掘课程。课程的基础理论部分一般包括数据预处理、关联规则、分类、聚类、时间序列挖掘、Web挖掘等内容。该课程使学生学会分析研究数据挖掘中数据预处理、常用算法、结果的可视化等技术,并培养学生的数据抽象能力,帮助学生形成科学思维和专业素养,使他们毕业后在就业上有更多的选择。
笔者将探讨基于实例教学的数据挖掘课程的教学内容安排,强调淡化学科背景,加强算法的应用性训练,将实际的例子贯穿于教学中,并重新组织授课内容、安排实践环节,教会学生学以致用。
1.教学现状分析
1.1课程本质
数据挖掘原理与算法涉及的学科领域很宽泛。其最终目的是在数据中挖掘出可供人们利用的知识和信息,因此数据挖掘技术要从数据库技术、统计学、机器学习、神经网络、知识系统、信息检索、高性能计算和可视化等领域汲取营养。另外,每个学科都在进行着日新月异的发展变化,数据挖掘技术遇到的挑战也为相关学科领域的深入研究提供了新的契机。由于课程难度较大,很多高校把这门课程作为研究生的专业课程,也有院校将此课作为本科生高年级选修课开设脚。但是本科生开设这门课程的普通院校较少,我们能借鉴的教学经验有限。
1.2数据挖掘课程教学环节的弊端
①某些学校对本科生开设的数据挖掘课程,其教学过程对理论的探讨过多,与应用存在距离,没有体现出这门课程面向应用的特质,缺少对学生工程能力的训练,存在学生在学了这门课程后不知道能干什么的现象。
②教学形式呆板单一。传统的教师讲、学生听的教学模式,很难引起学生的探究兴趣,不利于发挥他们自身的能动性和创新动机。
2.选择恰当实例贯穿数据挖掘课程的教学过程
烟台大学计算机学院所开设的数据挖掘课程在教学上安排了6章内容,涉及3个实例(其中两个是实际生活中的项目课题):第1个是用于房产信息调查的房产客户关系管理系统;第2个是用于烟台大学督评中心评教文本分类的中文文本数据挖掘系统;第3个是用于国家葡萄酒检测中心的数据分析的葡萄酒成分数据挖掘系统。
2.1房产客户关系管理系统
在讲述房产客户关系管理系统时内容涵盖绪论、知识发现过程和关联规则3章,重点讲授内容包括:
(1)数据仓库。住房管理数据仓库中的数据是按主题组织的,可从历史观点提供信息。数据挖掘技术能按知识工程的方法完成高层次需求,可以发现蕴藏在数据内部的知识模式。挖掘后形成的知识表示模式可为企业决策提供支持。
(2)通过对客户信息进行分析,阐述关联规则的参数:support、confidence、expected confidence,并简单介绍关联规则中的多维、多层次等拓展知识。
(3)关联规则挖掘。①讲授关联规则挖掘的Apriori算法;②讲述布尔关联规则的概念,对处理后形成的交易数据库进行布尔关联规则挖掘,将问题转化为寻找以决策属性为结果的规则;③将关联规则挖掘应用于客户关系管理的最终目的是努力将潜在客户转变为现实客户,将满意客户转变为忠诚的终生客户,提高客户满意程度,降低市场销售及宣传成本,增加利润率。
(4)设minsup=10%,minconf=70%。在统计的各类人群中猎取咨询的渠道主要是杂志、报纸、互联网和电视。经试验统计后得到以下有关知识:①满足age>50 AND职业=“工人”的客户占所统计总人数的9.7%;其中满足age>50 AND职业=“工人”AND渠道=“TV”的客户占92%。②符合学历=“大专”AND职业=“工人”的客户占所统计总人数的24.8%,其中满足学历=“大专”AND职业=“工人”AND渠道=“newspaper”的客户占82%。③被统计人群中满足income=“5000-9000”AND职业=“教师、医生、公务员”的客户占所统计总人数的32.7%;其中满足income=“4000-6000”AND职业=“教师、医生、公务员”AND渠道=“杂志”的客户占83%。④被统计人群中满足学历=“本科”AND income≥“10000”的客户占所统计总人数的占11.6%;其中符合学历=“本科”ANDincome≥“8000”AND职业=“公司经理”AND渠道=“杂志”的客户占86.5%。
(5)教师要分析Apriori算法的瓶颈和改进,介绍Close算法和FP-树算法,并且要求学生们掌握这3种经典算法。
2.2中文文本数据挖掘系统
中文文本数据挖掘系统围绕评教分类模型的建立讲述特征选择和主要分类算法。根据烟台大学教学督评中心提供的学生对教师的中文评教文本,利用分类的方法找出其评价的倾向性,结合教材,重点讲授了以下内容:
1)特征选择。
①介绍有监督、无监督和半监督的特征选择方法。②介绍使用分词软件后,统计词频,去掉小于阈值的低频词。③对比词频率、IG值(信息增益)、期望值差异对分类结果的影响留取特征词。
部分数据示例如下:用特征选择的方法对重要的属性进行抽取,略去对分类影响不大的属性,达到降维的目的,把特征选择作为预处理。我们选用517条主观评价作为训练样本,其中233条留言是一般评价,采用以下3种方式进行特征选择:词频率、IG值(信息增益)、期望值差异。不同方式特征选择对分类准确性的影响如表1所示。
2)分类。
在介绍常用的分类基础知识和决策树、ID3、朴素贝叶斯分类、最近邻分类算法之后,又介绍了基于潜在语义分析的降维技术,讲授了支持向量机(SVM)适用于文本分类的原因。布置给学生的任务是用爬虫获取网评,作倾向性分析。
评教文本分类统计后的结论是:将降维技术和支持向量机算法结合在评教模型的建立过程中,研究讨论的主要内容有:①各个指标取不同值对分类的影响,这些指标主要集中在特征抽取和选择、保留词性和降维维数等几方面;②对分词后的文本进行特征选择,筛去了词频数小于4的文本;③降维至30维,并适当设置SVM中的可变参数,找到合适的训练一测试样本的比例,最后综合出一个现有条件下的最佳分类模型。
2.3葡萄酒成份数据挖掘系统
葡萄酒成份数据挖掘系统介绍数值数据的预处理和聚类2章内容。对葡萄酒成份的分析是根据所提供的酒中各成份的含量数据,采用聚类或分类的方法确定某种葡萄酒的种类,比如是红葡萄酒、白葡萄酒还是甜葡萄酒。围绕这个问题我们介绍了如下内容:
1)数值数据的预处理。
①介绍葡萄酒中各个属性的含义和取值范围;②讲授数据的离散化技术,如等深、等宽、聚类技术;③讲授本例中使用的m一估值计算对数值属,1生的离散化技术;④讲述本例中如何避免0值出现及去噪声技术。
葡萄酒中各成份的含量数据如表2所示。
2)聚类。
在介绍聚类的基本知识和常用算法(如k均值、k中心点、DBSCAN技术)之后,讲解了:①本课题使用的层次聚类算法。在测试结果时通过测试样本和分类样本的不同比例,对结果进行了对比。②讲述了用朴素贝叶斯分类计数对这一问题的分类处理,同时对比了聚类和分类算法在同一问题上的结论差异。利用朴素的贝叶斯分类器可以完成预测目标,根据训练样本建立分类器,对待测样本进行预测,准确率可达到90%以上。③引导学生思考对问题的处理可以联合使用各种算法,并分析各种算法对结果的影响,从而找出解决问题的最佳方案。
2.4利用已知算法和实例讲授Web挖掘技术
因特网规模庞大、结构复杂、动态变化性大,蕴含大量的信息。将Web上丰富的信息转变成有用的知识正是Web挖掘的意义所在。用之前中文文本分类的方法引导学生在一些购物网站中下载对商品评论的中文文本,抽取特征词,进行倾向性分析,使学生熟悉支持向量机的分类方法,分词软件的使用及文本挖掘的整个过程。
3.结语
文章在前期制定应用型本科生数据挖掘课程教学大纲的基础上,针对数据挖掘课程内容多学科交叉的特点,在教学中提出淡化学科背景,注重算法应用与实践,以客户关系管理、葡萄酒数据分析、中文评教文本分类等实例作为授课内容主线,让实例教学始终围绕着典型的算法和前沿知识展开的教学方式。在今后的教学工作中,我们还应该不断站在学科发展的前列,经常更新实例,使其更好地融入教学,将教与学有机统一,取得更好的教学效果。因此我们还有大量的工作需要探索研究。
参考文献:
[1]宋成,李晋宏,项目驱动的数据挖掘教学模式探讨[J],中国电力教育,2011(27):116-177.
[2]刘云霞,统计学专业本科生开设“数据挖掘”课程的探讨[J],吉林工程技术师范学院学报,2010(6),20-22.
[3]徐金宝,对应用型本科生开设数据挖掘课程的尝试[J],计算机教育,2007(7):27-29.
[4]高园园,吕庆文,数据挖掘课程的教学思考[J],医学信息,2009,22(11):23-24.
[关键词] 经济与管理;本科生;数据挖掘;教学探索
[中图分类号] G642.3 [文献标识码] A [文章编号] 1005-4634(2013)04-0082-03
0 引言
数据挖掘技术能从大量数据中发现和学习有价值的和隐藏的知识,因而近年来在国内外受到极大重视,在电信业、零售业和银行业等生产大数据的行业中正获得越来越广泛的应用[1]。因此,近几年数据挖掘这门课程已越来越多的走进了高校课堂。但是,数据挖掘又是一门综合性较强的交叉学科,它涉及到统计学、数据库技术、数据仓库、人工智能、机器学习和数据可视化等学科知识,对学生的专业知识背景和前期所学课程有较高的要求,这在一定程度上限制了数据挖掘作为一门既有理论价值又有实践价值的学科的应用和推广。笔者结合自己的教学实践研究经管类专业本科生开设数据挖掘课程的教学探索。
1 经管类专业本科生开设数据挖掘课程的必要性和可行性分析
从经管类各专业的培养目标角度分析。以南京邮电大学经管类专业为例,该专业包含信息管理与信息系统、电子商务、市场营销、经济学和工商管理等专业,这些专业的培养计划都把培养学生具备市场分析、经营和管理决策能力作为专业的基本培养要求之一。数据挖掘作为商务智能的核心技术,是辅助管理者进行决策分析的有效工具,在激烈的商业竞争中发挥的作用越来越大。因此,为经管类专业本科生开设数据挖掘课程可以更好地实现专业培养目标。
从经管类专业本科生的就业角度分析。经管类专业本科生毕业后,有相当一部分同学会从事营销岗位或者信息管理、网站设计与维护等技术岗位。对于从事营销岗位的同学来说,由于现在的市场营销概念已经发展到精细营销理念,即企业恰当而贴切地对自己的市场进行细分,对各种客户群进行深入的分析和定位,并根据不同的客户群特点,采取精耕细作式的营销操作方式,将市场做深做透,进而获得预期效益。数据挖掘技术是实现精细营销的重要工具;对于从事技术岗位的同学来说,学习数据挖掘课程,掌握数据挖掘的思想和方法对培养学生的系统思维和解决实际问题的能力、提高学生的信息素养很有必要。因此,学习数据挖掘课程对学生未来的工作也是非常有帮助的。
数据挖掘是一门交叉学科,课程理论性强,且对学生的计算机基础要求较高。经管类专业只有信息管理与信息系统、电子商务两个专业开设了较多的计算机课程。但是所有经管类专业都开设了统计学必修课程和数据库原理与应用必修或选修课程,这两门课程是数据挖掘的核心。因此,适当地调整教学目标,将数据挖掘作为一门选修课程为经管类专业本科学生开设是完全可行的。
2 教学过程中存在的问题
笔者在为经管类专业本科生开设数据挖掘课程的过程中,往往遇到两个问题。
1)课程较强的理论性与学生知识结构缺陷之间的矛盾问题。数据挖掘这门课程涵盖了统计学、数据库原理、机器学习、信息论和时间序列等众多内容,课程教材中有较多的公式推导和算法分析,因此课程的理论性较强。然而,经管类专业本科生之前只是学习了统计学和数据库原理与应用两门课程,机器学习等其他课程知识均没有涉及到,因此在学习数据挖掘课程时会感到内容难度较大,障碍较多[2]。
2)理论教学与实验教学学时合理分配的问题。由于数据挖掘课程通常是作为选修课安排在经管类专业本科生培养计划中,总学时数相比学位课程要少,只有32学时。正如前文所述,这门课程包含的内容多、难度大,因此必须要保证足够的理论教学学时数量。同时,数据挖掘又是一门应用性较强的课程,特别是对于经管类专业本科生来说,一定要安排足够的实验教学学时,让学生在实践中提高分析问题和解决问题的能力。在较少的总学时约束条件下,如何合理地分配理论教学学时和实验教学学时是课程教学遇到的又一个问题。
针对经管类专业本科生开设数据挖掘课程时遇到的矛盾问题,将这门课程的教学目标确定为:掌握数据挖掘基本流程和经典算法的基本原理,熟练运用数据挖掘软件工具,分析和解决商业应用问题。课程教学目标指出,为经管类专业本科生开设数据挖掘课程的目的是培养学生利用数据挖掘这种工具去分析和解决商业应用问题的能力,而不是要求学生具备数据挖掘算法设计能力。因此,对于经管类专业本科生来说,实验教学和理论教学同等重要。在课程教学大纲中应将理论教学学时和实验教学学时设置为各16个学时。
3 教学内容设计
用16个学时来介绍数据挖掘课程的理论知识点,这就要求教师能够为经管类专业本科生精心挑选知识点,“量身定做”教学内容。
1)以应用为目的设计教学内容。根据经管类专业本科生数据挖掘课程的教学目标,本门课程在教学过程中应注重培养学生应用数据挖掘分析问题和解决问题的能力,这就要求教师能够围绕数据挖掘的整个应用过程来安排教学内容。数据挖掘的应用过程包括数据收集、数据预处理、模型构建和知识评价四个主要步骤。数据收集步骤是指准备数据挖掘的对象——数据源,有的数据源是一个数据文件或者是数据库中的一张关系表,但对于具体的商业应用来说,数据源往往是来源于同一个或不同数据库中的多张关系表,或者是多个数据文件,这时需要对数据源进行集成,甚至是构建数据仓库;数据预处理步骤是指通过数据清洗、数据集成、数据变换和数据归约等操作为数据挖掘任务提供干净、准确和简洁的数据,提高数据挖掘效率和挖掘结果的质量,它是数据挖掘中非常重要的环节;模型构建步骤是指选用数据挖掘算法在预处理后的数据集上构建挖掘模型的过程,关联、分类、聚类和回归分析是数据挖掘中四个主要的挖掘任务,每个挖掘任务又对应了多个挖掘算法;知识评价步骤是指采用各种统计指标对挖掘结果进行评价,以发现有价值的知识。由于不同挖掘算法得出的挖掘结果表现形式不同,知识评价应针对具体挖掘算法进行,因此知识评价步骤要安排在每个挖掘算法介绍完之后。
2)重点介绍经典算法。针对经管类专业本科生在学习数据挖掘课程时感到内容难度较大这一问题,且考虑到课程的理论授课学时有限,笔者对原有的数据挖掘内容进行了适当的精简。数据挖掘包含数十种挖掘算法,删除复杂和难度大的数据挖掘算法,针对每种挖掘任务重点介绍其经典算法。例如,关联挖掘中的Apriori算法,实现分类挖掘的决策树算法,实现回归分析的最小二乘法以及聚类分析的k-means算法。对于神经网络、贝叶斯分类、时间序列挖掘和Web数据挖掘等难度较大或内容拓展性算法,在介绍相关章节时略提一下,并鼓励有兴趣的学生在课余时间自学。
3)增加商业案例。数据挖掘是一门技术性较强的课程,一般的教材往往注重理论,相关案例较少,因而不容易激发学生的学习热情[3]。为了帮助经管类专业本科生增加对课程中各种挖掘任务的感性认识,同时也是为了激发学生对本门课程的学习兴趣,笔者在讲授过程中增加了若干关于数据挖掘的幽默故事、经典案例和在各行业中的应用案例,通过分析案例加深学生对算法应用的理解。例如,在介绍关联挖掘任务时给学生们引入“啤酒与尿布”的故事;在介绍分类挖掘任务时讲解客户流失分析的应用案例;在介绍聚类挖掘任务时分析客户细分的应用案例。
基于上述分析,笔者为经管类专业本科生开设的数据挖掘课程教学内容具体如下。
第一章为绪论,主要是对数据挖掘技术作概括性描述,让学生对数据挖掘定义、与数据仓库的关系、研究热点以及发展趋势形成感性认识。本章内容分配2个理论教学学时。
第二章为数据仓库,主要内容包括数据仓库的定义与特征、数据仓库的数据组织、数据模型、总体结构和设计等原理性知识点,以及联机分析处理(OLAP)的基本概念和分析操作等基本知识。本章内容分配2个理论教学学时。
第三章为数据预处理,主要介绍数据清洗、数据集成、数据转换以及数据归约等数据预处理的基本步骤和常见方法。本章分配3个理论教学学时。
第四章至第七章围绕数据挖掘的4个重要任务——关联、分类、聚类和回归分析,在介绍每种挖掘任务基本概念的基础上,重点介绍经典算法的基本原理和挖掘结果评价方法,以及每个挖掘任务在具体行业的应用案例。第四章至第六章每章内容分别分配3个理论教学学时,第七章内容分配2个学时。
4 实验项目设计
数据挖掘是一门与实际应用结合紧密、实践性较强的课程。为了加深学生对数据挖掘理论知识点的理解,锻炼和提高学生的实际动手能力,必须结合实验进行教学。数据挖掘课程的理论教学和实验教学构成一个完整的整体,缺一不可[4]。实验教学要充分调动学生的主动积极性,而不是简单地让学生进行验证式的操作实验或仅仅局限于机械地使用、熟悉某种软件工具。
笔者针对课程知识点设计了4个实验项目,每个实验项目分配4个实验学时。
第一个实验项目为数据仓库构建,实验软件是SQL Server 2000,它提供了一套完全的数据库和数据分析解决方案,其中的Analysis Service 组件支持数据仓库的创建和应用,并提供OLAP联机分析操作。构建数据仓库的数据源来自SQL Server 2000的样例数据库Northwind,Northwind是一家虚构的公司,从事世界各地的特产食品进出口贸易。Northwind数据库包含有这家公司的销售数据,数据内容多,数据量大,数据结构贴近企业的真实数据,符合实验要求[5]。实验包含4个步骤:(1)理解业务数据,确定分析主题。Northwind数据库中的表非常多,需要理清各关系表的内容及其相互间的关联,在此基础上确定感兴趣的主题;(2)围绕分析主题,将主题相关的关系表通过企业管理器中的DTS进行清洗和转换,为数据仓库提供合适的数据;(3)使用Analysis Server向导,建立多维数据集;(4)基于构建好的多维数据集,对数据进行切片、切块、钻取、聚合和旋转等各种OLAP分析操作。
第二至第四个实验项目均是基于Clementine12.0等数据挖掘工具,通过构建数据挖掘模型分析具体商业问题。其中,第二个实验项目为关联挖掘的综合实践,要求学生运用关联挖掘经典算法Apriori分析移动产品交叉销售;第三个实验项目为分类挖掘的综合实践,要求运用决策树算法进行电信客户流失分析;第四个实验项目为聚类挖掘的综合实践,要求运用聚类经典算法K-means进行电信客户细分分析。上述三个综合实验项目都要求学生首先能够分析具体应用问题,然后进行数据预处理、构建数据挖掘模型,并对挖掘结果进行分析和讨论,以锻炼学生数据挖掘的思维体系和数据分析能力。
5 教学方案实施
在教学方案实施过程中,着重营造活跃的课堂教学氛围,重视对课后作业的指导,以期提高课堂教学效果。考虑到经管类专业本科生的知识背景和本门课程的特点,在每次课堂上都会抛出一个思考题,要求学生们运用所学理论联系身边实际展开讨论。例如,在介绍完第一章后设计了一个讨论题:如何运用数据挖掘帮助电信企业提高竞争优势?学生讨论得很热烈,也得出了多个答案。由于本门课程课堂讲授学时较少,为了帮助学生复习、巩固及应用所学内容,课程每章节后都安排了课外作业,并就其中的难点进行指导和讲解。实验过程中,着重培养学生的独立性和数据分析能力。首先向学生讲授清楚实验具体要求和注意事项,然后放手让学生自己去做,遇到问题先鼓励学生自己思考解决,实在有困难再稍加指点。实验结束后,要认真分析实验结果,完成实验报告。选择实验数据时要考虑到数据是否符合现实情况且能够突出所分析的问题。除实验以外,其它实验项目均采用SPSS产品培训过程中所用的相关数据,数据量大小适中,适合在实验课上使用,而且这些数据与真实数据的差异小,有助于提高学生解决现实问题的能力。数据挖掘课程的教学方案已实践了5年,其间不断进行经验总结和探索,无论从近几年选修本门课程的学生人数还是从课堂上学生的反映和学习气氛看,本门课程都取得了很好的课堂教学效果。
6 结束语
数据挖掘作为一门技术性和应用性较强的课程,对优化经管类专业本科学生的知识结构、扩展学生的专业应用领域有着重要的作用。笔者结合自己的教学经验,对经管类专业本科生数据挖掘课程的教学内容和实验环节等方面进行了积极的教学探讨和实践,学生反映非常好。在今后的教学工作中,要不断实践,不断总结,进而不断改进和提高数据挖掘课程的教学质量。
参考文献
[1]刘云霞.统计学专业本科生开设“数据挖掘”课程的探讨[J].吉林工程技术师范学院学报,2010,26(6):20-22.
[2]李志勇,王翔,喻军.信息管理专业数据挖掘课程教学探讨[J].管理工程师,2012,(4):66-68.
[3]刘昆宏.浅谈本科阶段数据挖掘课程设置[C]//In Proceedings of 2010 Third International Conference on Education Technology and Trainning,Wuhan,2010:4-5.
基金项目:上海市信息安全综合管理技术研究重点实验室开放课题项目(AGK2009004)。
作者简介:赵跃华(1958-),男,江苏苏州人,教授,博士,主要研究方向:信息理论与安全、通信安全; 张翼(1985-),男,江苏姜堰人,硕士研究生,主要研究方向:信息安全、网络对抗; 言洪萍(1985-),男,江苏常州人,硕士研究生,主要研究方向:计算机病毒与反病毒、驱动开发与防火墙。
文章编号:1001-9081(2011)07-1901-03doi:10.3724/SP.J.1087.2011.01901
(江苏大学 计算机科学与通信工程学院,江苏 镇江 212013)
()
摘 要:恶意代码大量快速的繁衍使得恶意代码自动化检测成为必然趋势,加壳程序识别是恶意代码分析的一个必要步骤。为识别加壳可执行程序,提出一种基于数据挖掘技术的自动化加壳程序识别方法,该方法提取和选取可移植可执行(PE)特征,使用分类算法检测PE文件是否加壳。测试结果表明,在使用J48分类器时加壳文件识别率为98.7%。
关键词:可移植可执行文件分析;加壳识别;数据挖掘
中图分类号:TP309.5文献标志码:A
Classification of packed PE files based on data mining
ZHAO Yue-hua,ZHANG Yi,YAN Hong-ping
(Department of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang Jiangsu 212013, China)
Abstract: The proliferation of malicious code makes automatic malicious code detection an inevitable trend. Packed Portable Executable (PE) files identification is a necessary step of malicious code analysis. The paper presented an automatic identification method based on data mining, through which feature was extracted from PE files. The paper used classification algorithms and selected features to detect packed PE files. The test results show that the identification rate is 98.7% when using J48 classifier.
Key words: Portable Executable (PE) file analysis; packing detection; data mining
0 引言
近年来,恶意代码数量剧增,而恶意代码作者对恶意代码的保护也逐渐增强,多态、加壳等方法的运用使得恶意代码识别更加复杂,依靠传统方式分析恶意代码已经无法跟上病毒发展速度,因此恶意代码的自动化识别被提上了日程,其中恶意代码加壳[1-2]的识别是一个必要步骤。
现在的加壳PE(Portable Executable)文件检测手段主要有三种主要方式。第一种是特征码匹配,常见的工具如PEID[3],它可以识别上千种加壳程序,这些查壳工具对恶意代码加壳识别率很低,需要事先添加各种壳的特征到特征库中,常常滞后于壳的发展,因而无法识别新的或者少见的加壳程序特征。第二种是PE文件信息熵,Lyda等人[4]提出一种信息熵方式检测加壳PE文件,其原理是加壳后的PE文件相对未加壳的混乱度增加,导致部分节的熵值增高,通过计算PE文件各个部分数据的信息熵,然后根据熵值判断病毒文件是否加壳,但是作者对整个PE文件计算熵,这并不能最明显地反映其熵值变化。第三种方法使用PE文件头部属性,文献[5]提出一种新型的壳检测工具,利用加壳前和加壳后的PE文件头部属性不同来判断文件是否加壳,实验表明它的壳检测实时性较高,但对于伪装壳的误报率和漏报率较高。
现在的研究中对PE文件结构信息使用较少,本文将充分发掘PE结构特征,并将各项特征去除冗余和加以整理,最后利用数据挖掘方法检测加壳文件,得到了较好的分类效果。
1 特征抽取和筛选
1.1 特征抽取
PE文件格式是Windows平台上可执行文件的标准格式。在Windows系统中以EXE、DLL、OCX、SYS为后缀名的文件都是PE文件。加壳一般是对PE文件进行加密或压缩的过程。加壳后PE文件与原文件有很大的区别,但是仍然遵循PE文件格式。
图1 PE文件格式
如图1所示,PE文件包含了一个PE文件头,一个节表,然后是节表中所指向的节。PE文件头包含MS-DOS桩、PE标签、COFF头(Common Object File Format)和可选头。可选头包含了PE文件的重要信息,包括节的个数、堆栈大小等。节表中包含节的大小、名称等。这些节的内容包括代码、资源、数据等。本文根据对壳的先验知识,选取表1中的部分PE结构信息作为初选特征。
表1 PE文件可用分类特征
1.2 特征选择
PE结构信息中包括了大量信息,其中大部分不能用于识别加壳PE文件。为了提高挖掘的工作效率和准确率,需要将冗余信息去除。在本文中引入冗余特征消除的算法――主成分分析(Principal Component Analysis,PCA)[6-7],它将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。
该方法的最优性是从N个训练样本中提取m个主要特征,来达到降维的目的。假设n个d维的原始样本x1,x2,…,xn,组成一个矩阵X(d*n)其中X的每一列为一个样本,主成分分析按照式(1)中的线性变换把X投影到低维空间中的向量Y。
YWTX(1)
式中W(d*d′,d′d),Y(d′*n)为经过PCA变换后的样本特征。
首先求得样本均值u,并按照式(2)协方差矩阵ST。
ST∑Ni1(xi-μ)(xi-μ)T(2)
然后按照式(3)计算ST的特征值ei,并由大到小排序。
λieiSTei; i∈[1,N](3)
最后选择前d′个特征值对应的特征矢量作为变换矩阵W[e1,e2,…,ed′]。
本实验中使用向量空间模型来格式化数据,每个程序被定义为一个64维向量。提取所有的程序向量建立一个矩阵,使用PCA算法得到11个特征的主成分系数大于87%,可以移除其余53个冗余特征。
接下来把这11个特征深入分析,根据实际意义格式化特征向量。
1)在默认条件下,编译器生成的PE文件会有调试信息,但是加壳文件中基本不存在调试信息。
2)加壳PE文件的引入函数相对较少,并且都会有GetProcAddress和LoadLibrary这两个函数。
3)文献[4]中使用整个PE文件的信息熵来判断PE文件是否加壳,而根据本文统计得到的数据来看,加壳和未加壳PE文件的熵值区间有很大的交集,而在统计数据中发现加壳后的PE文件入口点所在节的熵平均值远远高出未加壳PE文件入口点所在节的熵平均值,两个熵值区间相对独立,但是仍然存在部分特殊的PE文件的入口点所在节表熵值异常,所以入口点所在节的熵值不能作为唯一的判断依据,如图2,通过计算得出加壳PE文件的入口代码段平均熵值为7.57,而未加壳PE文件平均熵值为5.78。
4)节属性。在未加壳的PE文件中,代码段的属性没有可写(IMAGE_SCN_MEM_WRITE)的属性,而在加壳PE文件中,壳的加载器需要在内存空间中恢复代码,所以加壳PE文件中代码段有可写属性。另外,加壳PE文件的其他非代码节也多为可写属性。
5)节长度。编译器默认情况下生成的PE文件中不存在长度为0的节,而在统计中发现被加壳的PE文件多数存在长度为0的节。
6)另外,编译器生成的PE文件节名固定,经过加壳的文件会出现非可见字符或其他的节名,特殊的节表名称等其他属性都可以作为判断的依据。
图2 加壳PE文件与未加壳文件熵值分布
通过整理,得到了表2中列出的各项特征。
表2 筛选整理后PE特征描述
将每个PE文件用一个向量VPE表示,其中A12packed用于标识文件是否加壳,VPE定义如下:
VPE(A1DebugInfo,A2ImportTableSize,A3EntrySectionEntropy,
A4SectionNameVisible,A5SectionAttribute,A6ExecutableData,
A7SectionNameAbnormal,A8NoCodeSection,A9EntryPointNotInCodeSection,
A10SumSizeOfRawData!SizeOfCode,A11PEOffset,A12packed)
按照以上向量定义格式化所有实验数据,使其符合数据挖掘工具要求,表3中给出了以上向量的部分实例。
表3 部分实验数据
2 验证分析
实验使用的数据集包括5578个PE文件信息,其中包括从vx heavean[8]获取的2855个加壳PE文件和从Windows XP系统中获取的2723个未加壳PE文件。为了获取PE特征,使用pefile[9]提供的python库开发了PEWalker,PEWalker可以获取包括PE文件中的结构信息、字符串信息、各节表的信息熵等。实验使用Knime[10]作为数据挖掘平台,Knime提供了SVM、Naive Bayes、MLP、J48等分类算法,由于篇幅所限,本文只给出J48分类器的流程。
实验中把PE特征数据集分为不相交的训练集Straining和测试集Stest两部分,其中Straining∩ StestВ另外将训练集划分为加壳程序集Spacked和未加壳程序集Sunpacked,且Spacked∪ Sunpacked Straining,Spacked∩ SunpackedВ
1)训练集,包含1800个加壳PE文件和1600个未加壳PE文件;2)测试集,包含1055个加壳PE文件和1123个未加壳PE文件。
表4中测试结果表明,相对于Native Bayes、MLP、SVM等分类器,J48分类器有较好的识别率和误报率,对壳的识别准确率达到了98.7%,可以对加壳PE文件作出有效判断。
图3 Knime搭建的分类工作流程
表4 测试结果
通过图4的ROC(Receiver Operating Characteristic)曲线可以看出在本实验中MLP和SVM分类器得到了相近的分类效果,而Naive Bayes分类效果最差。J48分类器在误报率为0.3%时得到了最好的检测效果。
图4 误报率和检测率
以下为J48分类器中的部分分类规则:
If DebugInfo1 and ImportTableSize > 36 and
ExecutableData0 :UnpackedFile
If SectionNameVisible0 and SectionNameAbnormal1 and
SectionAttribute 1 :PackedFile
If EntrySectionEntropy > 5.8 and
EntryPointNotInCodeSection 1:PackedFile
3 结语
本文对加壳PE文件进行深入研究,使用PE文件中的调试信息、节属性等结构信息作为特征,并使用SVM、Naive Bayes、MLP、J48等分类算法,实验表明J48分类器在检测加壳PE文件得到了较好的检测效果,弥补了基于特征码的PE文件加壳检测的不足,目前的缺点是不能检测壳的种类。后期的工作是进一步提高检测率,降低误报率,增加壳类型检测功能,并利用导出的语义化规则建立加壳PE文件检测系统。
参考文献:
[1] 于淼,孙强.对加壳技术的改进:超粒度混杂技术[J].计算机应用,2004,24(8):137-139.
[2] 庞立会.PE文件动态加壳技术的研究与实现[J].计算机工程,2008,34(19):166-168.
[3] PEID.[CP/OL]. [2010-12-05]. peid.info.
[4] LYDA R, HAMROCK J. Using entropy analysis to find encrypted and packed malware[J]. IEEE Security and Privacy, 2007,5(2):40-45.
[5] CHOI Y S, KIM I K. PE file header analysis-based packed PE file detection technique[C]// Proceedings of International Symposium on Computer Science and Its Applications. New York: IEEE, 2008:28-31.
[6] 王正群,邹军,刘风.基于集成主成分分析的人脸识别[J].计算机应用,2004,28(1):120-124.
[7] 朱明旱,罗大庸,易励群.一种广义的主成分分析特征提取方法[J].计算机工程与应用,2008,44(26):38-40.
[8] VX Heavens [EB/OL]. [2010-12-05]. .
关键词:成绩分析;数据挖掘;关联规则
中图分类号:TP311.13 文献标识码:A 文章编号:1674-7712 (2013) 20-0000-01
随着高职院校的不断扩招,生源质量在下降,生源的数量也在逐步出现萎缩。在这种情况下,如何有效的利用现有的教学资源,改善教学质量,使人才的培养质量得到进一步的提高,在逆境中成长,是每一所高职院校面临的重大挑战。
目前各个高职院校的教务管理基本上都是采用基于数据库的教务管理系统软件。教务软件在这么多年的应用中积累了大量的数据,学生的成绩信息在教务软件的数据库中就大量的存在。一般情况下,成绩数据仅仅只是作为一种备份数据存放于数据库中,大部分只是进行简单的查询修改操作等,对于数据之间潜在的联系,影响成绩的因素等这些信息,我们却无从得知,并没有做到充分的利用这些数据。
利用数据挖掘技术,我们可以从这些成绩数据中挖掘出可以指导我们教学的,有意义的信息,主要表现在:(1)可以全面地认识学生的学习状况。对学生学习成绩的全面分析,不仅能够获得学生学习的整体情况,还可以了解学生对具体课程内容的掌握情况。(2)可以分析课程之间的相关性。分析各个专业的核心课程,可以了解学生对这些课程的理解情况,以及学生在这些课程中的得分情况,找出课程之间的联系,还可以对排课情况进行指导。(3)可以分析入学成绩对在校学习情况的影响。跟踪学生在本专业的学习情况,结合入学的成绩,找出入学成绩对专业相关课程的影响情况,从而指导学生的专业学习。
一、数据挖掘的概念与技术
(一)什么是数据挖掘。数据挖掘是一门涉及面很广的交叉学科,受到了各种不同领域的专家学者的关注,关于数据挖掘的定义也有非常多种,但归纳起来数据挖掘主要就是从大量的没有经过处理的数据中发现未知的有价值的规律的过程。
(二)数据挖掘的过程。数据挖掘的过程一般由五个阶段组成:(1)定义问题,明确数据挖掘的目的是什么。(2)数据准备,包括要选择什么样的数据以及对选择到的数据如何进行预处理等。(3)数据挖掘,根据数据的特点,选择合适的数据挖掘算法,在已经处理过的数据上进行数据挖掘。(4)结果分析,对数据挖掘的结果进行合理的解释,给出能够被用户所接受的知识。(5)知识运用,将数据挖掘出来的结果应用到相应的领域中。
数据挖掘的过程并不是一个简单的按流程完成任务的过程,在数据挖掘的过程中往往会出现循环往复,精益求精的过程。例如,在任务过程中发现之前选择的数据不是很好或者对数据的预处理没有达到我们的效果,那么这个时候我们就需要重新对数据进行选择或者重新对数据进行处理,直到达到我们的效果。
(三)常用的数据挖掘方法。数据挖掘技术是一门交叉学科,充分结合了人工智能与机器学习的特点,因此如聚类分析,决策树,统计分析等在机器学习,模式识别,人工智能等这些领域中的一些常规技术经过改进,大部分都可以作为数据挖掘的方法进行使用。模糊集方法,关联规则方法,遗传算法,神经网络方法,覆盖正例排斥反例方法,决策树方法,统计分析方法和粗集理论方法等都是数据挖掘技术中常用的方法。
二、成绩分析中的数据挖掘方法
成绩分析中主要是采用关联规则算法作为数据挖掘的方法。关联是指两个或两个以上的事务间存在着某种的规律性,数据关联是数据库中普遍存在的可被发现且重要的知识。关联规则算法就是从大量的数据中找出隐藏在其中的关联数据的一种算法。把关联规则算法应用于成绩分析中,主要是要从这些成绩数据中找出他们之间存在的关联关系,找出影响成绩变化的因素,分析入学成绩对在校成绩的影响主要体现在哪些方面,以及针对试卷中的得分情况,对学生容易失分的知识点进行总结,还能够得出课程之间的相关性分析。
以下是与关联规则挖掘中需要特别注意的几个概念:(1)关联规则。关联规则是表示成XY的一个蕴含式,其含义为如果X在一个事务中出现,那么Y肯定也会在出现在同一个事务中,X就称之为条件,而Y就为这个规则中的结果。(2)置信度和支持度。XY的置信度指的是同时包含X和Y的事务数与只包含X的事务数的个数的比值。XY的支持度指的是同时包含X和Y的事务数与事务总数的比值。置信度与支持度主要是为了验证规则的可靠性与可用性。(3)最小置信度和最小支持度。最小置信度和最小支持度是关联规则中依靠的两个主要的评估准则。这两个数值都是由用户定义的。最小置信度表示了关联规则中必须满足的最低可靠度,。最小支持度则是表示数据集在统计过程中必须满足的一个最低程度。而支持度只要比最小支持度大的非空集合我们都称之为频繁项集。(4)强关联规则。强关联规则就是同时满足最小置信度和最小支持度的规则。
三、关联规则挖掘过程
利用关联规则进行数据挖掘的过程从本质来上说是找寻强关联规则的过程,主要通过以下两个阶段来实现:(1)分析识别数据库中的频繁项集。在数据挖掘之前,先定义出最小支持度,再根据这个最小支持度,从原始数据集合中找出支持度不小于最小支持度的项集,即频繁项集。(2)强关联规则的产生。利用(1)中所产生的频繁项集,来产生规则,这个规则必需满足的条件是其置信度要大于或者等于最小置信度
四、结语
成绩作为现代高职院校管理系统的一个重要组成部分,要充分利用起来,才能更好的指导教学,改善教学质量,提高人才培养的水平,提升学校声誉。通过对海量的成绩数据进行数据挖掘,可以更好的获得相关数据之间的关联关系,提高了成绩分析的效率,保证了成绩分析的科学性。
参考文献:
[1]杨晓,张迎新.Apriori算法在消费市场价格分析中的研究与应用[J].北京工商大学学报(自然科学版),2009(3).
[2]唐新宇,陈晓明.最小支持度在教学质量评价系统中的数据挖掘应用[J].计算机与现代化,2012(8).
[3]韩家炜,堪博.数据挖掘概念与技术[M].北京:机械工业出版社,2007.
对很多培养机构而言,目前急需解决的问题主要有:如何根据不同成员需求设置合理的课程、如何通过教学方式提高成员学习积极性、如何提高成员培训效果、如何通过考核检验成员学习成果等,都是培养机构发展过程中必须面对的问题。随着我国信息化进程的加快,一些培养机构也开始进行信息化建设,通过信息系统对培训相关事宜进行管理。但目前在针对培养机构的信息系统中,所实现的功能和模块是进行简单的查询、统计。在了解培训评估效果时,目前的信息系统中,学员通过系统对不同课程的教师进行打分,系统自对进行汇总、统计,得出教师评价。但这种汇总、统计是最简单的,对教师评价也缺乏全面性和深度。
2数据挖掘在培训管理系统中的应用
大数据时代下,数据信息呈现出海量特点。如何从海量、不完全的信息中寻找到真正有用的信息,是大数据时代中重要的问题。由此便利用到数据挖掘,顾名思义,数据挖掘就是从众多数据信息中寻找到有用、有价值的信息。大数据时代下,教育行业中,信息量也是海量的,要想提高教学质量就需要运用数据挖掘找寻到有用的教育信息,并运用到实际教学中。信息系统通过一段实际应用后,里面存储了大量数据,相应的,学习管理系统也是如此,里面蕴含了大量数据信息。如在线课程等功能中藏有大量师生应用过程中的数据资料。如图1为数据挖掘在培训管理中的流程图。
2.1初步探索
培训管理系统中一般具有数据统计功能,将相关事宜进行统计。如网络课程开展过程中,数据挖掘在培训管理系统中的应用文/张宏亮在大数据时代,如何使用现有的数据对学员进行培训管理,从而提高培训效率是当前培训管理中所面临的问题。本文分析了数据挖掘在培训管理中的应用主要表现在初步探索、数据预处理以及数据挖掘过程。其中数据预处理和数据挖掘是培训系统的核心功能。
2.2数据预期处理
数据预处理时,原始数据库会发生转变,以适应数据挖掘、数据挖掘算法等的要求。在处理结构化的数据时,数据预处理需要完成两项任务,即消除数据缺陷现象的存在和为数据挖掘奠定良好基础。数据处理是对现有的数据进行前期处理,方便后期数据挖掘。如图2为培训管理系统中数据预处理模块。
2.3数据挖掘
WangJ开发了一个将数据挖掘技术与基于模拟的培训相结合的混合框架,以提高培训评估的有效性。以信仰为基础的学习概念,用于从知识/技能水平和信心水平的两个维度来评估学员的学习成果。数据挖掘技术用于分析受训人员的个人资料和基于模拟的培训产生的数据,以评估学员的表现和学习行为。提出的方法论以台湾基于模拟的步兵射击训练的实例为例。结果表明,提出的方法可以准确地评估学员的表现和学习行为,并且可以发现潜在的知识来提高学员的学习成果。BodeaCN使用数据挖掘技术进行了培训学习管理,用于分析参加在线两年制硕士学位课程项目管理的学生的表现。系统数据来源是收集学生意见的调查数据,学生记录的操作数据和电子学习平台记录的学生活动数据。
3总结
目前培训机构在进行教学评估时,所选择的指标都是参考其他机构的,并没有真正从自身实际出发进行评估,因此教学评估时存在诸多问题。其中最明显的两个问题是:第一教学评估方式单一化严重,只以数字评估为主;第二评估时容易受各种主观因素影响。
作者:张宏亮 单位:承德市统计局
参考文献
[1]菅志刚,金旭.数据挖掘中数据预处理的研究与实现[J].计算机应用研究,2004,21(07):117-118.
[2]王全旺,赵兵川.数据挖掘技术在Moodle课程管理系统中的应用研究[J].电化教育研究,2011(11):69-73.
关键词:web数据挖掘 智能选课系统 学生培养
中图分类号:TP312 文献标识码:A文章编号:1007-3973 (2010) 02-068-03
1引言
随着教育信息化得发展,越来越多的高校开始使用智能系统对数据库进行管理,有利于实现对蕴含在数据里的信息进行挖掘,为相关工作提供理论依据。传统的选课系统是教师按照专业进行划分,学生只能在专业相关的层次上对学习的课程进行选择。而智能选课系统改变了传统的选课模型,能根据学生的不同兴趣和特点提供相应的学习课程选择,能充分体现出因人施教。文章把web数据挖掘技术应用到智能选课系统的模型构建中,利用关联规则发现学生的学习兴趣和特点,给出相应的学习课程选择,这将为高校针对性的对人才培养提供一个方法。
2数据挖掘的基本原理方法
数据挖掘是一种决策支持过程,主要基于人工智能、机器学习和统计学技术,从数据库的大量数据中提取出隐含的、先前未知的、有应用价值的、非平凡的模式。其中,模式指数据库之间的逻辑关系;而非平凡指在知识的发现过程中具有的不断定性和一定的自由度 。数据挖掘的过程主要分为三步:数据预处理、数据挖掘及结果的分析和评估 。数据预处理是数据挖掘过程中一个很重要的步骤,尤其是在对含有噪声、不完整、甚至不一致的数据进行数据挖掘时,需要进行数据预处理以提高数据的质量,并最终达到提高数据挖掘所获模式知识质量的目的。数据挖掘首先要确定挖掘的任务和目的,确定挖掘任务后,就要决定用什么样的挖掘算法。选择算法有两个考虑的因素:一是不同的数据有不同的特点,因此要用与之相关的算法来挖掘;二是要根据用户和实际运行系统的要求。在结果的分析和评估中,对一些可能存在的冗余或无关的模式,要将其剔除。如果挖掘出来的模式不符合用户要求,则需要重新选择数据,采用新的数据变换方法,换用新的参数值。数据挖掘的具体步骤如图1所示。
图1 数据挖掘步骤
Web数据挖掘是数据挖掘技术在web环境下的应用。它所处理的对象包括:静态网页、web数据库、web结构和用户记录信息等。一般基于web的数据挖掘主要分为三类:(1) web内容挖掘。对文档的内容进行挖掘或提取关联信息,并对文档的内容进行总结和概括。(2)web结构挖掘。从站点组织结构和页面结构中推导出知识,对web页面间的结构进行挖掘,找出数据链的结构进行分类、聚类,从而发现页面间的关系,找出重要的页面。(3) web使用记录挖掘。通过分析web服务器上的日志文件,从而挖掘出用户访问web的兴趣模式,分析用户行为的意义 。
Web数据挖掘的系统框图如图2所示,系统大致可分为四个模块:数据收集模块(服务器端数据、客户登记信息)、数据预处理模块、模式规则选择模块和应用接口模块。模式收集模块负责收集服务器端的数据和客户登记资料,然后以文本的方式将收集的结果返回;数据预处理模块对返回的信息进行预处理,去除信息冗余;模式规则选择模块则是从各个站点或站点间获取通用模式,同时还对获取的模式负责解释 。
图2Web数据挖掘系统框图
3智能选课系统模型构建与分析
构建的智能选课系统模型如图3所示:
图3智能选课系统模型
其中,学生信息库,用于记录学生的学习行为兴趣;学习课程推理机,通过人机交互,从学生信息库中获得信息,启动推理系统工作,为学生提供合理的选课课程范围。信息挖掘模块,用于控制、协调整个智能选课系统,用于描述关联、聚类分析等数据挖掘的方法并根据当前数据库中学生信息应用知识库中知识,按确定的推理规则进行推理,对学生的信息进行分析,从而给出学生选修学习课程的范围。领域知识库,用于存放相关知识的课程。
图4学生选课流程
Web数据挖掘技术在智能选课系统中的具体应用主要有:
(1)利用人工神经网络挖掘学生信息库中学生对以前课程学习的知识点的理解程度。人工神经网络在结构上模仿生物神经网络,是一种通过训练来学习非线性预测的模型。这个算法的学习过程,由正向传播和反向传播组成,在正向传播过程中,输入信息从输入层经隐单元层逐层处理,并传向输入层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的链接通路返回,通过修改各层神经元的权值使得误差信号减小,然后在转入正向传播过程,反复迭代,直到误差小于给定值 。
(2)利用聚类分析对学生的学习兴趣和特点进行分类。信息挖掘模块从学生信息库中抽取学生特征,按照学生的学习兴趣进行分类,并赋予每个学生类标记,然后根据记录里每类学生的特点,给出相应的选修课程范围。聚类分析是数据挖掘中一种非常重要的技术和方法,聚类就是将一组相关集合按照某种相似度函数或相似性准则划分成若干类别,使同一类别个体之间的差异达到最小化,不同类别之间的差异达到最大化。聚类分析的问题可描述为:给定m维空间Rm中的n个各向量,把每个向量归属到S个聚类中的某一个,使得每个向量与其聚类中心的距离最小。聚类分析的实质是一个全局优化问题。此外,m可认为是样本参与聚类的属性个数,n是样本个数,S是由用户预先设定的分类书目或聚类个数 。
按照聚类结果表现方式的不同,聚类分析算法可以分为:基于群的聚类算法――这种算法可看做进化计算的一个分支,它模拟了生物界中蚁群、鱼群和鸟群在觅食和逃避敌人时的行为;基于粒度的聚类算法――聚类是无导师的学习,聚类的目的是发现样本点之间最本质的抱团性质的一种客观反映,聚类的操作是在一个统一的粒度下进行计算的;基于模糊的聚类算法――模糊聚类分析具有描述样本类属中间性的优点,能够客观反映现实世界,人类大多用一些模糊的词语来交流思想互通信息,然后进行推理分析、综合判断,最后做出决策。人们对客观事物的识别往往通过一些模糊信息的综合,来获得足够精确的定论 。
(3)利用关联规则发现学生的学习兴趣特点,进行相应的课程推荐。关联规则挖掘是从数据库中挖掘出那些支持度和置信都大于用户指定的最小支持度和最小置信度的关联规则。设I={i1,i2…,im}是由m个不同的项目组成的集合,D是针对I的事物集合,每一笔事物包含若干项目ii,ij,…,ikI。关联规则表示为XY,其中XI,YI,并且XY。X称作规则的前提,Y是结果。一般把一些项目的集合称作项目集。在项目集中项目的数量叫做项目集的长度。关联规则XY成立的条件是:(1)它具有支持度s,即事物数据库D中至少有s%的事物包含X和Y;(2)它具有置信度c,即在事物数据库D中包含X的事物至少有c%同时也包含Y 。
关联规则的挖掘是一个两步的过程:(1)所有频繁项集。根据定义这些项集出现的频繁性至少与预定义的支持计数一样;(2)频繁项集产生强关联规则。根据定义,这些规则必须满足最小置信度和最小支持度。
对关联规则的评价主要从两个方面进行:(1)系统客观层面――是指关联规则的有趣性是规则的具体结构和在数据挖掘过程中所依赖的数据决定的。支持度和可信度度量是系统客观层面评价关联规则的两个常用客观性指标;(2)用户主观的层面――只有用户才能决定规则的有效性和可行性,所以应该将用户的需求与系统更加紧密集合起来,形成用户主观层面的评价。可采用基于约束的数据挖掘方法,具体的约束内容有数据约束、限定数据的挖掘维和层次和规则约束 。
4智能选课系统关键算法实现
挖掘模型主要分为算法实现库、挖掘配置、知识库和数据呈现四个功能实体,且每个功能实体都以动态链接库的方式。
聚类K-means算法实现如下:
Procedure K-means(s,k)
S={X1,X2,…Xn}
m=1;
for j=1 to k//初始化聚类中心Zj
Do {for i=1 to n
for j=1 to k
{D(Xi,Zj)=|Xi-Zj|;
If D(Xi,Zj)=Min{D(Xi,Zj)}then Xi∈Cj}//归类
If m=1 then Jc(m)=∑kj=1∑|Xi-Zj|2
m=m+1;
for j=1 to k
Zj=()/n; //重置聚类中心
While |Jc(m)-Jc(m-1)|>
其中Xi为n个输入数据对象的集合;输出为K个聚类中心Zj及K个数据对象集合Cj。
关联规则的数据挖掘Apriori算法实现如下:
Input: 学生信息数据库D;
最小支持度 min_sup;
Output: 所有频繁项目集;
C1={candidate k-itemset};
L1={c∈C1|c.count≥min_sup};
for{k=2, Lk-1≠,k++}do begin
Ck=sc_canditate(Lk-1); /*生成所有长度为k的候选项目集*/
for all transactions t∈D do begin
C1=count_support(Ck,t);/*求数据库记录t包含的候选项目集*/
For all canditates c∈C1 do
c.count++ /*候选项目集支持度计数加1*/
end
Lk={c∈Ck|c.count≥min_sup};
end
Answer=UkLk
该算法利用一个层次顺序搜索的循环方法来完成频繁项集的挖掘工作。其中D表示数据库;k-itemset表示长度为k的项目集;Lk表示长度为k的频繁项目集;Ck表示长度为k的候选项目集;min_sup表示给定的最小支持度;Answer表示所有的频繁项目集。
5结语
基于web数据挖掘技术的智能选课系统采用聚类分析、关联规则、人工神经网络等方法,能从学生的访问、学习记录和测试中挖掘出有用信息,评估出学生的学习兴趣和特点,给出相关的页面和选修课范围,这样可以提搞学校教务选课系统的服务水平,为系统的决策提供智能化手段,也为高校合理的培养人才提供了一个方法。
(基金项目:湖南科技学院2008年科研项目(08XKYTC041)资助)
注释:
Borges J., Levene M.. Data mining of user navigation patterns[C]. Proceedings of workshop Web usage Analysis and user profiling. San Diego,2000, pp:31-36.
Jiawei H., Micheline K.. Data Mining: Concepts and Techniques[M]. San Francisco: Diane Cerra, 2006.
韩晓莉,李秉智.个性化Web推荐服务研究[J].计算机科学[J],2006,33(4):135-138.
赵东东.电子商务中的web数据挖掘系统的设计[J].微计算机信息,2007,10(3):168-170.
徐欣,徐立鸿.教学质量评价与预测的人工神经网络方法[J].统计与决策,2009,20:159-160.
刘立军,周军,梅红岩.Web使用挖掘的数据预处理[J].计算机科学,2007,34(5):200-204.
李明华,刘全,刘忠等.数据挖掘中聚类算法的新进展[J].计算机应用研究,2008,25(1):13-17.
高校在长期的教学管理过程中积累了海量的学生成绩信息,但是普遍的对于成绩的分析处理工作还停留在简单的查询、分析和统计阶段。本文利用关联规则Apriori算法,以学生成绩数据为研究对象,挖掘课程之间的相互关系,为科学的制定人才培养方案,提高高校人才培养质量进行了积极地探索与研究。
【关键词】成绩分析 关联规则 Apriori算法
1 数据挖掘
数据挖掘其实就是从大量、有噪声、随机性、不完全、模糊的应用数据中,提取并隐藏在应用数据中心、人们不知道但是有价值的信息和知识的过程,通过数据挖掘系统能够自动分析原有数据,并作出归纳总结,挖掘出数据原有的模式,为决策者提供参考价。数据挖掘包括数据仓库、预处理、分类聚类、关联分析等。关联分析是数据挖掘最贴近我们生活的一部分了,登录亚马逊网站,当我们挑选一本《Android4高级编程》时,网站会不失时机的列出你可能还会感兴趣的书籍,如Android游戏开发、Cocos2d-x引擎等,让我们的购物车变得更充实,而钱包又空了些。
数据挖掘是一门综合了统计学、信息技术、人工智能等多项技术。其中数据挖掘聚类和决策树则是机器学习理论知识。关联性规则挖掘技术对数据挖掘技术具有非常重大的意义,它进一步扩展了数据挖掘的研究,到如今已经成为了数据挖掘领域中的一个分支。关联性规则不仅体现数据之间的关联,更为重要的是关联系规则的表达简洁,便于理解,近年来已经成为数据挖掘技术研究领域的热点话题。
2 关联规则Apriori算法
Apriori算法是关联规则算法之一。Apriori算法的第一遍仅仅计算每个项目的具体指的数量,以确定大型1项集。随后的遍历,第k次遍历,包括两个阶段。首先,使用在第(k-1)次遍历中找到的大项集Lk-1和Apriori-gen函数产生候选项集。接着扫描数据库,计算中候选的支持度,从而得到中的支持度不小于最小支持度的k阶大项集。重复以上步骤,直到某一阶的大项集为空时,算法停止。
Apriori算法指导我们,如果要发现强关联规则,就必须先找到频繁集。所谓频繁集,即支持度大于最小支持度的项集。如何得到数据集合D中的所有频繁集呢?
用一种非常原始的办法来分析,就是对于数据集D,遍历每一条记录T,可以得到T的所有子集,然后计算每一个子集的支持度,最后再将结果与最小支持度比较。我们暂且不管数据集D中有多少条记录,就说每一条记录T的子集个数,{1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果记录T中含有n项,那么它的子集个数是-1。计算量是非常大的,很明显这种方法是不可取的。
因此,Aprior算法提出了一个逐层搜索的方法,如何逐层搜索呢?包含两个步骤:
(1)自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。
(2)对于候选集进行剪枝。如何剪枝呢?候选集的每一条记录T,如果它的支持度小于最小支持度,那么就会被剪掉;此外,如果一条记录T,它的子集有不是频繁集的,也会被剪掉。
算法的终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集作为结果。
3 教务管理系统中的学生成绩数据挖掘
学生的考试成绩不仅体现了学生阶段性的学习效果,而且是检验学校教学效果的重要依据。为了提高学校教学质量,所以必须对学生的考试成绩进行数据挖掘,挖掘出学生考试成绩背后的关键性因素,可以从学生的性别、专业、课程、入学成绩、老师对学生的考核评价等因素为切入点,分析这些因素对学生成绩产生的影响,并找出各个要素之间的潜在规律,从而分析出影响学生考试成绩的主要因素,并预测学生哪一部分成绩还需要进一步加强。采用关联系规则对学生成绩进行数据挖掘,通过数据仓库查看各个专业学生课程成绩单,并分析各个课程与其他课程之间的关联和影响,从而制定专业的人才培养计划。在制定计划的时候,依次从公共课、专业课到拓展课等方面设置相关课程。不同的专业开设课程的时间不同,开课时间次序对学生学习后续课程会产生一定的影响。但是过去很多高校在课程安排上比较随意,通常都是高校教务处的人根据过去的教学经验和主观认知,安排学生的课程时间。然而每一门课程都有它的特点,比如体育课学生可能需要大量的运动,消耗的体能比较多,运动过后学生无论精神上还是身体上都比较疲惫,这个时候上课的效果就不太好,所以在安排课程的时候,尽量将体育课安排到下午的时间段,这样不会学校其他课程的教学效果。通过关联性分析,找出每一门课程的影响因素,合理安排课程的先后顺序,为人才方案制定者提供科学的决策依据。
我们从教务管理系统中选取1000名软件技术专业学生的成绩,根据学生成绩进行数据挖掘,部分成绩数据如表1所示。
根据学生考试成绩表,分析学生不及格科目之间的关系,60分以下的设置最小支持度为0.04。设置关联规则的参数,将成绩范围设定为0至59,最小支持度为0.04。
使用Aprior算法对数据仓库中的相关数据进行关联规则分析,结果如表2所示。
通过对1000名软件技术专业的学生60分以下成绩进行数据挖掘,发现学生的电路分析和高等数学两门科目的置信度是0.51,C++程序设计这门课程的置信度是0.40。根据图表各个课程的置信度可以得出结论。如果学生在大一阶段的基础课程如高等数学学习成绩比较差,那么学生的电路分析和C++程序设计两门科目的学习成绩也会不太好,不及格的概率比较大。相对来说,如果高等数学和电路分析两门课程的置信度达到了0.35,那么对学生的电路分析和C++程序设计两门科目的学习成绩影响不大。那么可以得出这样的结论,电路分析课程开设在高等数学这门课程之后。通过以上分析,我们可以得出,将一些基础课程作为专业课程的前导课程,能够为学生后期学习打下坚实的基础;如果学生的基础知识学习不好,那么对专业课程的影响也很大,专业课程的学习和基础课程有直接关系。研究影响学生成绩优秀的课程之间的关系,80分以上设置最小支持度为0.04。设置关联规则的参数,设定分数范围80至100,最小支持度为0.04。
利用关联规则产生如表3所示的数据挖掘结果。
通过对软件技术专业考试成绩在80分以上学生进行数据挖掘,发现专业英语和大学英语两门课程的置信度是0.62,从中我们可以得出结论,如果学生的英语基础成绩比较好,那么学生的大学英语成绩也相对来说没有什么问题,学生的专业英语成绩分数也相对比较高。数据结构和C++程序设计两门课程是计算机专业的专业基础课堂,两门课程的置信度是0.64,从课程的置信度可以看出这两门课程对专业学习数据结果的影响,如果学生的数据结构这门课程学习成绩比较好,那么学生C++程序设计这门课程的学习成绩也比较好。从以上分析来网页设计和制作与photoshop图像处理两门课程的置信度是0.68,从中可以看出photoshop图像处理课程对网页设计和制作有很大影响。网页制作的时候,需要photoshop图形图像处理软件对图片进行处理和调整。所以photoshop图像处理课程可以设置在网页制作课程之前,以便学生在学习网页制作的时候,能够用photoshop软件对图片进行处理。
从上述内容我们可以看出,高校专业课程之间的关联性很强,从学生考试成绩就可以看出,因此在学校开设课程的时候,一定要考虑课程关联性影响,按照对学生影响大小制定开设课程的次序,并作为学校培养人才的重要依据。
此外在对学生成绩进行数据挖掘的时候,还要考虑到学生入学成绩和整体考试成绩,经学生的入学成绩录入系统,并对学生所有课程考试成绩综合分析,算出平均成绩,按照平均成绩划分优秀、良、差等不同等级,将入学成绩也分为优、良、差等不同等级,挖掘出入学成绩和考试成绩之间的关联。
成绩关联性数据挖掘结果如表4所示。
4 结论
从上述结果得出,如果学生的入学成绩差和考试成绩优的置信度是0.41,这就表明如果学生的基础比较差,那么在大学的考试成绩好的可能性不大。如果学生的入学成绩差和考试成绩优的置信度是0.65,那就表明基础成绩差的学生也可以考出良等的考试成绩,这样就能过去传统理论上入学考试成绩好的学生,在大学的学习成绩也会很好,如果入学成绩不好的学生,在大学的成绩肯定不好的这种理论。通过关联性分析,可以看出学生入学成绩的好坏与学生大学成绩的好坏并没有必然的联系。大学自由的学习气氛给学生的学习创造了良好的环境,如果学生抓住这个机会,自主学习,那么就能获得好的成绩,如果还是秉承按照高中阶段的学习思维,那么可能学生不利于学生的学习。
参考文献
[1]王少华等.关联规则在高校系统中的应用[J].福建电脑,2007(12):153-156.
[2]王能斌等.大学课表调度系统UTSS[J].计算机学报,1984(05):383-389.
[3]何炎样.关联规则的几种开采算法及其比较[J].小型微型计算机系统,2001(09).
[4]赵俏.高职院校教务管理中的数据挖掘[J].科技信息,2008(11):80,95.
[5]杨克松.论关联规则在高校选课系统中的应用[J].福建电脑,2007(10):166-168.
[6]周培德.算法设计与分析[M].北京:机械工业出版社,1996.
作者简介
周兴旺(1979-),男,江苏省扬州市人。工学硕士学位。现为南通科技职业学院讲师。主要研究方向为计算机网络技术、数据挖掘、教育教学管理等。