咨询工具决策树算法及应用拓展

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

剪枝算法
n 设N为欲计算其最小代价的节点 n 两种情形:
n N是叶结点——C(S)+1 ——Cost1 n N是内部节点,有两个子节点N1、N2
n 已剪去N1、N2,N成为叶子节点 ——Cost1 n 计算N节点及其子树的代价,使用递归过程
Csplit(N)+1+minCost1+minCost2 ——Cost2 比较Cost1和Cost2,选取代价较小者作为返回 值
tmpCost=2*S+1+S*log a +∑i ni i=s+2..k
While s+1<k and ns+2>2+log a do{ tmpCost=tmpCost+2+log a-ns+2 S++} Return min{C(S)+1,tmpCost} }
PPT文档演模板
咨询工具决策树算法及应用拓展
n 一般做法:先建树,后剪枝
n Public算法:建树的同时进行剪枝
n 思想:在一定量(用户定义参数)的节点分 裂后/周期性的进行部分树的剪枝
n 存在的问题:可能高估(Over-Estimate)被 剪节点的值
n 改进:采纳低估(Under-Estimate)节点代价 的策略
PPT文档演模板
咨询工具决策树算法及应用拓展
n
至少有K-S-1个少数类
n
取Ci为某少数类,C(Sj)为编码叶子节点j上记录的代价
n
n
又有
C(S)> ∑nij
n
编码具有类 i 且位于叶子节点 j 的记录的代价是nij
n
所有少数类的代价 Cost= ∑ni i∈少数类
PPT文档演模板
咨询工具决策树算法及应用拓展
计算minCost_S的代码
Procedure computeMinCostS(Node N) If k=1 return (C(S)+1) S=1
Gini就是
n 提供最小Ginisplit 就被选择作为分割的标准(对于每个 属性都要遍历所有可以的分割方法).
PPT文档演模板
咨询工具决策树算法及应用拓展
预备知识二(Pruning Tree)
n 目的:
n 消除决策树的过适应(OverFitting)问题 n 实质:消除训练集中的异常和噪声
n 两种方法:
1.主要类(Majority Class):if
,

