决策树(一)

决策树

前言

决策树(decision tree)是一种常见的机器学习方法,给定包含属性的实例集X={x (1) ,x (2) ,…,x (n) }(其中,x (i) =(x (i)1 ,x (i)2 ,…,x (i)m )表示实例im个属性),以及各个实例对应的标签集L={l (1) ,l (2) ,…,l (n) },任务是根据属性将这n个实例进行分类,使得每个子类具有相同的标签(label)。

例1

ID不浮出水面是否可以生存是否有脚蹼属于鱼类
1
2
3
4
5

以流程图的形式表示决策树的工作方式:

Created with Raphaël 2.1.0 开始 离开水面是否能生存 是否具有脚蹼 是鱼类 不是鱼类 不是鱼类 yes no yes no

​ 图1 流程图形式的决策树

基本方法

概述

将实例全集X作为初始根节点,利用信息增益,逐次选择适当的属性,根据不同的属性值将实例集进行划分,将划分后的各个子集按照相同的方式选取属性进行划分,直到每个子集的标签相同。每次创建分支的伪代码函数createBranch()如下所示:

——————————————————————————–

IF 当前节点的实例集是否属于同一分类 THEN:

Return 类标签;

ELSE:

寻找划分实例集的最好特征

划分实例集

创建分支节点

FOR 每一个新的分支节点:

​ 调用函数createBranch(),并将结果返回原来的分支节点

END

Return 分支节点

———————————————————————————

信息增益

划分数据的大原则:将无序数据变得更加有序。可以用信息熵(entropy)表示数据的无序程度,越杂乱无序,信息熵越大,数据划分后的信息熵的降低程度称为信息增益,信息增益越大则说明分类越有效,分类后的子集越“纯净”。

信息熵的定义为: H=ni=1p(xi)log2p(xi) ,按照属性划分后的结果为条件熵,在信息论中,条件熵描述了在已知第二个随机变量X的前提下,随机变量Y的信息熵还有多少,用

H(Y|X)=xXp(x)H(Y|X=x)
表示,信息增益 G=HH(Y|X) .

C3决策树的不足

按照以上方法进行划分时,决策树倾向于把数据分得特别散,因为信息增益 G 只会按照子集纯度的高低选择划分属性,而没有考虑所选属性在整个数据集的分布情况,举个极端的例子,如果将例1中的ID也作为属性参与划分,毫无疑问ID的信息增益最大,因为每个ID只有一个实例H(Y|X)=0,最为纯净,因此在选择划分属性的时候,也需要考虑该属性在数据集中的杂乱度,这时信息增益便用增益率(gain ratio)替代

Gain_ratio=GH(D)

其中 H(D) 表示属性D的杂乱度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值