决策树算法在专业方向指导中的应用

时间:2022-09-18 12:58:02

【前言】决策树算法在专业方向指导中的应用由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(Changzhou Liu Guo-jun Vocational Technology College, Changzhou 213003, China) Abstract: Data mining is a technology that finds information with potential value from a large number of data. The decision tree method is a kind of typical classificati...

决策树算法在专业方向指导中的应用

摘要:数据挖掘就是从海量的数据中挖掘出可能有潜在价值的信息的技术。决策树方法是一种典型的分类算法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树模型,然后使用决策树模型对新数据进行分析。该文以大学生专业方向指导辅助系统的开发过程为实例从理论上论述了数据挖掘的概念、数据挖掘研究内容和本质以及进行数据挖掘的主要方法,讲述了使用MATLAB 7.0开发实现决策树算法子系统的方法和实现,并且对生成的决策树模型进行分析。

关键词:数据挖掘;分类;决策树;大学生专业指导

中图分类号:TP301文献标识码:A文章编号:1009-3044(2010)03-753-02

Undergraduate's Major Guidance System: Implementation of Decision Tree Algorithm

DUAN Ying-jie

(Changzhou Liu Guo-jun Vocational Technology College, Changzhou 213003, China)

Abstract: Data mining is a technology that finds information with potential value from a large number of data. The decision tree method is a kind of typical classification algorithm, that processes data, generates readable rules and a decision tree model, and then analyses new data following the decision tree model. As an instance, the process of developing undergraduates' major guidance system is introduced in this paper. The paper tells basic knowledge of concepts, contents, essence, and main methods of data mining, narrates in detail the method and implementation of decision tree algorithm by MATLAB 7.0, and analyses the decision tree model in this application.

Key words: data mining; classification; decision tree; undergraduates' major guidance

随着高校的成长和规模的扩大,在高校内都积累了大量的与学生资源相关的数据。在这些海量的数据的背后隐藏着许多重要的模式和知识。快速、准确、高效地将这些模式和知识挖掘出来,是高校提高学生资源管理水平和增强学校竞争力的一个重要手段。我们可以利用数据挖掘技术从海量数据中发现有价值的信息,帮助管理者通过对学生学习成绩的分析和研究,了解和掌握学生的学习情况、需求、能力等,及时调整学习计划,对学生专业方向选择做出预测性的指导,从而为制订人才需求规划、人才培养提供比较客观的决策支持。

1 决策树分类数据挖掘系统建立和应用的一个典型过程

决策树分类挖掘技术应用于大学生专业方向辅助指导中,可以通过对学生各科学习成绩信息的分析,预测该学生所属的专业类别,从而采取相应的教学计划,这样能够提高学校的教学水平,避免学生的流失;还可以通过最小的教师资源投入获得最大的收益。

下面,我们以计算机系为例,具体讨论一下计算机系的学生的具体专业方向。

计算机学科的专业方向具体可以划分为以下三个方面:

1) 计算机软件专业;

2) 计算机网络专业;

3) 计算机硬件专业。

决策树方法是利用信息论中的信息增益寻找数据库中具有最大信息量的属性字段,建立决策树的一个结点,再根据该属性字段的不同取值建立树的分支,并在每个分支子集中重复建立树的下层结点和分支的过程。在对学生进行专业分类分析的过程中,决策树分类数据挖掘系统建立和应用的一个典型过程是:

首先,根据学生的专业分类的标准,对学生所属的专业进行划分,这样,每个现有的学生都具有一个确定的专业类别。

其次,根据历史数据,主要是学生的各科学习成绩数据和学生的专业分类数据,执行决策树生成算法,生成一棵决策树。

最后,在以上过程执行完毕后,当一个新的学生信息数据进入时,管理者可以在系统中调用决策树模块,根据学生的具体信息数据来预测学生所属的专业类别。

2 系统实施的具体步骤

2.1 数据的收集和整理

数据的收集整理对于任何数据挖掘来说都是必不可少的,虽然对于不同的算法来说,收集数据的途径是差不多的,但是整理方式却大不一样。整个数据的收集和整理可以大体分为数据的选择,数据的预处理,数据的缩减三个步骤。数据挖掘的算法决定了整理的方式,整理结果形式上可以是一个表也可以是多个表,但最终要便于进行数据挖掘,内容上要与数据挖掘的目标一致,这是很明显的。数据库技术的广泛使用,使得现在大量的数据是使用表的形式存放的,因此数据的整理体现在对表中的数据进行处理。

