决策树算法介绍.docx
《决策树算法介绍.docx》由会员分享,可在线阅读,更多相关《决策树算法介绍.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1 分类与决策树概述 分类与预测分类是一种应用非常广泛的数据挖掘技术,应用的例子也很多。例如,根据信用卡支付历史记录,来判断具备哪些特征的用户往往具有良好的信用;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。这些过程的一个共同特点是:根据数据的某些属性,来估计一个特定属性的值。例如在信用分析案例中,根据用户的“年龄、“性别、“收入水平、“职业等属性的值,来估计该用户“信用度属性的值应该取“好还是“差,在这个例子中,所研究的属性“信用度是一个离散属性,它的取值是一个类别值,这种问题在数据挖掘中被称为分类。还有一种问题,例如根据股市交易的历史数据估计下一个交易日的大盘指数,
2、这里所研究的属性“大盘指数是一个连续属性,它的取值是一个实数。那么这种问题在数据挖掘中被称为预测。总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。 决策树的根本原理1.构建决策树通过一个实际的例子,来了解一些与决策树有关的根本概念。表3-1是一个数据库表,记载着某银行的客户信用记录,属性包括“姓名、“年龄、“职业、“月薪、.、“信用等级,每一行是一个客户样本,每一列是一个属性字段。这里把这个表记做数据集D。银行需要解决的问题是,根据数据集D,建立一个信用等级分析模型,并根据这个模型,产生一系列规那么。当银行在未来的某个时刻收到某个客户的贷款申请时,依据这些规那
3、么,可以根据该客户的年龄、职业、月薪等属性,来预测其信用等级,以确定是否提供贷款给该用户。这里的信用等级分析模型,就可以是一棵决策树。在这个案例中,研究的重点是“信用等级这个属性。给定一个信用等级未知的客户,要根据他/她的其他属性来估计“信用等级的值是“优、“良还是“差,也就是说,要把这客户划分到信用等级为“优、“良、“差这3个类别的某一类别中去。这里把“信用等级这个属性称为“类标号属性。数据集D中“信用等级属性的全部取值就构成了类别集合:Class=“优,“良,“差。在决策树方法中,有两个根本的步骤。其一是构建决策树,其二是将决策树应用于数据库。大多数研究都集中在如何有效地构建决策树,而应用
4、那么相比照拟简单。构建决策树算法比拟多,在Clementine中提供了4种算法,包括C&RT、CHAID、Q。采用其中的某种算法,输入训练数据集,就可以构造出一棵类似于图3.1所示的决策树。一棵决策树是一棵有向无环树,它由假设干个节点、分支、分裂谓词以及类别组成。节点是一棵决策树的主体。其中,没有父亲节点的节点称为根节点,如图3.1中的节点1;没有子节点的节点称为叶子节点,如图3.1中的节点4、5、6、7、8。一个节点按照某个属性分裂时,这个属性称为分裂属性,如节点1按照“年龄被分裂,这里“年龄就是分裂属性,同理,“职业、“月薪也是分裂属性。每一个分支都会被标记一个分裂谓词,这个分裂谓词就是分
5、裂父节点的具体依据,例如在将节点1分裂时,产生两个分支,对应的分裂谓词分别是“年龄=40”。另外,每一个叶子节点都被确定一个类标号,这里是“优、“良或者“差。基于以上描述,下面给出决策树的定义:由此可以看出,构建一棵决策树,关键问题就在于,如何选择一个适宜的分裂属性来进展一次分裂,以及如何制定适宜的分裂谓词来产生相应的分支。各种决策树算法的主要区别也正在于此。2.修剪决策树利用决策树算法构建一个初始的树之后,为了有效地分类,还要对其进展剪枝。这是因为,由于数据表示不当、有噪音等原因,会造成生成的决策树过大或过度拟合。因此为了简化决策树,寻找一颗最优的决策树,剪枝是一个必不可少的过程。通常,决策
6、树越小,就越容易理解,其存储与传输的代价也就越小,但决策树过小会导致错误率较大。反之,决策树越复杂,节点越多,每个节点包含的训练样本个数越少,那么支持每个节点样本数量也越少,可能导致决策树在测试集上的分类错误率越大。因此,剪枝的根本原那么就是,在保证一定的决策精度的前提下,使树的叶子节点最少,叶子节点的深度最小。要在树的大小与正确率之间寻找平衡点。不同的算法,其剪枝的方法也不尽一样。常有的剪枝方法有预剪枝与后剪枝两种。例如CHAID与C5.0采用预剪枝,CART那么采用后剪枝。预剪枝,是指在构建决策树之前,先制定好生长停顿准那么例如指定某个评估参数的阈值,在树的生长过程中,一旦某个分支满足了停
7、顿准那么,那么停顿该分支的生长,这样就可以限制树的过度生长。采用预剪枝的算法有可能过早地停顿决策树的构建过程,但由于不必生成完整的决策树,算法的效率很高,适合应用于大规模问题。后剪枝,是指待决策树完全生长完毕后,再根据一定的准那么,剪去决策树中那些不具一般代表性的叶子节点或者分支。这时,可以将数据集划分为两个局部,一个是训练数据集,一个是测试数据集。训练数据集用来生成决策树,而测试数据集用来对生成的决策树进展测试,并在测试的过程中通过剪枝来对决策树进展优化。3.生成原那么在生成一棵最优的决策树之后,就可以根据这棵决策树来生成一系列规那么。这些规那么采用“If.,Then.的形式。从根节点到叶子
8、节点的每一条路径,都可以生成一条规那么。这条路径上的分裂属性与分裂谓词形成规那么的前件If局部,叶子节点的类标号形成规那么的后件Then局部。例如,图3.1的决策树可以形成以下5条规那么:If年龄40and职业=“学生 or 职业=“教师Then 信用等级=“优If年龄=40and月薪=40and月薪=1000 and 月薪=40and月薪3000Then 信用等级=“优这些规那么即可应用到对未来观测样本的分类中了。ID3算法是最有影响力的决策树算法之一,由Quinlan提出。ID3算法的某些弱点被改善之后得到了C4.5算法;C5.0那么进一步改良了C4.5算法,使其综合性能大幅度提高。但由于
9、C5.0是C4.5的商业版本,其算法细节属于商业机密,因此没有被公开,不过在许多数据挖掘软件包中都嵌入了C5.0算法,包括Clementine。 ID31.信息增益任何一个决策树算法,其核心步骤都是为每一次分裂确定一个分裂属性,即终究按照哪一个属性来把当前数据集划分为假设干个子集,从而形成假设干个“树枝。ID3算法采用“信息增益为度量来选择分裂属性的。哪个属性在分裂中产生的信息增益最大,就选择该属性作为分裂属性。那么什么是信息增益呢?这需要首先了解“熵这个概念。熵,是数据集中的不确定性、突发性或随机性的程度的度量。当一个数据集中的记录全部都属于同一类的时候,那么没有不确定性,这种情况下的熵为0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 决策树 算法 介绍
限制150内