决策树算法及应用拓展 内容简介: 概述 预备知识 捕捉变化数据的挖掘方法 小结 决策树生成(Building Decision Tree)

Slides:



Advertisements
Similar presentations
许瑞云医师 你已经很努力地注意饮食、作息、运动, 为什么身体还不能恢复健康 ? 细节 答案就在「 细节 」裡, 唯有掌握关键的一步, 养生才能达到真 正的功效 ! 现在就让我们跟着曾是全球知名的哈 佛医院主治医师的许瑞云, 学习最正确 的养生方法, 轻松打下健康满分的基础 !
Advertisements

苏教版 八(上) 第七单元 第 19 章 第二节 拒绝毒品. 虞美人罂粟花 你知道每年的 6 月 26 日 什么 是什么日子吗? 国际禁毒日 Yes to life No to drug.
REGRESSION AND CLASSIFICATION TREES 迴歸與分類樹. 簡介 傳統的複迴歸分析,假設誤差項服從常態分配,所 以複迴歸分析是一種有母數 (parametric) 方法。 本章將介紹一種常用的無母數 (non-parametric) 的 迴歸方法,此法稱為決策樹 (decision.
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
手动换页 域外风情系列 儿子去美国留学,毕业后定居美国。还给我找了 个洋媳妇苏珊。如今,小孙子托比已经 3 岁了。 今年夏天,儿子为我申请了探亲签证。在美国待 了三个月,洋媳妇苏珊教育孩子的方法,令我这 个中国婆婆大开眼界。
「減噪取靜、舒適校園」計畫 第四梯次 - 成果發表 新北市石碇區和平國小 報告者:蘇浩傳. 課程目標 認識聲音及噪音。 改善校園噪音,打造優質校園環境。 除校園外,將減噪取靜落實於生活。 由班級推廣至全校,再由學校推廣至家庭及社區。 Sound Noise Improve Everyday Life.
99學年度第1學期導師輔導工作座談會 全校性共同必修服務學習課程 報告單位:學務處領導知能與服務學習中心.
实验十十一 聚类算法.
互联网金融之金融数据挖掘 邹永杰 江西财经大学金融学院.
Data Mining: Concepts and Techniques
近年来,出现了一些制作粗糙、违背史实甚至常理的“抗战雷剧”,社会上也出现了一股“戏说”抗战剧的不良风气。
高三物理复习 运动的图象、追及相遇问题 (两 课 时) 泉州六中 苏碧贤.
Dr. Baokun Li 经济实验教学中心 商务数据挖掘中心
热爱党、热爱祖国、热爱人民 泉州九中初二年(10)班主题班会.
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
Introduction 基本概念 授課老師:蕭志明
第一节 职业生活中的道德与法律 第二节 大学生择业与创业 第三节 树立正确的恋爱婚姻观 第六章 培育职业精神 树立家庭美德.
老子的素朴 厦门大学计算机科学系 庄朝晖.
浪漫 碰撞 蜕变 专题八 19世纪以来的文学艺术.
德国波恩明斯特广场修建的贝多芬铜像( 1845年)
经济成长和差距平等化 东京学艺大学 铃木亘.
挖掘市场预期分布 建立有效投资策略 权证市场2006年中期投资策略
第 三 节 电磁铁的应用.
服务民生 打造诚信 构建和谐 全国中小企业融资交易中心系统 报告人: 中国科学院研究生院 研究员 崔福 建设诚信中国 实现民族复兴
高考考试说明解读 --政治生活.
系統分析與設計 系級:資管三B 姓名:朱秋儒 學號:
第九章 列联表 (定类变量-定类变量).
第五单元 群星闪耀 复法指导 阅读与欣赏 单元重点 1.了解传记文的基本体例与特征。
解放軍論壇 中共信息戰發展 對我國軍事戰略之影響.
第十一章 真理与价值 主讲人:阎华荣.
一言之辩强于九鼎之宝 三寸之舌胜于百万雄师
专题五 高瞻远瞩 把握未来 ——信息化战争 主讲教师:.
3DS MAX 机绘效果图表现技法 —— 李诚.
第七章 固 定 资 产.
第十章 现代秘书协调工作.
网络游戏对大学生生活的影响 英本1班 鞠申镅 汪晨茹 沈秋云 元文杰 段祺琪.
普通高等教育“十一五”国家级规划教材 全国高等农林院校“十一五”规划教材 农业系统工程 王福林 主编.
万 力 简 介 中国名牌专家 中国国际名牌协会副会长,中国产品质量协会副会长。
面对经济全球化.
行政院國軍退除役官兵輔導委員會 嘉義榮民醫院.
第十一章 Heap 結構.
第九章 查找 2018/12/9.
Probabilistic Neural Network (PNN)
数据结构 -Maple Related- 牟克典 数学科学学院信息科学系 2012秋季 1/16/2019.
创建三维模型(二) 1. 创建标准基本体 课堂练习——创建凉亭模型 课堂练习——创建茶几模型 2. 创建扩展基本体.
第四章 分类方法 内容提要 分类的基本概念与步骤 基于距离的分类算法 决策树分类方法 贝叶斯分类 2019年2月21日星期四
感謝同學們在加分題建議. 我會好好研讀+反省~
網路遊戲版 幸福農場168號.
公立學校教職員退休資遣撫卹條例重點說明 苗栗縣政府人事處編製 主講人:陳處長坤榮 107年5月2日.
第1章 初识3DS MAX 的神奇功能 本章应知 了解3DS MAX 6的工作界面、菜单栏、主工具栏、辅助工具栏、命令面板、工作区、动画播放区、视图工具的基本功能。 本章应会 1. 使用文件菜单能打开、新建、重做、保存3DS MAX文件 2. 会使用命令面板命令在视图中建立三维立体模型.
浙江大学医学院公共技术平台 实验仪器预约管理系统系列培训 医学院公共技术平台 丁巧灵
软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。
新高中通識教育科教案設計分享會 現代中國: 中國文化與現代生活 朱秀玲老師.
Course 4 分類與預測 Classification and Prediction
選擇勞退新制,終身免煩惱 勞工退休金新制 說明會.
基于云计算及数据挖掘技术的海量数据处理研究
资金时间价值概述 主讲人 任晓宇 去除PPT模板上的--无忧PPT整理发布的文字 首先打开PPT模板,选择视图,然后选择幻灯片母版
生成树.
資料結構簡介 綠園.
設計者:台中市重慶國小 張祐榕.楊晟汶.張儷齡
SLIQ:一种快速可伸缩分类器 Manish Mehta, Rakesh Agrawal, Jorma Rissanen IBM Almaden Research Center, 1996 报告人:郭新涛
分类 IRLAB.
第一章.
第十一章 基因演算法 (Genetic Algorithms)
第4章 材质与贴图 4.1 材质的基本概念 4.2 材质编辑器 4.3 贴图 4.4 贴图坐标 4.5 材质类型 4.6 阴影类型
績優教師分享 美容保健科 林品瑄 教師.
第二章 Java基本语法 讲师:复凡.
分類樹(Classification Tree)探討Baseball Data
摘要簡報 作品名稱:魔鬼記憶問答 作者:台中市西屯區永安國民小學 葉政德老師、王素珍老師.
Presentation transcript:

决策树算法及应用拓展 内容简介: 概述 预备知识 捕捉变化数据的挖掘方法 小结 决策树生成(Building Decision Tree) 决策树剪枝(Pruning Decision Tree) 捕捉变化数据的挖掘方法 小结

概述(一) 传统挖掘方法的局限性 只重视从数据库中提取规则,忽视了库中数据的变化 挖掘所用的数据来自稳定的环境,人为干预较少

概述(二) 捕捉新旧数据变化的目的: 差异挖掘算法的主要思想: 挖掘出变化的趋势 阻止/延缓不利变化的发生 例:啤酒——尿布 阻止/延缓不利变化的发生 例:金融危机——银行的信贷策略 差异挖掘算法的主要思想: 合理比较新/旧数据的挖掘结果,并清晰的描述其变化部分

预备知识一(Building Tree) 基本思想: 用途:提取分类规则,进行分类预测 output input 判定树分类算法 决策树 训练集 决策树 input

使用决策树进行分类 决策树 决策树生成算法分成两个步骤 决策树使用: 对未知数据进行分割 一个树性的结构 内部节点上选用一个属性进行分割 每个分叉都是分割的一个部分 叶子节点表示一个分布 决策树生成算法分成两个步骤 树的生成 开始,数据都在根节点 递归的进行数据分片 树的修剪 去掉一些可能是噪音或者异常的数据 决策树使用: 对未知数据进行分割 按照决策树上采用的分割属性逐层往下,直到一个叶子节点

决策树算法 基本算法(贪心算法) 停止分割的条件 自上而下分而治之的方法 开始时,所有的数据都在根节点 属性都是种类字段 (如果是连续的,将其离散化) 所有记录用所选属性递归的进行分割 属性的选择是基于一个启发式规则或者一个统计的度量 (如, information gain) 停止分割的条件 一个节点上的数据都是属于同一个类别 没有属性可以再用于对数据进行分割

伪代码(Building Tree) Procedure BuildTree(S) 用数据集S初始化根节点R 用根结点R初始化队列Q While Q is not Empty do { 取出队列Q中的第一个节点N if N 不纯 (Pure) { for 每一个属性 A 估计该节点在A上的信息增益 选出最佳的属性,将N分裂为N1、N2 }

属性选择的统计度量 信息增益——Information gain (ID3/C4.5) 所有属性假设都是种类字段 经过修改之后可以适用于数值字段 基尼指数——Gini index (IBM IntelligentMiner) 能够适用于种类和数值字段

信息增益度度量(ID3/C4.5) 任意样本分类的期望信息: I(s1,s2,……,sm)=-∑Pi log2(pi) (i=1..m) 其中,数据集为S,m为S的分类数目, Pi Ci为某分类标号,Pi为任意样本属于Ci的概率, si为分类Ci上的样本数 由A划分为子集的熵: E(A)= ∑(s1j+ ……+smj)/s * I(s1j+ ……+smj) A为属性,具有V个不同的取值 信息增益:Gain(A)= I(s1,s2,……,sm) - E(A)

训练集(举例) ID3算法

使用信息增益进行属性选择 Class P: buys_computer = “yes” Hence Similarly Class P: buys_computer = “yes” Class N: buys_computer = “no” I(p, n) = I(9, 5) =0.940 Compute the entropy for age:

Decision Tree (结果输出) age? <=30 overcast >40 student? yes 30..40 >40 student? yes credit rating? no yes excellent fair no yes no yes

基尼指数 Gini Index (IBM IntelligentMiner) 集合T包含N个类别的记录,那么其Gini指标就是 pj 类别j出现的频率 如果集合T分成两部分 N1 and N2 。那么这个分割的Gini就是 提供最小Ginisplit 就被选择作为分割的标准(对于每个属性都要遍历所有可以的分割方法).

预备知识二(Pruning Tree) 目的: 两种方法: 消除决策树的过适应(OverFitting)问题 实质:消除训练集中的异常和噪声 先剪枝法(Public 算法) 后剪枝法(Sprint 算法)

两种剪枝标准 最小描述长度原则(MDL) 期望错误率最小原则 思想:最简单的解释最期望的 做法:对Decision-Tree 进行二进位编码,编码所需二进位最少的树即为“最佳剪枝树” 期望错误率最小原则 思想:选择期望错误率最小的子树进行剪枝 对树中的内部节点计算其剪枝/不剪枝可能出现的期望错误率,比较后加以取舍

Cost of Encoding Data Records n ——记录数,k ——类数目,ni——属于类i的记录数

Cost of Encoding Tree 编码树结构本身的代价 编码每个分裂节点的代价 编码每个树叶上的记录分类的代价 确定分类属性的代价 确定分类属性值的代价 & 其中,v是该节点上不同属性值的个数 编码每个树叶上的记录分类的代价

剪枝算法 设N为欲计算其最小代价的节点 两种情形: N是叶结点——C(S)+1 ——Cost1 N是内部节点,有两个子节点N1、N2 已剪去N1、N2,N成为叶子节点 ——Cost1 计算N节点及其子树的代价,使用递归过程 Csplit(N)+1+minCost1+minCost2 ——Cost2 比较Cost1和Cost2,选取代价较小者作为返回值

计算最小子树代价的伪代码 Procedure ComputeCost&Prune(Node N) if N 是叶子节点,return (C(S)+1) minCost1= Compute&Prune(Node N1) minCost2= Compute&Prune(Node N2) minCostN=min{C(S)+1,Csplit(N)+1+minCost1 +minCost2} if minCostN=C(S)+1 Prune child nodes N1 and N2 return minCostN

引入Public算法 一般做法:先建树,后剪枝 Public算法:建树的同时进行剪枝 思想:在一定量(用户定义参数)的节点分裂后/周期性的进行部分树的剪枝 存在的问题:可能高估(Over-Estimate)被剪节点的值 改进:采纳低估(Under-Estimate)节点代价的策略

具体思路 三种叶节点: 有待扩展:需计算子树代价下界 不能扩展(纯节点) 剪枝后的结点 C(S)+1

改进算法的伪代码 Procedure ComputCoste&Prune(Node N) If N是仍待扩展的结点,return N节点的代价下界 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 +minCost2} if minCostN=C(S)+1 Prune child nodes N1 and N2 return minCostN

计算子树代价下界 Public(1) Public(S) S —— split Public(V) V ——split value 假设节点N的代价至少是1 Public(S) S —— split 计算以N为根且包含S个分裂点的子树代价的下界(包括确定分裂节点属性的代价) Public(V) V ——split value 同上,还包括确定分裂节点值的代价

Public(S)算法(一) 相关概念

Public(S)算法(二) 定理: 任何以N为根结点且有S个分裂点的子树的代价至少是2*S+1+S*log a+∑ ni i=s+2..k 证明: 编码树结构代价 2*S+1 确定节点分裂属性的代价 S*log a 编码S+1个叶子结点的代价 ∑ ni i=s+2..k

Public(S)算法(证明一) 证明:编码S+1个叶子节点的代价至少为 ∑ ni i=s+2..k 相关概念: 1.主要类(Majority Class):if , 有 ,则Ci为主要类 2.少数类(Minority Class): if then Cj为少数类

Public(S)算法(证明二) 题设:子树N有S个分裂点(Split),K个类 S+1个叶子节点 至多有S+1个主要类 取Ci为某少数类,C(Sj)为编码叶子节点j上记录的代价 又有 C(S)> ∑nij 编码具有类 i 且位于叶子节点 j 的记录的代价是nij 所有少数类的代价 Cost= ∑ni i∈少数类

计算minCost_S的代码 Procedure computeMinCostS(Node N) If k=1 return (C(S)+1) S=1 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} }