首先,对训练表中的属性进行选择。根据在校学生各科的学习成绩信息,我们将基础课程和专业基础课程作为训练表中的非类别属性也就是条件属性,而将专业课程作为确定类别属性也就是分类属性的依据。如果非类别属性中存在重复属性则取平均值后保留为一个属性,并剔除了成绩表中与专业发展方向无显著相关性的属性如体育等课程属性。类别属性值通过将专业课程归类后取平均,再求得最大值后确定,即:对某一记录,硬件专业平均分为72,软件专业平均分为69,网络专业平均分为82,则该记录确定为网络专业,赋给属性的值为2。2代表网络专业,1代表软件专业,3代表硬件专业。

其次,对训练表中的每一列属性的值进行规范化和离散化处理。考虑到教师的评分标准存在普遍偏高或偏低的情况,我们利用下面公式进行数据规范化处理:

y=(100*(x-min))/(max-min)

x是表中原始数据,max是本属性列中属性值最大的值,min是本属性列中属性值最小的值,得到规范化后的数据y。再将数据y进行离散化处理。若y∈[0 ,20] 则 y=1,若y∈[21,40] 则y=2,若y∈[41,60] 则y=3,若y∈[61,80] 则y=4,若y∈[81,100] 则y=5。

经过上述的工作之后,整个表就只是包含了影响专业发展方向的关键因素的条件属性和分类属性。为了能在以后的工作中使用数据更方便,我们将分类属性提取出来,单独存放在一张表中。

2.2 选取训练实例集

我们从经过数据整理得到的样本数据中进行抽样,将抽样数据作为训练集输入。

2.3 采用“分裂的优良性度量”来产生决策树的每一级节点

使用“分裂的优良性度量”来选择每一级最佳分类字段,当出现以下三种情形之一时可以停止分类:

1) 一个结点上的数据都是属于同一类别;

2) 没有剩余属性可以再对数据样本进行分割;

3) 分枝没有训练样本。

3 决策树模型准确度分析

本挖掘系统主要是通过决策树ID3算法生成可读的规则和决策树模型,然后使用已经得到的决策树模型对预测集里的每一条记录,从树的根结点开始,向下找出该记录所属的类。因此,整个决策树挖掘子系统测试数据的准确度在很大程度上取决于已经建立的这个决策树模型。

通过测试,我们发现这个决策树模型的准确度较一般。

影响决策树模型准确度的因素有多方面,通过对本系统的决策树模型分析,我们可以发现目前存在于本挖掘系统中,影响模型准确度的一些主要因素:

3.1 挖掘库中数据记录的有限性

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

3.2 数据预处理工作

通过对已经生成的决策树模型的分析,我们发现在存放该模型的文件中出现了许多空训练样本集,尽管在程序设计的过程中已经使用语句if(~isempty(indices))和结束条件对训练集为空的例子进行控制,但是,还是出现了大量的空例子。分析产生这种情况的主要原因之一是在数据预处理的过程中,对数据的处理不当造成的。我们最初对数据进行离散化处理时,用1 表示[0,59]之间的分数,用2表示[60,69]之间的分数,用3表示[70,79]之间的分数,用4表示[80,89]之间的分数,用5表示[90,100]之间的分数,对于考察科目的优、良、中、及格和不及格,我们分别对应用5、4、3、2、1来表示。而在实际应用中,存在这样的情况:(1)由于教师的评分标准不同,导致学生的成绩数据普遍偏高或者偏低;(2)数据表中学生每门课程的属性值取值集中在{2,3,4},而对于属性值取值{1,5}的数据记录非常少。因此,我们在进行数据预处理工作的时候,应该考虑将1表示[0,69]之间的分数,用2表示[70,79]之间的分数,用3表示[80,100]之间的分数,对于考察科目的优、良、中、及格和不及格,也可以将等级为优与良的属性取值合并为3,等级为及格和不及格的属性值合并为1,分别对应用3、2、1来表示。

通过上述分析,我们找到了影响本挖掘系统建立的决策树模型准确度的一些主要因素。

参考文献:

[1] Jiawei Han,Micheline Kamber.Data Mining Concepts and Techniques[M].北京:清华大学出版社,2003:20-105.

[2] 安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社,2005:25-70.

上一篇:设计模式在储层算法类库的应用 下一篇:基于字符综合特征的车牌字符分割算法