基于决策树的数据挖掘在招生管理中的应用
2010-06-06张宁
张 宁
(华北电力大学,河北 保定 071003)
利用数据仓库和数据挖掘技术可以进行在线分析处理和数据挖掘,通过多维存储技术对大型、复杂数据集进行快速、高级的分析,能够揭示出隐藏在大量数据中的倾向及趋势,以最大限度地从数据中获取有价值的信息,从而为决策者提供决策支持。
1 数据仓库
本文要实现的招生决策数据仓库是一个全面综合的面向分析型数据和分析型处理的环境,能为各种分析工具提供优质数据。招生数据仓库的建立主要包括以下内容:(1)确定招生数据仓库主题,进行数据建模;(2)设计招生数据仓库;(3)在完成数据仓库概念、逻辑、物理设计后,要进行数据装载程序的设计;(4)进行数据质量评估,确保数据的可靠性。上述步骤完成后,一个初步的数据仓库已经设计完成。
数据仓库主要是满足决策分析的需要,将来自各种数据源的数据存储到数据仓库中,数据围绕决策主题来组织,并且对数据查询的要求比较高,数据存储量非常大。数据仓库建模采用自上而下的三级建模方式,即概念建模、逻辑建模、物理建模。
1.1 数据仓库概念模型
概念模型是主观与客观之间的桥梁,它是一个概念性工具,也就是通常所说的需求分析。在此阶段需确定操作数据、数据源以及一些附加数据,设计容易理解的数据模型,有效地完成查询和数据之间的映射。概念模型常用的方法有E-R图、超立方体、信息包图等,这里采用信息包图的方法。信息包图是1997年Hammergren提出的,它可在平面上展开超立方体,即用二维表格反映多维特征。信息包图提供了一个多维空间建立用户信息模型的方法,它提供了超立方体的可视化表示。这种方法要求从一个决策者的角度将焦点集中在系统主题上,着重分析主题所涉及的数据多维性。信息包图方法首先确定分析的主题,然后围绕这个主题填入指标、维度、粒度等信息。图1是用信息包图方法为招生决策数据仓库建立的概念模型。
图1 招生决策概念模型
1.2 数据仓库逻辑模型
逻辑建模能直接反映出业务部门的需求,同时对系统的物理实施有着重要的指导作用。逻辑建模是对概念模型设计的细化,逻辑模型就是要把不同主题和维的信息映射到数据仓库中具体的表中。
星型模型是一种由一点向外辐射的建模范例,中间有一个单一对象沿半径向外连接到多个对象,星型模型中心的对象称为“事实表”,与之相连的对象称为“维表”。它支持以商务决策者的观点定义数据实体,满足面向主题数据仓库设计的需要,而信息包图又为星形图的设计提供了完备的概念基础。同信息包图中的三个对象对应,星形图拥有三个逻辑实体:维度、指标和类别。位于星形图中心的实体是指标实体,对应信息包图中的指标对象,是用户最关心的基本实体和查询活动的中心,为用户的商务活动提供定量数据。每个指标实体代表一系列相关事实,完成一项指定的功能,在一般情况下代表一个现实事务的综合水平,仅仅与每个相关维度的一个点对应。
图2 星型模式
从数据仓库应用中的易使用和高性能这两个基本的设计主旨出发,招生数据仓库逻辑建模采用星型模型,其星型模式如图2所示。
1.3 数据仓库物理模型
所谓数据仓库的物理模型就是逻辑模型在数据仓库中的实现,如物理存取方式、数据存储结构、数据存放位置以及存储分配等。物理模型是在逻辑模型的基础上实现的,在进行物理模型设计实现时,所考虑的主要因素有:1/0存取时间、空间利用率和维护代价。在数据仓库物理建模完成之后创建数据仓库数据库,需要创建事实表和维度表,并在所有表中的主要字段上建立索引。使用Microsoft SQL Server2005关系数据库管理系统作为数据仓库的物理存储,依据数据仓库物理建模,利用关系数据库来构建数据仓库。
2 数据挖掘技术
数据挖掘阶段首先要确定挖掘的任务或目的,如数据分类、聚类、关联规则发现或序列模式发现等。确定了挖掘任务后,就要决定使用什么样的挖掘算法。选择实现的算法有两个需要考虑的因素:一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘;二是要根据用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户只是希望获取准确度尽可能高的预测型知识。选择了挖掘算法后,就可以实施数据挖掘操作,获取有用的模式。另外,由于KDD最终是面向人类用户的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“IF……THEN……”规则。
本文在建立数据仓库的基础上,使用Microsoft SQL Server2005进行数据挖掘的应用,并以图形化界面呈现给用户。决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序、无规则的事例中推导出决策树表示形式的分类规则,通常用来形成分类器和预测模型,可以对未知数据进行分类或预测、数据挖掘等。
3 决策树分类方法
决策树分类方法首先要利用训练集建立决策树模型,然后根据这个决策树模型对输入数据进行分类。其中,关键问题在于决策树的构建过程,这一过程包括建树和剪枝两个步骤:第一个步骤为建树阶段,选取部分训练数据,按广度优先递归算法建立决策树,直到每个叶子结点属于同一类为止;第二个步骤为剪枝阶段,用剩余的数据对生成的决策树进行检验,将不正确的问题进行调整,对决策树进行剪枝和增加结点,直到建立一个正确的决策树。决策树的建树算法是通过递归过程,最终得到一棵决策树,而剪枝则是为了降低噪声数据对分类正确率的影响。
3.1 决策树的生成过程
对一个分类问题或规则学习问题,决策树的生成是一个从上至下、分而治之的过程,本质是贪心算法。从根结点开始,对每个非叶结点,找出其对应样本集中的一个属性(也称为测试属性)对样本集进行测试,根据不同的测试结果将训练样本集划分成若干个子样本集,每个子样本集构成一个新叶结点,对新叶结点再重复上述划分过程,这样不断循环,直至达到特定的终止条件。其中,测试属性的选择和如何划分样本集是构建决策树的关键环节。不同的决策树算法在此使用的技术不尽相同。
决策树采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较,并根据不同的属性值判断从该结点向下的分枝。基于决策树的学习算法的一个最大优点就是它在学习过程中不需要使用者了解很多的背景知识。
3.2 基本模型描述
对于离散属性,决策树算法根据数据集中输入列之间的关系进行预测。它使用这些列的值或状态预测其他指定列的状态。决策树根据特定结果发展趋势进行预测。对于连续属性,使用线性回归确定决策树的拆分位置。如果有多个列设置为可预测列,则该算法将为每个可预测列分别生成一个决策树。
4 挖掘结果与分析
如图3挖掘模型所示:其中姓名为主键,入学成绩分别假设为 Ruxue,Ruxue1,Ruxue2,根据这三项来预测两门专业课的分数:Jiepou和Danbai。
图3 挖掘模型
图4 决策树挖掘结果
图4为使用决策树规则的挖掘结果,决策树由一系列拆分组成,最重要的拆分由算法确定,位于“全部”节点中查看器的左侧。其他拆分出现在右侧。“全部”节点中的拆分最为重要,由于该节点包含了数据集内引起拆分的最充分的条件,因而产生了第一个拆分。
该图说明了使用分类和回归算法对Ruxue(其实应该是专业课1)进行分析,得出Danbai成绩(入学后的课程成绩)根据Ruxue的划分规则。根据Ruxue是否等于108分可以分为两类(Ruxue=108分的人数最多),而且这也是最为重要的划分规则之一。然后按照划分规则的重要性程度,再进行划分。
5 结语
本文主要介绍了数据仓库的设计与数据挖掘技术的应用,并对数据挖掘算法中决策树分类算法进行研究和验证,在一定条件的基础上初步实现了数据仓库的挖掘应用。在详细考虑影响招生的各种原因后,随着数据量的进一步充实,此技术将更加实用化。
[1]何玉洁,张俊超.数据仓库与OLAP实践教程[M].北京:清华大学出版社,2008.
[2]姚家奕.多维数据分析原理与应用[M].北京:清华大学出版社,2004.