决策树算法

决策树原理概述

树模型

决策树:从根节点开始一步步走到叶子节点(决策)

所有的数据最终都会落到叶子节点,既可以做分类也可以做回归

树的组成

根节点:第一个选择点

非叶子节点与分支:中间过程

叶子节点:最终的决策结果(没有后代的节点)

节点

增加节点相当于在数据中切一刀

节点越多越好吗?

决策树的训练与测试

训练阶段:从给定的训练集构造出来一棵树(从根节点开始选择特征,如何进行特征切分)

测试阶段:根据构造出来的树模型从上到下去走一遍就好了

一旦构造好了决策树,那么分类或者预测任务就很简单了,只需要走一遍就好了。那么难点就在于如何构造出来一棵树,这就没那么容易了,需要考虑的问题还有很多。

如何切分特征(选择节点)

问题:根节点的选择该用哪个特征呢?接下来呢?如何切分呢?

想象一下:我们的目标应该是根节点就像一个老大似的能更好的切分数据(分类的效果更好),根节点下面的节点自然就是二当家了。

目标:通过一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当做根节点,以此类推。

衡量标准——熵

熵:表示随机变量不确定性的度量

(解释:说白了就是物体内部的混乱程度,比如杂货市场里面什么都有,那肯定混乱呀,专卖店里只卖一个牌子的那就稳定多了)

公式:

一个栗子:

A集合[1,1,1,1,1,1,1,1,2,2]  

B集合[1,2,3,4,5,6,7,8,9,1]

显然A集合的熵值要低,因为A集合只有两种类别,相对稳定一些,而B中类别太多了,熵值就会大很多(在分类任务中我们希望通过节点分支后数据类别的熵值大还是小呢?)

熵:不确定性越大,得到的熵值也就越大

当P=0或者P=1时,H(P)=0,随机变量完全没有不确定性

当P=0.5时,H(P)=1,此时随机变量的不确定性最大

如何决策一个节点的选择呢?

信息增益:表示特征X使得类Y的不确定性减少的程度。(分类后的专一性,希望分类后的结果是同类在一起)

决策树构造实例

数据:14天打球情况

特征:4种环境变化

目标:构造决策树

划分方式:4种

问题:谁当根节点呢?

依据:信息增益

在历史数据中(14天)有9天打球,5天不打球,所以此时的熵应为:

4个特征逐一分析,先从outlook特征开始:

outlook=sunny时,熵值为0.971

outlook=overcast时,熵值为0

outlook=rainy时,熵值为0.971

根据数据统计,outlook取值分别为sunny,overcast,rainy的概率分别为:5/14,4/14,5/14

熵值计算:5/14 * 0.971 + 4/14 * 0 + 5/14 * 0/971 = 0.693

信息增益:系统的熵值从原始的0.940下降到了0.693,增益为0.247

(gain(temperature)=0.029 gain(humidity)=0.152 gain(windy)=0.048)

同样的方式可以计算出其他特征的信息增益,那么我们选择最大的那个就可以啦,相当于是遍历了一遍特征,找出来了大当家,然后再其余的中继续通过信息增益找出二当家

信息增益率

ID3:信息增益(有什么问题呢?)

C4.5:信息增益率(解决ID3问题,考虑自身熵)

CART:使用GINI系数来当做衡量标准

GINI系数:

(和熵的衡量标准类似,计算方式不相同)

决策树剪枝策略

连续值怎么办?

选取(连续值的)哪个分界点?

&贪婪算法

排序

60 70 75 80 85 90 95 100 120 125 220

若进行“二分”,则可能有9个分界点

例子: 60 70 75 80 85 90 95 100 120 125 220

数值小于等于80的分为一类:60 70 75

数值大于80的分为一类: 80 85 90 95 100 120 125 220

数值小于等于95的分为一类:60 70 75 80 85 90 95

数值大于95的分为一类:100 120 125 220

实际上,这就是“离散化”过程

为什么要剪枝:决策树过拟合风险很大,理论上可以完全分得开数据

(想象一下,如果树足够庞大,每个叶子节点不就一个数据了嘛)

剪枝策略:预剪枝,后剪枝

预剪枝:边建立决策树边进行剪枝的操作(更实用)

后剪枝:当建立完决策树后来进行剪枝操作 

预剪枝:限制深度,叶子节点个数,叶子节点样本数,信息增益量等

后剪枝:通过一定的衡量标准

(叶子节点越多,损失越大)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容

  • 在计算机科学中,树是一种很重要的数据结构,比如我们最为熟悉的二叉查找树(Binary Search Tree),红...
    ZPPenny阅读 16,384评论 3 20
  • 分类与预测 餐饮企业经常会碰到下面的问题: 如何预测未来一段时间内,哪些顾客会流失,哪些顾客最有可能成为VIP客户...
    Skye_kh阅读 6,302评论 3 15
  • 基本概念 决策树(decision tree)是一种常见的机器学习方法,它是基于树结构来进行决策的,这恰是人类在面...
    司马安安阅读 1,492评论 0 3
  • 0x01 概述 决策树是附加概率结果的一个树状的决策图,是直观的运用统计概率分析的图法。机器学习中决策树是一个预测...
    Pino_HD阅读 1,454评论 0 0
  • 昨天看春晚直接看到12点然后打爆竹,我们这里叫开门爆,聊天的消息多,刚好不想写日记。打完爆竹后就去祠堂吃面去...
    天空蓝上阅读 158评论 0 0