APP下载

基于ID3算法在专业方向指导中的应用

2017-04-21徐敏

教育界·下旬 2017年1期
关键词:决策树数据挖掘

徐敏

【摘要】文章利用学院教务管理软件收集了大量的学生数据信息,采用数据挖掘技术中的ID3算法将这些信息转换成知识,指导教学研究,并辅助学生选择适合自己的专业方向。

【关键词】数据挖掘;决策树;ID3算法

一、前言

本研究采用数据挖掘分类技术,从教务管理系统存储的数据中发现有价值的信息,对“学生大一期间各门专业基础课”及相关信息的数据资源进行挖掘以获得辅助决策,分析基础课成绩和学生个人兴趣爱好之间的潜在关系,帮助管理者通过对学生学习成绩的分析和研究,了解和掌握学生的学习情况、需求、能力等,及时调整教学计划,对学生专业方向选择做出预测性的指导。

二、算法及实现

ID3算法是由Quinlan于1986年提出的一种基于信息炳的决策树学习算法。他把C.E.Shannon的信息论引入到了决策树算法中,把信息熵作为选择测试属性的标准,对训练样本集进行分类,并构造决策树来预测如何由测试属性对整个样本空间进行划分。

(一)数据的收集和整理

本研究利用ID3算法以华南女子学院服装专业学生的大一期间的成绩为挖掘数据源,根据学生各科的学习成绩信息,剔除了成绩表中与专业发展方向无显著相关性的属性如体育等课程属性,选择7门具有代表性的专业基础课作为基础数据进行处理。

其次,对训练表中的每一列成绩属性的值进行离散化处理。我们在进行数据预处理工作的时候,将成绩分成三个部分,用A类表示[80,100]之间的分数,用B类表示[70,79]之间的分数,用C类表示[0,69]之间的分数。

除了学习成绩之外,我们还需要考虑影响学生专业方向选择的其他因素。服装系的专业方向具体划分为三个方面:

制板与工艺方向、造型设计方向、市场营销方向。

学生在大一修完专业基础课后,自行选择专业方向。为了更好地了解学生选择专业方向的动机以及完成阶段性学习以及大学二年级工学结合的专业实践后对自己所选方向的满意度,我们设计了问卷调查:①学生的个人兴趣:A、手工制作 ;B 、创意设计 ;C、人际交往;②选择专业方向时是否按兴趣来选择:A、是;B、不确定;C、否; ③ 经过一年的专业学习,觉得现在的专业方向是否合适自己:A、是;B、不确定;C、否(觉得自己更合适什么方向)。

经过上述工作之后,整个表就只包含了影响专业发展方向的关键因素的属性。然后再对数据进行数据清理工作。

在学生调查信息表中我们看到,有一些我们感兴趣的属性缺少属性值。这样的记录,我们予以删除。在學生成绩表中,有些学生缺考、作弊或退学。这样他们的成绩也是无效的数据,因为无法根据他们的成绩得出分类结果,所以我们进行了删除。经过数据清理后,总记录数为186条。

通过数据收集、数据整理之后,我们实际可以使用的数据记录为182条。由于在系统实现过程中我们还需要预留一部分数据进行数据分析准确度测试,因此,在放入训练数据集进行决策树模型生成训练的实际数据记录为146条。使用决策树ID3方法对于越大的数据库使用效果越好。由于本次数据挖掘使用的挖掘库中的数据记录存在有限性,使得对ID3方法的使用效果产生了影响。

(二)利用ID3算法构造学生成绩分析决策树

1.信息增益的计算

先我们先利用公式计算机出信息熵,参加数据挖掘的记录有146条。经过两年的专业学习后,认为自己更适合学习制板与工艺方向的有58人,认为自己更适合学习造型设计方向的有48人,觉得自己更适合市场营销方向的有32人,不确定方向的8人。

H(S)=-

=-(58/146)Log2(58/146)-(32/146)Log2(32/146)-(48/146)Log2 (48/146)-(8/146)Log2 (8/146)=1.7663

下面计算信息增益值。

利用公式:信息增益值 I(S/A) =H(S)-H(S/A)

其中H(S/A)=-得

经过整理后,参加数据挖掘的属性有9个,根据公式计算起信息增益为:

Gain(S,基础工艺)=H(S)-H(基础工艺)=0.0646比特

Gain(S,成衣工艺)=H(S))-H(成衣工艺)=0.1356比特

Gain(S,服装结构设计原理)=H(S)-H(服装结构设计原理)=0.0932比特。

Gain(S,服装设计基础)=H(S)-H(服装设计基础)=0.1696比特。

Gain(S,款式效果图)=H(S)-H(款式效果图)=0.1696比特。

Gain(S,款式设计)=H(S))-H(款式设计)=0.3512比特。

Gain(S,市场营销)=H(S)-H(市场营销)=0.1116比特。

Gain(S,兴趣)=H(S)-H(兴趣)=0.7951比特。

由此可得Gain(S,兴趣)最大,即个人兴趣对分类最有帮助,所以选择兴趣对决策树的结构进行首次分区,产生4分枝。

2.递归创建决策树

