决策树

  • 读书笔记
    • 机器学习
      • 决策树
        • 基本概念
          • 基于树结构进行决策,即有一个根结点,若干个内部节点和若干个叶节点。
          • 目的是为了产生一一个泛化能力强,即处理未见示例能力强的决策树。
          • 基本流程
            • 输入
              • 训练集D
              • 属性集A
            • 过程:函数TreeGenerate(D,A)
              • 生成节点node
              • if D中样本全部属于同一类别C then
              • 将node标记为C中类叶节点;return
                
              • end if
              • if A = empty set or D中样本在A上的取值相同 then
              • 将node标为叶节点,其类别标记为D中样本数最多的类;return
                
              • end if
              • 从A中选择最优属性a*
              • for a* 中的每一个值a` do
              • 为node生成一个分支;令Dv表示D中在a*上取值为a`的样本子集
                
              • if Dv为空 then
                
              •     将分支结点标记为叶节点,其类别标记为D中样本最多的类;return
                
              • else
                
              •     以TreeGenerate(D,A\{a*})为分支结点
                
              • end if
                
              • end for
            • 输出
              • 以node为根节点的一颗决策数
          • 决策数的生成是一个递归的过程,有三种情况决策树会导致递归返回。
            • 当前节点包含的样本全属于同一类别,无须划分
            • 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
            • 当前结点包含的样本集合为空,不能划分。
        • 划分选择
          • 在决策数算法中,最重要的是如何选择最优属性。一般而言,随之划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即结点的纯度(purity)越来越高
          • 信息增益(ID3)
            • 度量样本集合纯度的指标:信息熵
              • 假定当前样本集合D中第k类样本所占的比例为Pk(k = 1,2·······|y|),则D中信息熵Ent(D)为-Pk·log2(Pk)从1到|y|的和。
            • 假设离散属性a有n个取值,如果用属性a对样本D进行划分,那么就会得出n个分支结点,对每个分支结点上取到的样本Dv,计算出每个Dv的信息熵,乘以权重(Dv的样本数与D样本数之商),的和,在用总的信息熵减去其,得出信息增益。
            • 缺点:信息增益准则对可取值数目较多的属性有所偏好。
          • 增益率(C4.5改善信息增益的缺点)
            • 用信息增益除以固有值IV。令a =Dv的样本数与D样本数之商。IV = a·log2a 对于所有的v之和
            • 但是,增益率准则可能对取值数目较少的属性有所偏好,所以C4.5并不是直接采用选择增益率最大的候选划分属性,而是采用一种启发式,先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
          • 基尼指数(CART)
            • 基尼值反映了从数据集中随机抽取两个样本,其类别标记不一致的概率,基尼值越小,样本纯度越高
            • 基尼指数为a乘以基尼值之和
        • 剪枝处理
          • 目的是为了对付过拟合
          • 基本策略
            • 预剪枝(prepruning)
              • 指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点
              • 优点:不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销。
              • 缺点:有些分支的当前划分虽不能提高泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高,会带来欠拟合的风险。
            • 后剪枝(post-prunning)
              • 先从训练集生成一棵完整的决策树,然后自底向下地对非叶节点进行考察,若将该结点对应的子树替换成叶结点能带来决策树泛化性能提升,则将该子树替换成叶结点
              • 优点:欠拟合风险小,泛化性能往往优于预剪枝决策树。
              • 缺点:开销时间大
        • 连续值与缺失值
          • 连续值处理
            • 采用二分法对连续属性离散化
              • 给定样本集D和连续属性a,假定a在D上出现了n个不同的取值,将这些值从小到大排序,记为{a1,a2·······an},基于划分点t可将D分为子集D-和D+,其中D-包含那些在属性a上取值不大于t的样本,而D+则包含哪些在属性a上取值大于t的样本,显然,对相邻的属性取值ai与ai+1来说,t在区间[ai,ai+1)取任意值所产生的划分效果相同。因此,对连续属性a,我们可考察包含n-1个元素的候选划分点集合Ta = {(ai+ai+1)/2|1<=i<=n-1},即把区间[ai,ai+1)的中位点作为候选划分点,然后,我们就可像离散属性值一样考察这些划分点,选取最优的划分点进行样本集合的划分,依旧采用信息增益。取最优解。
            • 与离散属性不同,若当前结点划分属性为连续属性,该属性还可作其后代结点的划分属性。
            • 缺失值处理
              • 面临的问题
                • 如何在属性值缺失的情况下进行划分属性选择
                • 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分
              • 将缺失值根据权重放入每个属性中。权重剪枝时使用。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,756评论 0 25
  • 积跬步以致千里,积怠惰以致深渊 注:本篇文章在整理时主要参考了 周志华 的《机器学习》。 主要内容 决策树是机器学...
    指尖上的魔术师阅读 1,316评论 0 5
  • 1、决策树算法 决策树(decision tree)又叫判定树,是基于树结构对样本属性进行分类的分类算法。以二分类...
    JasonJe阅读 2,733评论 0 22
  • (图片来源网络) 1. 章节主要内容 决策树是机器学习的一类常见算法,其核心思想是通过构建一个树状模型来对新样本进...
    闪电随笔阅读 5,164评论 3 14
  • 决策树 原理 《机器学习》周志华 4.1 基本流程 决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强...
    hxiaom阅读 473评论 0 0