Public(S)示例 age Car type label 16 truck high 24 sports 32 Medi 34 low N age Car type label 16 truck high 24 sports 32 Medi 34 low 65 family 1+log2 N 1+log2 1 1+log2 1+1 1 [16,truck,high] [24,sports,high] [16,truck,high] [24,sports,high] [65,family,low] [34,truck,low] [32,sports,medi] 1 1 [32,sports,medi] [65,family,low] [34,truck,low]

Public(V)算法 计算分类节点值的代价: 编码叶子节点记录的代价 i=1..k (1) 在所有内部节点编码分裂节点值的代价 (2) 总代价 (1)+(2) 其中,Cj是叶子节点j上的主要类;M是S+1个叶子节点上的主要类的集合

算法比较 Sprint: 传统的二阶段“构造-剪枝”算法 Public(1):用保守的估计值1取代欲扩展节点的代价下界 Public(S):考虑具有分裂点的子树,同时计算为确定分裂节点及其属性的代价下界 Public(V):比前者准确,需计算确定结点上属性值的代价下界

实验数据(Real-life) DataSet Canner Car Letter Satimage shuttle vehicle yeast NO_CA 6 NO_NA 9 16 36 18 8 N_Class 2 4 26 7 5 10 N_R(Te) 214 567 6632 2000 14500 559 1001 N_R(Tr) 496 1161 13368 4435 43500