,则Ci为主要类
2.少数类(Minority Class): if
then
Cj为少数类
PPT文档演模板
咨询工具决策树算法及应用拓展
Public(S)算法(证明二)
n 题设:子树N有S个分裂点(Split),K个类
n
S+1个叶子节点
n
至多有S+1个主要类
, If N是纯节点或不可扩展的叶节点 return (C(S)+1)
两个子节点N1、N2
minCost1= Compute&Prune(Node N1) minCost2= Compute&Prune(Node N2) minCostN=min{C(S)+1,Csplit(N)+1+minCost1
n 所有属性假设都是种类字段 n 经过修改之后可以适用于数值字段
n 基尼指数——Gini index (IBM IntelligentMiner)
n 能够适用于种类和数值字段
PPT文档演模板
咨询工具决策树算法及应用拓展
信息增益度度量(ID3/C4.5)
n 任意样本分类的期望信息:
n I(s1,s2,……,sm)=-∑Pi log2(pi) (i=1..m)
n 先剪枝法(Public 算法) n 后剪枝法(Sprint 算法)
PPT文档演模板
咨询工具决策树算法及应用拓展
两种剪枝标准
PPT文档演模板
n 最小描述长度原则(MDL)
n 思想:最简单的解释最期望的
n 做法:对Decision-Tree 进行二进位编码, 编码所需二进位最少的树即为“最佳剪枝 树”
(如, information gain)
n 停止分割的条件
n 一个节点上的数据都是属于同一个类别 n 没有属性可以再用于对数据进行分割
PPT文档演模板
咨询工具决策树算法及应用拓展
伪代码(Building Tree)
PPT文档演模板
Procedure BuildTree(S) 用数据集S初始化根节点R 用根结点R初始化队列Q
PPT文档演模板
•inpu t
•判定树分类算法•t outpu
•训练 集
•决策 树
咨询工具决策树算法及应用拓展
使用决策树进行分类
n 决策树
nห้องสมุดไป่ตู้一个树性的结构 n 内部节点上选用一个属性进行分割 n 每个分叉都是分割的一个部分 n 叶子节点表示一个分布
n 决策树生成算法分成两个步骤
n 树的生成 n 开始,数据都在根节点 n 递归的进行数据分片
•yes •yes
•excellent •fair
•no
•yes
咨询工具决策树算法及应用拓展
基尼指数 Gini Index (IBM
IntelligentMiner)
n 集合T包含N个类别的记录,那么其Gini指标就是
pj 类别j出现的频率 n 如果集合T分成两部分 N1 and N2 。那么这个分割的
n 挖掘出变化的趋势
n 例:啤酒——尿布
n 阻止/延缓不利变化的发生
n 例:金融危机——银行的信贷策略
n 差异挖掘算法的主要思想:
n 合理比较新/旧数据的挖掘结果,并清晰的 描述其变化部分
PPT文档演模板
咨询工具决策树算法及应用拓展
预备知识一(Building Tree)
n 基本思想: n 用途:提取分类规则,进行分类预测
While Q is not Empty do { 取出队列Q中的第一个节点N if N 不纯 (Pure) { for 每一个属性 A 估计该节点在A上的信息增益 选出最佳的属性,将N分裂为N1、N2
}
} 咨询工具决策树算法及应用拓展
属性选择的统计度量
n 信息增益——Information gain (ID3/C4.5)
咨询工具决策树算法及 应用拓展
PPT文档演模板
2020/11/7
咨询工具决策树算法及应用拓展
概述(一)
n 传统挖掘方法的局限性
n 只重视从数据库中提取规则,忽视了库中 数据的变化
n 挖掘所用的数据来自稳定的环境,人为干 预较少
PPT文档演模板
咨询工具决策树算法及应用拓展
概述(二)
n 捕捉新旧数据变化的目的:
PPT文档演模板
咨询工具决策树算法及应用拓展
Cost of Encoding Tree
n 编码树结构本身的代价 n 编码每个分裂节点的代价
n 确定分类属性的代价 n 确定分类属性值的代价
&
其中,v是该节点上不同属性值的个数
n 编码每个树叶上的记录分类的代价
PPT文档演模板
咨询工具决策树算法及应用拓展
n 证明:
n 编码树结构代价 2*S+1 n 确定节点分裂属性的代价 S*log a
n 编码S+1个叶子结点的代价 ∑ ni i=s+2..k
PPT文档演模板
咨询工具决策树算法及应用拓展
Public(S)算法(证明一)
n 证明:编码S+1个叶子节点的代价至少
为 ∑ ni i=s+2..k
n 相关概念:
n 期望错误率最小原则
n 思想:选择期望错误率最小的子树进行剪 枝
n 对树中的内部节点计算其剪枝/不剪枝可能
咨询工具决策树算法及应用拓展
Cost of Encoding Data Records
n 对n条记录进行分类编码的代价(2种方法)
n n ——记录数,k ——类数目,ni——属于 类i的记录数
PPT文档演模板
咨询工具决策树算法及应用拓展
计算最小子树代价的伪代码
•Procedure ComputeCost&Prune(Node N)
• if N 是叶子节点,return (C(S)+1)
• minCost1= Compute&Prune(Node N1)
• minCost2= Compute&Prune(Node N2)
Compute the entropy for
age:
Similarly
PPT文档演模板
咨询工具决策树算法及应用拓展
Decision Tree (结果输出)
•age?
•<=30 •o•v30e.r.c40ast •>40
•student?
•yes
•credit rating?
•no •no
PPT文档演模板
n 其中,数据集为S,m为S的分类数目, Pi
PPT文档演模板
n Ci为某分类标号,Pi为任意样本属于Ci的概率,
si为分类Ci上的样本数 n 由A划分为子集的熵:
n E(A)= ∑(s1j+ ……+smj)/s * I(s1j+ ……+smj)
n A为属性,具有V个不同的取值 n 信息增益:Gain(A)= I(s1,s2,……,sm) - E(A)
PPT文档演模板
咨询工具决策树算法及应用拓展
Public(V)算法
n 计算分类节点值的代价:
n 编码叶子节点记录的代价 i=1..k (1)
n 在所有内部节点编码分裂节点值的代价
(2)
总代价 (1)+(2)
其中,Cj是叶子节点j上的主要类;M是S+1个叶子节 点上的主要类的集合
PPT文档演模板
咨询工具决策树算法及应用拓展
n Public(V) V ——split value
n 同上,还包括确定分裂节点值的代价
PPT文档演模板
咨询工具决策树算法及应用拓展
Public(S)算法(一)
n 相关概念
PPT文档演模板
咨询工具决策树算法及应用拓展
Public(S)算法(二)
n 定理:
n 任何以N为根结点且有S个分裂点的子树的 代价至少是2*S+1+S*log a+∑ ni i=s+2..k
n 树的修剪 n 去掉一些可能是噪音或者异常的数据
n 决策树使用: 对未知数据进行分割
n 按照决策树上采用的分割属性逐层往下,直到一个叶子节点
PPT文档演模板
咨询工具决策树算法及应用拓展
决策树算法
n 基本算法(贪心算法)
n 自上而下分而治之的方法 n 开始时,所有的数据都在根节点 n 属性都是种类字段 (如果是连续的,将其离散化) n 所有记录用所选属性递归的进行分割 n 属性的选择是基于一个启发式规则或者一个统计的度量
咨询工具决策树算法及应用拓展
训练集(举例)
ID3算法
PPT文档演模板
咨询工具决策树算法及应用拓展
使用信息增益进行属性选择
Class P: buys_computer = “yes”
Class N: buys_computer
= “no”
Hence
I(p, n) = I(9, 5) =0.940
12
•[16,truck,high]•[65,family,low]
•[2•h4[]2,s4p,osrptso,hritgsh,h] ig•1•[34,tr•u1ck,low]
•[32,sports,medi•][3•2[6,s5p,ofarmts,imlye,ldoiw] ]
•[34,truck,low]
算法比较
n Sprint: 传统的二阶段“构造-剪枝”算 法
n Public(1):用保守的估计值1取代欲扩展节 点的代价下界
n Public(S):考虑具有分裂点的子树,同时 计算为确定分裂节点及其属性的代价下 界
• minCostN=min{C(S)+1,Csplit(N)+1+minCost1

+minCost2}
• if minCostN=C(S)+1 Prune child nodes N1 and N2
• return minCostN
PPT文档演模板
咨询工具决策树算法及应用拓展
引入Public算法
+minCost2} if minCostN=C(S)+1 Prune child nodes N1 and N2 return minCostN
咨询工具决策树算法及应用拓展
计算子树代价下界
n Public(1)
n 假设节点N的代价至少是1
n Public(S) S —— split
n 计算以N为根且包含S个分裂点的子树代价 的下界(包括确定分裂节点属性的代价)
具体思路
n 三种叶节点:
n 有待扩展:需计算子树代价下界
n 不能扩展(纯节点) n 剪枝后的结点
•C(S)+1
PPT文档演模板
咨询工具决策树算法及应用拓展
改进算法的伪代码
PPT文档演模板
Procedure ComputCoste&Prune(Node N)
If N是仍待扩展的结点,return N节点的代价下界
Public(S)示例
age Car type label 16 truck high 24 sports high 32 sports Medi 34 truck low 65 family low
•N •1+log
•N •1+2log2
•1
•1
••11++log
•[16,truck,high]
相关文档
最新文档