通俗地说决策树算法(一)基础概念介绍

决策树算是比较常见的数据挖掘算法了,最近也想写点算法的东西,就先写个决策树吧。

一. 什么是决策树

决策树是什么,我们来“决策树”这个词进行分词,那么就会是决策/树。大家不妨思考一下,重点是决策还是树呢?其实啊,决策树的关键点在上。

我们平时写代码的那一串一串的If Else其实就是决策树的思想了。看下面的图是不是觉得很熟悉呢?

常见的ifelse

当然决策树算法比这复杂那么一丢丢,所以在说决策树之前,我们需要先了解一些基本知识,先来说说信息论中的信息熵。

二.决策树介绍

决策树之所以叫决策树,就是因为它的结构是树形状的,如果你之前没了解过树这种数据结构,那么你至少要知道以下几个名词是什么意思。

  • 根节点:最顶部的那个节点
  • 叶子节点:每条路径最末尾的那个节点,也就是最外层的节点
  • 非叶子节点:一些条件的节点,下面会有更多分支,也叫做分支节点
  • 分支:也就是分叉

学过树这种数据结构的同学可能一看就明白了,没有学过也没关系,我们可以用上面的图来说明各部分分别是什么。

决策树的各个部分

三.信息熵

要说决策树,那信息熵是绕不过去的一座山~

3.1 信息熵是什么?

假设你要知道一件未知的事情,比如明天会不会下雨。这时候你就需要去获取一些信息,比如空气干湿度,今天是万里无云还是多云等等(假设没有天气预报)。这些信息中,有的可以让你能更加准确判断明天会不会下雨(比如今天有没有云),而有信息些则不会(比如今天晚餐吃什么)。如何度量这些信息对你决策的帮助呢?这里要使用到的就是信息熵了,信息熵正是对信息量有效性的一种度量方法。


信息熵介绍

如果你还记得高中化学的知识的话,那对这个字应该不会陌生。熵在化学中是表示分子的混乱程度,分子越混乱,它的熵就越大,而若分子越有序,熵值就越小

信息熵也是一样的,它能对信息的不确定性进行恒量,如果某个信息让我们的判断更加有序,清晰,则它信息熵越小,反之越大。

还是接上面的例子,现在你知道了空气的湿度,那么你就能更准确得判断明天是否会下雨。你得到的信息让你的结论更加清晰,准确,所以它的熵值就比较小,因为它让信息更加准确。而对今天晚餐吃什么这个信息,显然它对你判断明天会不会下雨是没什么帮助的,所以它的信息熵是比较大的,因为这个信息和明天有没有下雨没有关系,它并没有让我们的判断更加清晰,甚至让我们的判断趋于混乱。

计算信息熵的公式如下:

信息熵公式

其中U指的是某一信息,pi则是指信息中各种可能出现的结果的概率。

比如U为空气湿度,空气湿度一共有3中(干燥,微湿,湿润),则可以p1表示空气干燥的概率,p2表示空气微湿的概率,p3表示空气湿润的概率,这些概率都是可以通过样本统计出来的。

然后空气湿度的信息熵就可以计算出来了:

H(空气湿度) = p1 * log(p1) + p2 * log(p2) + p3 * log(p3)
我们可以举吴军老师的「数学之美」中的一个例子来解释这条式子。

假设2018年,有32支球队参加世界杯,每只球队最终获得冠军的概率一样。在世界杯之后,你去问别人世界杯冠军是哪个国家的?那个人不直接跟你说,让你猜!并且每猜一次,你需要支付1块钱,这时你怎么才能花最少的钱呢?

学过算法的我们自然知道可以用二分法,把32支球队分成两半,猜对猜错之后自然知道球队在哪一半,再二分再猜,这样最终你需要猜5次,也就是需要支付5块钱,没错吧。这样一来,这条信息的价值就是5块钱,而在计算机中,则用***bit***表示。假如一共有64支球队,那我们就需要多猜一次,这条信息的价格就变成了6。从这里我们就可以看出信息的度量跟log有关,log32=5,log64=6嘛。

现在我们来运用上面的公司,我们让p1,p2,p3...p32表示每支球队获胜的概率,运用公式,则
H(获胜) = p1*logp1 + p2*logp2 + ... + p32*log32

这样最终算出的结果正是等于5,就是说哪个国家获胜这条信息的信息熵是5。

3.2 信息熵与决策树

信息熵最早是用在通信领域的,而决策树的诞生是缘于澳大利亚计算机科学家昆兰,在一次研究生课程大作业中,引入了信息增益准则来改进程序。而后在1979年发表这一相关论文后,决策树算法正式问世,并掀起一股决策树算法的研究热潮。

那么它被用在哪里呢?

我们知道决策树由许多属性和分支组成,那么如何决定哪个属性在前,哪个在后呢。这里就需要用到信息熵了。

前面我们提到过信息熵是对信息不确定性的度量,既然信息可以度量,那每次我们只要找到信息熵的值最小,也就是让决策更加清晰的那个属性来作为根进行分支,那不就行了吗?什么,你说分支后怎么办,对树处理的基本方法就是递归,分支后,每一分支节点都可以当作一棵新的树,然后再来重复上面的步骤啦。

今天先介绍决策树的一些基础知识,后面我们会通过一个实际的例子以及代码来看看决策树的运行原理。

以上~

推荐阅读:
Scala 函数式编程指南(一) 函数式思想介绍
Actor并发编程模型浅析
大数据存储的进化史 --从 RAID 到 Hadoop Hdfs
C,java,Python,这些名字背后的江湖!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容

  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,756评论 0 25
  • 分类与预测 餐饮企业经常会碰到下面的问题: 如何预测未来一段时间内,哪些顾客会流失,哪些顾客最有可能成为VIP客户...
    Skye_kh阅读 6,198评论 3 15
  • 我们首先看一看决策树长什么样子? 如果你学习过“数据结构”,那你就会知道,计算机中的“树”是倒着放的,树根在上面,...
    李威威阅读 1,893评论 0 0
  • 一、决策树应用体验 分类   从上面可以看出,决策树对分类具有线性回归无可比拟的优势, 如果对未参与训练的数据集是...
    杨强AT南京阅读 1,225评论 1 3
  •   决策树(Decision Tree)是一种基本的分类与回归方法,其模型呈树状结构,在分类问题中,表示基于特征对...
    殉道者之花火阅读 4,417评论 2 2