决策树Decision Tree

决策树:

ID3:其核心是在决策树的各级节点上,实用信息增益(information gain)作为属性的选择标准,来帮助确定生成每个节点是所应采用的合适属性。ID3只是用于处理离散的描述属性。

C4.5: 相对于ID3的改进是使用信息增益率来选择节点属性。C4.5技能处理离散的描述属性,也能处理连续的描述属性。

CART:是一种十分有效的非参数分类和回归方法,通过构建树、修剪树、评估树来构建二叉树。当终结点是连续变量时,该树为回归树;当终结点是分类变量时,该树为分类树。


ID3:基于信息增益选择最佳属性,构造一棵信息熵值下降最快的树,树不断构建的过程也就是熵不断下降的过程。

信息熵:H(X) 描述X携带的信息量。 信息量越大(值变化越多,把事情搞清楚所需要的信息量就越多),则越不确定,越不容易被预测。表示随机变量的不确定性。

条件熵:在一个条件下,随机变量的不确定性。

信息增益IG(Y|X): 衡量一个属性(x)区分样本(y)的能力;在一个条件下,信息不确定性减少的程度。 当新增一个属性(x)时,信息熵H(Y)的变化大小即为信息增益。 IG(Y|X)越大表示x越重要

信息增益例子:明天下雨例如信息熵是2,条件熵(下雨|阴天)是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!

采用划分后样本集的不确定性来作为衡量划分好坏的标准,用信息增益值度量不确定性:信息增益越大不确定性就越小。ID3在每个非叶节点选择信息增益最大的属性作为测试属性,这样可以得到当前情况下最纯(最极端的情况是每个叶子节点只有一个样本)的拆分,从而得到较小的决策树

定义:特征A对训练集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差:

信息增益
信息熵
特征A对数据集D的经验条件熵

可以转化得到:

建模步骤

1. 对当前样本集合,计算所有属性的信息增益

2. 选择信息增益最大的属性作为测试属性,把测试属性取值相同的样本化为同一个样本集

3. 若子样本集的类别墅型只有单个属性,则为叶子节点,判断其属性值并标上相应的符号,然后返回调用处;否则对子样本集本算法

ID3例子

C4.5: 基于信息增益率(gain ratio)的ID3改进版。ID3不足在于选择具体特征作为节点的时候,它会偏向于选择取值较多的特征。一个极端情况是:以是否出去玩为例,假设新来的一列特征为partner,有n个取值,且每个取值只有一条记录,则特征的信息熵为0,

每个特征自成一类。E(A)即上文中H(D|A)条件经验熵

这样的信息增益是最大的,必然选择此特征为节点,但是结果是树很庞大而深度很浅,泛化预测能力较差。

gain ratio

IV(A): 属性A的可能取值数目越多,则IV(A)的值通常越大。

IV(A): 固有值intrinsic value

这里的IV(A)也叫做split information

*注

增益率准则对可取值数目较小的特征有所偏好,所以C4.5并不是直接选增益率最大的候选划分特征,而是使用了一个启发式:先从候选划分特征中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

对连续属性的处理如下:

1.      对特征的取值进行升序排序

2.      两个特征取值之间的中点作为可能的分裂点,将数据集分成两部分,计算每个可能的分裂点的信息增益(InforGain)。优化算法就是只计算分类属性发生改变的那些特征取值。

3.      选择修正后信息增益(InforGain)最大的分裂点作为该特征的最佳分裂点

4.      计算最佳分裂点的信息增益率(Gain Ratio)作为特征的Gain Ratio。注意,此处需对最佳分裂点的信息增益进行修正:减去log2(N-1)/|D|(N是连续特征的取值个数,D是训练数据数目,此修正的原因在于:当离散属性和连续属性并存时,C4.5算法倾向于选择连续特征做最佳树分裂点)


CART(Classification And Regression Tree): 使用基尼指数(Gini index)来选择划分特征。该算法是一种二分递归分割法,把挡墙的样本集合划分为两个子集合,它生成的每个非叶子节点都只有两个分支(binary tree)

