数据挖掘十大经典算法-C4.5算法

数据挖掘十大经典算法如下:

十大算法分别归属分类、统计学系、关联分析、链接挖掘、集装与推进、聚类

十大算法共分为6个主题类别,其中分类算法最多,占4个;其次是统计学习,占2个;剩下的关联分析、链接挖掘、集装与推进、聚类各占一个。一般来说,分类算法为有监督学习(所谓有监督学习就是给定一堆样本,每个样本都有一组属性和一个类别(标签),这些类别(标签)是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类),聚类算法为无监督学习。

C4.5算法

简介

C4.5是决策树算法的一种。决策树算法作为一种分类算法,目标就是将具有p维特征的n个样本分到c个类别中去。决策树算法是在已知各种情况发生概率的基础上,通过构成决策树来评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。常见的决策树算法有ID3,C4.5,CART。决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

举个栗子

用一个范例来说明下啥是决策树。现如今通过相亲解决个人问题的很多;那么就可以通过某一类人相亲结果大数据下的评价,完成该决策树,以便对以后该类同学的相亲行为进行初步预测来节约时间。(此处应该有图)


这就是决策树,相亲鄙视链是不是很残酷

为了通过大量数据,完成一个类似上图的决策树,就要通过决策树算法实现。ICDM于2006年底评选数据挖掘十大经典算法,C4.5(分类决策树)居首,在这里讲一下C4.5决策树算法的主要思想。

基本思想

决策树算法需要解决的两个主要问题:

1)先选择哪个属性,后选择哪个属性来进行分裂?2)什么时候树停止生长?

这里,C4.5算法是这样解决的:

1)用信息增益率来选择属性分裂;2)构造树的过程中进行剪枝操作降低过拟合风险。下面分别介绍。

1. 划分选择

       即选择最优划分属性,一般对着划分过程的不断进行,即希望决策树的分支节点所包含的样本尽可能属于同一类,即节点的“纯度”越来越高。

       这里引出“信息熵”的概念。“熵”是对混乱程度的度量,越乱熵越大,是一个度量样本集合纯度最常用的指标。划分节点处到底用哪个属性的时候,希望节点处属性纯度大,也就是熵更小。信息熵的计算公式如下:

       用划分前(父节点)的不纯度和划分后(子女节点)的不纯度的差来来衡量属性分裂的测试结果,该指标成为信息增益,也就是熵的差,计算公式如下:

       一般而言,信息增益越来,意味着用该属性进行划分所获得的“纯度提升”越大,因此可以作为划分属性的选择。ID3决策树即采用信息增益为准则选择划分属性。

       但是实际上,信息增益对可取值数目较多的属性有所偏好,为减少这种不利,C4.5决策树算法产生,其将信息增益替换成增益率,来选择最优划分属性,其公式如下:

2.剪枝处理

       剪枝处理通过主动去掉一些分支来降低决策树分支太多,来防止训练样本学习得太好(过拟合,把训练集自身的一些特点当做所有数据都具有的一般特性)的发生。在C4.5算法中,采用了悲观剪枝(PEP算法)的方法,使用训练集生成决策树,又用训练集来进行剪枝。

       悲观剪枝主要通过递归估算每个内部节点所覆盖样本节点的误判率,然后假设需要进行剪枝操作,则剪枝后该内部节点会变成一个叶子节点,该叶子节点的类别为原内部节点的最优叶子节点所决定。计算比较剪枝前后该节点的错误率来决定是否进行剪枝。

优缺点

优点

产生的分类规则易于理解,准确率较高。

缺点

在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

理论联系实际

通过C4.5算法对天气数据集建模,形成决策树,根据采集的各种属性信息,决定活动的进行与否


上述数据集有四个属性,属性集合A={ 天气,温度,湿度,风速}, 类别标签有两个,类别集合L={进行,取消}。

1. 计算类别信息熵

类别信息熵表示的是所有样本中各种类别出现的不确定性之和。根据熵的概念,熵越大,不确定性就越大,把事情搞清楚所需要的信息量就越多。


样本中一共14条记录,9条为进行类别,5个为取消类别


2. 计算每个属性的信息熵

每个属性的信息熵相当于一种条件熵。他表示的是在某种属性的条件下,各种类别出现的不确定性之和。属性的信息熵越大,表示这个属性中拥有的样本类别越不“纯”。

3. 计算信息增益

信息增益 = 熵 - 条件熵,在这里就是 类别信息熵 - 属性信息熵,它表示的是信息不确定性减少的程度。如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然,选择该属性就可以更快更好地完成我们的分类目标。

信息增益就是ID3算法的特征选择指标。


但是我们假设这样的情况,每个属性中每种类别都只有一个样本,那这样属性信息熵就等于零,根据信息增益就无法选择出有效分类特征。所以,C4.5选择使用信息增益率对ID3进行改进。

4.计算属性分裂信息度量

用分裂信息度量来考虑某种属性进行分裂时分支的数量信息和尺寸信息,我们把这些信息称为属性的内在信息(instrisic information)。信息增益率用信息增益 / 内在信息,会导致属性的重要性随着内在信息的增大而减小(也就是说,如果这个属性本身不确定性就很大,那我就越不倾向于选取它),这样算是对单纯用信息增益有所补偿。

5. 计算信息增益率

IGR(天气)=Gain(天气)/H(天气)=0.246/1.577=0.155

IGR(温度)=Gain(温度)/H(温度)=0.029/1.556=0.0186

IGR(湿度)=Gain(湿度)/H(湿度)=0.151/1=0.151

IGR(风速)=Gain(风速)/H(风速)=0.048/0.985=0.048

天气的信息增益率最高,因此,选择天气为分裂属性。发现分裂了之后,天气是“阴”的条件下,类别是”纯“的,所以把它定义为叶子节点,选择不“纯”的结点继续分裂。


在子结点当中重复过程1~5。

至此,这个数据集上C4.5的计算过程就算完成了,一棵树也构建出来了。

总结算法流程为:

代码

测试数据集为MNIST数据集,获取地址为train.csv

运行结果


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

推荐阅读更多精彩内容

  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,754评论 0 25
  • 1.前言 决策树是一种基本的分类和回归方法。决策树呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。采用...
    胜利主义章北海阅读 2,518评论 0 0
  • 学号:17101223364 姓名:张海潮 转载自:https://m.baidu.com/from=101396...
    M张Z阅读 1,939评论 0 2
  • 0. 引言 C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每...
    Liopisces阅读 4,721评论 2 2
  • 基本概念 决策树(decision tree)是一种常见的机器学习方法,它是基于树结构来进行决策的,这恰是人类在面...
    司马安安阅读 1,444评论 0 3