实验结果(一) 产生的节点数目 DS1 DS2 DS3 DS4 DS5 DS6 DS7 Sprint 21 97 3265 657 53 Dateset DS1 DS2 DS3 DS4 DS5 DS6 DS7 Sprint 21 97 3265 657 53 189 325 Public1 17 83 3215 565 141 237 PublicS 15 71 2979 457 115 169 PublicV 65 2875 435 107 163 Max rat 40% 48% 14% 51% 0% 77% 99% Nodes 9 37 1991 185 51 35 43 产生的节点数目

实验结果(二) 执行时间(S) DS1 DS2 DS3 DS4 DS5 DS6 DS7 Sprint 0.87 1.59 334.9 Dateset DS1 DS2 DS3 DS4 DS5 DS6 DS7 Sprint 0.87 1.59 334.9 177.65 230.62 11.98 6.65 Public1 0.82 1.51 285.56 167.78 229.21 10.58 5.55 PublicS 0.83 1.44 289.70 166.44 230.26 9.81 4.94 PublicV 0.81 1.45 300.48 159.83 227.26 9.64 4.89 Max rat 9% 0% 17% 11% 2% 3% 执行时间(S)

算法结果分析 总体上,比Sprint算法有较大改进 相对于最后的剪枝树仍有多余的结点,有待改进 挖掘效率与数据分布及噪声有关

