【理论篇】决策树算法 - 信息增益

连载上一篇文章末尾提到的两个问题:

1)如何选择特征?
2)如何进行特征的切分?

本节我们主要解决第一个问题:如何选择特征。

从根节点开始选择特征

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

可以想象一下,根节点好比一个趁手的过滤网,通过根节点切分数据之后,可以很好地将样本初步区分开,即分类效果更好。根节点下面的节点,自然就是分类能力第二的特征了。

那如何评估特征的分类能力呢?

这就须要我们找到一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当成根节点,以此类推。

衡量标准 1 - 熵

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

通俗讲就是物体内部的混乱程度,比如杂货市场里面什么都有,非常混乱,选择购买某类商品(随机变量)的不确定性很大,熵就越高。专卖店只卖一个牌子的商品,商品种类有限,不确定小,熵就越小。

举个栗子:

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

上述两个集合,显然 A 集合的熵值要低,因为 A 里面只有两种类别,不确定性小;而 B 中类别太多了,熵值就会大很多。

熵的计算公式:H(X)=- ∑ pi * logpi, i=1,2, ... , n

熵可以帮助我们度量随机变量的不确定性,不确定性越大,得到的熵值也就越大。

  • p=0p=1 时,H(p)=0,随机变量完全没有不确定性
  • p=0.5 时,H(p)=1,此时随机变量的不确定性最大

那在分类任务中我们希望通过节点分支后数据类别的熵值大还是小呢?当然是越小越好了,数据通过节点分支后,我们希望每个分支的数据越干净越好,这样才能把不同的类别更好的区分开。

那如何决策一个节点的选择呢?我们可以使用数据集原始的熵值减去经过节点分支之后求取的熵,选择差额最大的作为第一个节点。

这个差额我们称之为信息增益,即特征 X 使得类 Y 的不确定性减少的程度。可以理解为分类后的专一性,希望分类后的结果是同类在一起。

举例:决策树构造过程

有如下数据集:包含 4 个特征,分别是天气、温度、湿度以及是否有风;标签列为 Play 是否出游。

我们将根据该数据集,构造决策树,更具输入的户外情况来预测是否出游。

首先,原始数据集中有 9 天出游,剩下的 5 天不出游,所以原始数据集的熵为:

-9/14*log(9/14) - 5/14*log(5/14) = 0.940

接下来,我们选取根节点,分别计算 4 个特征切分后的熵值。先从 outlook 特征开始:

  • Outlook = sunny 时,熵值为 0.971
  • Outlook = overcast 时,熵值为 0
  • Outlook = rainy 时,熵值为 0.971

计算切分后的整体熵值,需要为每个切分后的数据集乘以一个权重参数:

5/14 * 0.971 + 4/14 * 0 + 5/14 * 0.971 = 0.693

上述的权重参数 5/14 4/14 5/14 即统计数据中,outlook 取值分别为 sunny,overcast,rainy 的概率。

经过 outlook 节点切分后,系统的熵值从原始的 0.940 下降到了 0.693 ,信息增益为 0.247。

同样的方式可以计算出其他特征的信息增益:

使用 temperature 切分数据集后的信息增益:

gain(temperature) = 0.029

使用 humidity 切分数据集:

使用 humidity 切分数据集后的信息增益:

gain(humidity)=0.152

使用 windy 切分数据集:

使用 windy 切分数据集后的信息增益:

gain(windy)=0.048

最后,我们选择信息增益最大的特征就可以了,相当于是遍历了一遍特征,找出来了根节点,然后再其余的特征中继续通过信息增益找接下来的分支节点。

使用信息增益作为衡量标准的决策树算法又称为 ID3 。但 ID3 算法对于分布稀疏的特征是存在问题的,具体是什么问题呢?

我们下节见~(* ̄︶ ̄)

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