决策树是一种依托于策略抉择建立起来的,用于对实例进行分类的树形结构。决策树由节点(node)和有向边(directed edge)组成。节点的类型有两种:内部节点和叶子节点。其中,内部节点表示一个特征或属性的测试条件(用于分开具有不同特性的记录),叶子节点表示一个分类。
一旦构造了一个决策树模型,以它为基础来进行分类将是非常容易的。具体做法是,从根节点开始,对实例的某一特征进行测试,根据测试结构将实例分配到其子节点(也就是选择适当的分支)。沿着该分支可能到达叶子节点或者到达另一个内部节点时,那么就使用新的测试条件递归执行下去,直到抵达一个叶子节点。当到达叶子节点时,人们便得到了最终的分类结果。
决策树是一种以树形数据结构来展示决策规则和分类结果的模型,作为一种归纳学习算法,其重点是将看似无序、杂乱的已知实例,通过某种技术手段将它们转化成可以预测未知实例的树状模型,每一条从根节点(对最终分类结果贡献最大的属性)到叶子节点(最终分类结果)的路径都代表一条决策的规则。决策树算法的优势在于,它不仅简单易于理解,而且高效实用,构建一次就可以多次使用,或者只对树模型进行简单的维护就可以保持其分类的准确性。
决策树算法采用自上而下递归构建树的技术,该算法的产生源于CLS(Concept Learning System,概念学习系统),图2—3展示一个CLS系统的简易模型。该模型是决策树发展的理论基础,该模型定义了一个学习系统的基本结构。
图2—3 CLS简易模型
通俗来说,决策树分类的思想类似于找对象。现在,想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话:
女儿:多大年纪了?
母亲:26岁。
女儿:长得帅不帅?
母亲:挺帅的。
女儿:收入高不?
母亲:不算很高,中等情况。
女儿:是公务员吗?
母亲:是,在税务局上班呢。
女儿:那好,我去见见。
这个女孩的决策过程就是典型的分类树决策。其实质就是通过年龄、长相、收入和是否是公务员将男人分为两个类别:见和不见。
假设这个女孩对男人的要求是:30岁以下、长相中等以上并且是高收入者或中等以上收入的公务员,那么这个可以用图2—4表示女孩的决策逻辑。
图2—4 见面决策树
决策树分类算法的关键就是根据“先验数据”构造一棵最佳的决策树,用以预测未知数据的类别。根据不同的建树思想,决策树分类算法会延伸出一系列新的分类算法。
国际权威的学术组织IEEE International Conference on Data Mining(ICDM)曾在21世纪初期,将两种决策树算法(C4.5算法和CART算法)列入数据挖掘领域十大经典算法之中。可见决策树算法优良的结构特性和算法效率,得到了很多专家学者的一致认可。
当今社会,信息化的程度日益提高,人们被各种数据所包围。数据挖掘作为一种新兴的学术领域,它的发展极大地促进了人们对海量数据中所蕴含的知识的认识程度。数据挖掘最根本的目的就是,通过各种有效的技术手段,在已知的数据中探寻有价值的信息。决策树分类算法,作为一种简单高效、容易理解的启发式算法,有着广泛的应用领域。近年来随着模糊理论与决策树的融合,使得该算法更为智能,更符合人的思维方式,极大地扩展了其应用范围。