基尼指数:表示数据的不纯度性基尼指数越大,越不平等。总体内包含的类别越杂乱,GINI指数就越大(跟熵的概念很相似)

给定一个数据集D,其中包含的分类类别总数为K,类别k在数据集中的个数为|C|,其Gini指数表示为:

数据集D的gini指数
特征a的gini指数

在候选特征集合A中,选择那个使得划分后基尼指数最小的特征为最优化分数性,即:

a* = arg min GiniIndex(D,a)


小节

算法    支持模型    树结构    特征选择             连续值处理    缺失值处理    剪枝        样本量

ID3     分类            多叉树     信息增益            不支持          不支持            不支持        /

C4.5   分类            多叉树     信息增益比         支持             支持                支持         小样本(大样本耗时)

CART分类|回归     二叉树    基尼系数|均方差  支持            支持                 支持        大样本(小样本泛化误差大)


决策树算法优缺点:

优点:

1.简单直观

2.基本不需要数据预处理,归一化,处理缺失值

3.预测代价O(logm),m为样本数

4.适用于离散和连续数据

4.逻辑上可以较好的解释,相较于神经网络的黑盒

5.可以用交叉验证的剪枝来提高泛化能力

6.对异常点容错能力好

缺点:

1.非常容易过拟合。可以通过设置节点样本数量和先知决策树深度以及后剪枝来改进

2.树的结构会因为样本的一点点改动而剧烈改变。可以通过集成学习方法改进

3.因为是贪心算法,只能确定局部最优。通过集成学习改进

4.如果某特征样本比例过大,生成的决策树容易偏向这些特征,造成欠拟合。可以通过调节样本权重来改进。


信息熵越大,不纯度越高,信息越杂乱


剪枝pruning

预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化能力(在训练时加入验证集随时进行泛化验证)的提升,则停止划分并将当前结点标记为叶节点。

根据不同决策树算法,防止过拟合的参数有一些不同,但max_depth是通用的;其他的一些参数:

min_samples_split:节点在分裂之前必须具有的最小样本数。也就是,如果该节点上的样本数量小于参数设置的数目时,不管怎样,这个节点也不再分裂。

min_samples_leaf:叶节点必须拥有的最少样本数。如果分裂一个节点生成一些叶子,而某个叶子上的样本数量少于参数设置的值时,将不将这些样本单独作为一个叶子。

min_weight_fraction_leaf:和上面一个参数差不多,但表示为加权实例总数的一小部分。

max_leaf_nodes:叶子节点的最大数量


后剪枝则是先从训练集中生成一颗完整的树,然后自底向上对非叶节点进行考察,若该节点对应的子树替换为叶节点能够提升泛化能力,则进行剪枝将该子树替换为叶节点,否则不剪枝。

评价函数:类似损失函数,越小越好。 

节点sample个数*信息熵/基尼系数
节点信息熵/基尼系数+当前树的叶子个数



随机森林random forest

bootstraping:有放回的抽样

bagging:有放回的采样n个样本建立一个分类器

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

推荐阅读更多精彩内容

  • 转自算法杂货铺--决策树决策树和随机森林学习笔记-欢迎补充 http://www.cnblogs.com/fion...
    明翼阅读 10,597评论 1 6
  • 3.1、摘要 在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法。这两种算法都以贝叶斯定理为...
    chaaffff阅读 818评论 0 1
  • 决策树是一个预测模型,也是一个分类器,代表对象属性和对象值的一种映射关系。决策树适用于小数据的分类。 决策树例子图...
    BadBadBadBoy阅读 2,232评论 0 1
  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,754评论 0 25
  • 简介 决策树也是一种监督学习的算法,和贝叶斯,SVM类似。既然是“树”,很自然的想到了二分。其实决策树就是根据特征...
    Eric_AIPO阅读 1,174评论 0 3