言归正传—捕捉数据变化的挖掘方法 新生成一棵决策树 生成一棵相关的树 与旧树完全没有关系 未达到旧树中叶节点的深度 超出了旧树中相应节点的深度 相同的属性,最好的划分(best cut) 相同的属性,相同的划分

方法三的对应算法 使新树与旧树有相同的属性和划分,且能及早停止 测试在旧树中每个叶子节点的错误变化的情况 进一步生成新的树 剪枝移除那些无预测特性的分枝 比较新、旧树,识别变化部分

标识几种不同的变化类型 区域的连接:旧树中的划分不必要 边界的移动:旧树中的划分移到了新的位置 进一步细化(Refinement):旧树中的叶结点不足以描述新生成数据 类标号变化:旧树中的节点类标号发生了变化 错误率的变化 覆盖率的变化:某个节点具有的数据量的比率

小结 Building Decision Tree算法 Pruning Decision Tree算法 Public 算法 Public(s)算法 Public(v)算法 识别数据变化的挖掘算法

个人观点

计算分裂点属性代价下界的算法代码 Procedure ComputeMinCostS(Node N) If K=1 return (C(S)+1) S=1 tmpCost=2*S+1+S*log a +∑ni i=s+1..k While S+1<k and >2+log a do{ tmpCost=tmpCost+2+log a – s++ } Return min {C(S)+1,tmpCost } }