选择兴趣作为测试属性之后训练实例集分为4个子集,生成4个子节点,对每个子节点递归采用上述过程进行分类直至每个节点中各个实例属于同类。

以 “兴趣= 手工制作” 为例

选择手工制作的同学一共有56人,经过两年的专业学习后,认为自己更适合学习制板与工艺方向的有42人,认为自己更适合学习造型设计方向的有8人,觉得自己更适合市场营销方向的有4人,不确定方向的2人。

通过计算得到的Gain(S_兴趣. 手工制作,服装结构设计原理)最大,即“服装结构设计原理(简称设计原理)”的信息对分类最有帮助,所以选择“服装结构设计原理”的成绩对决策树的结构进行再次分区,产生3个分枝。

计算选择兴趣为“手工制作”的学生里,设计原理成绩大等于80分,其余的6门课程成绩相应的信息增益值,发现兴趣选择手工制作的所有设计原理成绩大等于80分的同学在两年的学习后认为自己最适合工艺方向因此不再另做计算。

于是,我们接着研究兴趣为“手工制作”且设计原理成绩介于80~70分之间,其余6门成绩的信息增益值计算:

Gain(S_兴趣.手工制作_服装结构设计原理.介于70~80分,基础工艺)=0.8298比特

Gain(S_兴趣.手工制作_服装结构设计原理. 介于70~80分,成衣工艺)=0.6817比特

Gain(S_兴趣.手工制作_服装结构设计原理. 介于70~80分,服装设计基础)=0.2484比特

Gain(S_兴趣.手工制作_服装结构设计原理. 介于70~80分,款式效果图)=0.3148比特

Gain(S_兴趣.手工制作_服装结构设计原理. 介于70~80分,款式设计)=0.1627比特

Gain(S_兴趣.手工制作_服装结构设计原理. 介于70~80分,市场营销)=0.1309比特

通過以上计算得到的Gain(S_兴趣.手工制作_服装结构设计原理.介于70~80分,基础工艺)最大,按照信息增益最大的原则选择“基础工艺”的成绩为根结点,并将样本分成3部分,然后对每一棵子树按照以上方法递归计算,最后得出的决策树。

由于决策树的构建是一个递归的计算,而本研究采用数据结点较多,因此我们在Microsoft Visual Studio 2005 环境下用C#语言编程,利用程序生成其余的决策树:

3.树剪枝

在实际应用中,部分数据因数量太少以至于不能产生目标函数的有代表性的采样,导致我们使用决策树算法生成的决策树很多分支反映的是训练数据集中的异常。因此我们设置生成决策树的最小样本值为4,进行预剪枝处理。为了降低剪枝后的冗余,在剪枝后,如果有某个叶子结点下的所有属性值指向的结果都相同,则认为是该叶子结点是冗余的叶子结点将被删除,其属性值将作为该结点原父节点的属性值被保留。

由此决策树导出相关规则:

if (xq=='手工制作' and sjyl=='大等于80') then适合工艺方向

if (xq=='手工制作' and sjyl=='介于80~70' and jcgy=='大等于80' and cygy=='大等于80' and ksxgt=='大等于80' and kssj=='大等于80') then适合工艺方向

if (xq=='手工制作' and sjyl=='介于80~70' and jcgy=='大等于80' and cygy=='大等于80' and ksxgt=='大等于80' and kssj=='小于70') then适合工艺方向

本次参与数据挖掘的属性较多,从而构筑出的决策树规模较为庞大,导出的规则也相当多。由于篇幅有限,这里不再一一罗列。我们将留做测试的36条数据运用到决策树得出的所有规则里,经过测试有31条规则命中,准确率为86.1%。

四、小结

论文主要讨论的是ID3算法在学生专业方向选择中的具体应用,展现了该数据挖掘技术在辅助预测学生最适合的专业方向的应用过程,包括数据采集、数据清理、数据转换等数据预处理技术,使用ID3算法生成决策树,最后由决策树产生分类规则,完成了根据学生兴趣以及专业课成绩来判断适合选择的专业方向的决策树模型建立。最后对学生专业方向选择做出预测性的指导。

【参考文献】

[1]董彩云,曲守宁.数据挖掘及其在高校教学系统中的应用[J].济南大学学报(自然科学版),2004,18(01): 65-68.

[2]邱月.数据挖掘方法在学生成绩评价中的应用[J].科技信息,2008(09):76-77.

[3]陈晶,肖丁.决策树算法在数据挖掘中的应用研究[J]软件导刊,2008(03):98-99.

[4]魏涛.改进的ID3算法及其在教育信息挖掘中的应用[J].上海海事大学学报,2005(03):82-84.

猜你喜欢

决策树数据挖掘
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
基于改进决策树的故障诊断方法研究
基于并行计算的大数据挖掘在电网中的应用
基于决策树的出租车乘客出行目的识别
基于决策树的复杂电网多谐波源监管
一种基于Hadoop的大数据挖掘云服务及应用
基于肺癌CT的决策树模型在肺癌诊断中的应用
数据挖掘的分析与探索
基于GPGPU的离散数据挖掘研究