当前位置:
文档之家› 数据挖掘之决策树算法理论与实战—Nieson
数据挖掘之决策树算法理论与实战—Nieson
右图展示了一棵多叉树
L1 L2 L3
L4
L5
决策树概论——模型解读
决策树解读示例。该决策树描述了一个购买电脑的分类模型,利 用它可以预测某一客户是否会购买电脑。
决策树概论——分类过程
决策树构建过程
决策树的构建过程是一个贪心算法。它采用自上而下、分而制之的递归 方式来构造一个决策树。 输入:训练数据集 输出:决策树
示例——利用决策树考察顾客是否会购买电脑
训练数据集
表 某一商场顾客购买记录数据库
示例——利用决策树考察顾客是否会购买电脑
创建根节点
由给定训练数据集可知,样本集合的类别属性为“购买PC”,该属性有两个不同的取值 {“是”、“否”},即有两个不同的类别(m=2)。设C1对应“是”,C2对应“否”,则 |C1|=9,|C2|=5,样本总数|S|=15。为了计算每个属性的信息增益,(1)先计算训练数据 集中两个类别的先验概率分别是:
分支建立
示例——利用决策树考察顾客是否会购买电脑
递归建立下一分支
考虑分支“年龄=‘<=30’”的结点 计算Gain(收入)=0.571,Gain(学生)=0.971,Gain(信用)=0.02,因此分支“年龄=‘<=30’”的 结点再选择属性“学生”作为其测试属性。 考虑分支“年龄=’30~40’”的结点 由于该结点中所有记录均属于同一类别“是”,所以分支“年龄=’30~40’”的结点为叶节点。 考虑分支“年龄=’>40’”的结点 计算Gain(收入)=0.02,Gain(学生)=0.02,Gain(信用)=0.971,因此分支“年龄=‘>40’”的 结点再选择属性“信用”作为其测试属性。 考虑分支“学生=‘否’”的结点 由于该结点中所有记录均属于同一类别“否”,所以分支“学生=‘否’”的结点为叶节点。 考虑分支“学生=‘是’”的结点 由于该结点中所有记录均属于同一类别“是”,所以分支“学生=‘是’”的结点为叶节点。 考虑分支“信用=‘优’”的结点 由于该结点中所有记录均属于同一类别“否”,所以分支“信用=‘优’”的结点为叶节点。 考虑分支“信用=‘中’”的结点 由于该结点中所有记录均属于同一类别“是”,所以分支“信用=‘中’”的结点为叶节点。
规模性 Volume 时效性 Velocity 多样性 Variety 准确性 Veracity 价值性 Value
可从数百TB 到数十数百 PB、甚至EB 的规模
需要在一定 的时间限度 下得到及时 处理
包括各种 格式和形 态的数据
处理的结果 要保证一定 的准确性
大数据分析 挖掘和利用 将带来巨大 的商业价值
条路径就对应着一条分类规则。 目前已有多种决策树算法:ID3、CHAID、C4.5、C5.0、CLS、CART、 SLIQ、SPRING等。 著名的ID3算法是J.R.Quinlan于1975年提出的,该算法引入了信息论 的理论,是基于信息熵的决策树分类算法。
决策树构建原理 ID3算法的核心:在决策树各级结点上选择属性时,用信息增益作
什么是信息熵?
信息熵:信息量的数学期望,是信源发出信息前的平均不确定性,反映
信息的混乱程度。
信息ui(i=1,2,…r)的发生概率P(ui)组成信源数学模型, P(ui)=1; 信息量(单位是bit,底数取2): 信息熵: (先验不确定性)。
I (u i ) log 2 1 log 2 P(u i ) P(u i )
构建分类模型是为了使用它对未知类别的数据进行归类,首先需
要保证模型分类的准确性(即模型评估)
holdout方法就是一种简单的估计方法: 使用测试样本对分类模型进行测试,那么分类模型的准确率就是由模型正 确分类的样本个数占总测试样本的比例。 正确率=(198+90)/(198+90+10+2)=96.00% 使用错差矩阵计算F值
数据挖掘之决策树算法
数据分析师:聂胜 2015年12月18日
内容提要
1 2 3 4 5 6
• 前言 • 分类算法的概念及原理 • 决策树分类 • 示例:是否购买电脑 • 决策树模型评估 • SPSS Modeler建模实战
信息技术革命的发展历程
我们已经进入了一个崭新的大数据时代 数据已经成为最重要的资产
生产管理 目标市场 资源配置 客户管理 精准营销 ……
数据爆炸,知识贫乏
数据挖掘的一般过程
模式评估
知识
数据挖掘
相关模式
任务相 关数据
数据仓库
数据选择
数据清理 数据集成
数据库
数据挖掘方法论—跨行业数据挖掘过程标准
CRISP-DM(CRoss-Industry Standard Process for Data Mining) 即为”跨行业数据挖掘过程标
由此,获得利用属性“年龄”对样本集合进行划分的信息增益为:
示例——利用决策树考察顾客是否会购买电脑
选择分支属性
同理可得:
找出具有最大信息增益的属性:
所以,选择“年龄”这一属性为了分支测试属性,并根据“年龄”字段的3个不同的取值产 生3个不同的分支。当前的样本集合被划分为三个子集,如下图所示。
示例——利用决策树考察顾客是否会购买电脑
建,反复使用,每一次预测的最大计算次数不超过决策树的深度。
决策树概论——树形结构
N1
左图展示了一棵简单的二叉树,其中矩形表示决 策树内部节点,每个节点含有决策属性,如图所
N3
N2
示包含了N1、N2和N3三个决策属性,椭圆表示决 策树的叶子节点,叶子节点中包含了分类属性。
L1
L2
L3 N1
N2
N3
N4
准”,该标准将一个数据挖掘工
程分为6个不同的,但顺序并非完 全不变的阶段。
内容提要
1 2 3 4 5 6
• 前言 • 分类算法的概念及原理 • 决策树分类 • 示例:是否购买电脑 • 决策树模型评估 • SPSS Modeler建模实战
什么是分类?
如何将信用卡申请人分为低、中、高风险
群?
哪些顾客在未来半年内会取消该公司服务? 哪些顾客会申请增加新的服务项目? 用户是否对某一产品感兴趣?是否会购买 该产品?
用来对新的样本进行分类。
分支属性选择方法
决策树方法就是基于ID3算法,通过计算每个属性的信息增益,并从 中挑选出信息增益最大的属性作为给定集合S的测试属性并由此产生 相应的分支结点。采用这一信息论方法可以帮助有效减少对数据集合
分类所需要的次数,即随着树深度的增加结点的熵迅速地降低,从而确保所产生的决策树最为简单。
用历史数据和专家经验,就需要对历史数据进行分析研究,建立一套
有效的药物选择分类决策支持系统,帮助医生针对特定病人准确选择 疗效更好的药物。
常用的分类算法
决策树
贝叶斯网络 神经网络 Logistics回归 其他分类算法
遗传算法、粗糙集方法、模糊集方法、K—最近邻、支持向量机、判别式等
模型的可用性如何保证? 模型评估
分类的第一步:模型创建
分类的第二步:模型使用(测试+预测)
分类应用场景一——客户分类
分类应用广泛,如医疗诊断、信用评估、客户分类、图像模式识别等
分类应用场景二——医疗诊断
XX病是一种常见的疾病,目前有5种药物可以对其治疗,分别是——A、
B、C、X、Y。不同的药物对病人有不同的疗效。历史上,医院往往根 据医生的经验去判断针对特定的病人应该选择何种药物。但是由于新 医生的加入,这种仅仅靠经验判断的做法就会造成很多误诊。 该医院有比较完善的病例留存,为了改变以上局面,也为了更好的利
鲁棒性:对噪声和缺失值的容错能力
可扩展性:处理大量数据并构建相应模型的能力 易理解性:模型的可解释程度
内容提要
1 2 3 4 5 6
• 前言 • 分类算法的概念及原理 • 决策树分类 • 示例:是否购买电脑 • 决策树模型评估 • SPSS Modeler建模实战
决策树概论——作用及优点
Step1:创建一个根节点N; //根节点对应所有的训练样本 Step2:如果一个结点的样本均为同一类别,则该结点就成为叶节点, 并标记为该类别;否则选择一个合适(信息增益最大)的属性作为分支
测试属性;
Step3:根据分支属性从根节点N产生相应的分支,并生成分支节点; Step4:重复Step2和Step3,直到(1)一个结点的所有样本均为同一类
分类所需要的信息量
利用属性A划分当前样本的信息(熵)
信息增益
此时,Gain(A)可以被认为是根据属性A取值进行样本集合划分所获得的信息
(熵)的减少量。
内容提要
1 2 3 4 5 6
• 前言 • 分类算法的概念及原理 • 决策树分类 • 示例:是否购买电脑 • 决策树模型评估 • SPSS Modeler建模实战
(2)计算对给定样本分类所需的期望信息(即样本的信息熵):
(3)计算每个属性的熵(条件熵)。(从年龄开始计算,根据属性“年龄”每个取值在 “是”类别和“否”类别中的分布,计算出每个分布所对应的信息)
示例——利用决策树考察顾客是否会购买电脑
创建根节点
如果样本按属性“年龄”划分,对一个给定的样本分类所需要的信息熵为:
数据
性别
子节点 男 女
根节点
年龄
<30 >30
0
叶节点
部门
数 据
1
开发
1
1
0
决策树构建原理
决策树是以历史数据为基础的有监督的学习。它从一组无次序、无规 则的记录中推理出决策树形式的分类规则,采用自顶向下的递归方式, 在决策树的内部结点进行属性值的比较,并根据不同的属性值从该结
点向下分支,而叶结点就是要学习划分的类。从根结点到叶结点的一