大白话讲解决策树【案例】:如何区分西方人和东方人

来源:互联网 发布:linux创建新目录 编辑:程序博客网 时间:2024/04/29 07:55

【前言】:

决策树是一种十分常用的分类方法。它是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。

决策树有很多种算法:CHAID,CART,C4.5,C5.0。不过决策树的核心理论都其实差不多,本文将从介绍ID3的思想,方便各位读者理解决策树的核心理念。

【本文可以告诉你】:

1、        决策树最基础的原理

2、        决策树如何选择特征值的

【正文】决策树判断是否为东方人:

假设我们用有11个人,各自的情况如下:

序号

眼睛颜色

头发颜色

身高

是否为东方人

1

Black

Black

Short

Yes

2

Black

White

Tall

Yes

3

Black

White

Short

Yes

4

Black

Black

Tall

Yes

5

Brown

Black

Tall

Yes

6

Brown

White

Short

Yes

7

Blue

Gold

Tall

No

8

Blue

Gold

Short

No

9

Blue

White

Tall

No

10

Blue

Black

Short

No

11

Brown

Gold

Short

No

分类方法一:第一层用眼睛的颜色,第二层用头发的颜色进行分类。如图:(+号为东方人)


我们可以看到如果用眼睛的颜色分类,我们可以把绝大部分的人分类清楚。黑色眼睛为东方人,蓝色眼睛为西方人。如果碰到棕色的眼睛,我们需要再用头发的颜色进一步划分。头发为黑色和白色的为东方人,金色为西方人。就这样“区分东方人的决策树就完成了。“

有人会问如果我先用身高去进行划分呢?这也是可以的,如下图:

我们先用了身高,再用了头发颜色,再用眼睛颜色做了一个决策树。

问题:

那我们应该用哪颗树比较好呢?计算机又是如何去选择的呢?(这个答案就是决策树的奥秘)

对比两棵树的第一层各自的特征值,第一颗树用眼睛的颜色。

猜测准确度性从原来的6/11 上升到了 10/11。(说明:未分类前,我们全部猜测11人是东方人的正确度为6/11。通过眼睛颜色分类后,我们只有中间的3个需要猜测,另外8个都可以确定是否为东方人。所以假设棕色眼睛为东方人,我们会猜错1个人。确率升为10/11)

再对比第二颗决策树,它使用的是身高。


我们可以看到用身高分类,我们的准确度仍旧是6/11。其实没有太大改变。

也就是说:身高对于我们判断是否为东方人几乎没有任何作用,而眼睛的颜色对判断是否为东方人起了很大的作用。

那计算机是如何判断有没有作用的呢?

【关键理解部分】

数学家用了信息量的“熵”原理来衡量这个特征值是否对我们的分类有多大作用。

有一个公式介绍样本群是否为均匀分布,如下:

这个公式值的范围为(0~1),0说明样本没有杂质都是同一类的,1说明样本里2类的数目相同。

来一个【例子】理解起来就很方便了:

1)假设,我们11个样本里面全部都是东方人。即东方人x=11,西方人y=0;我们代入公式:i=-1*0+0*无穷大=0

2)假设,我们12个样本里面一半是东方人,一半西方人。即东方人x=6,西方人=6;我们代入公式:i=-0.5*(-1)+(-0.5)*(-1)=1

这个公式就可以告诉我们一个样本里面的类别分布情况。了解了这个我们可以看一下我们刚刚真实的数据的i是多少?(可以自己算一下。)

 

i= -5/11*LOG2(5/11)-6/11*LOG2(6/11)=0.99403

我们来计算一下分类后的i为多少?

I1=0;i2=0.917;i3=0  则分类后的加上权重:i=4/11*i1+3/11*i2+4/11*i3=0.25

我们可以看到11个样本的i从原来的0.994到了0.25,那么用眼睛颜色分类就是解决了0.744的不确定性。这0.744我们就成为information gain。计算机通过计算information gain 来确定哪个字段效果更好。

所以回到我们原来的案例,如果用身高去做第一层分类,我们会发现它得到的information gain 比眼睛颜色小,所以计算机就会选择眼睛颜色做第一层。

 

这就是ID3的核心思想,这也是很多决策树的重要思想。后续c4.5 C5.0 也是基于该模型的改进,改进内容如下:

1、        ID3只能用类别型变量的字段

2、        不允许空置

3、        没有考虑砍树(过拟合)

4、        喜欢多类型变量(这个要说明一下,如果我们把序列号作为ID3的特征字段的话,它就会直接输出每个序号对应的东方人和西方人。这样对于以后进入的数据就没有任何的预测功能。如果您全部能理解ID就知道为什么会出现这个状况,更多内容会在下一篇决策树优化案例介绍)

总结:

ID3是理解决策树的开始,理解了它的原理后续的一些决策树就会迎刃而解。同样理解了决策树的原理后,你在使用决策树你就理解各种各样的现象。不只是简单的使用软件出结果。

非常欢迎各位给我提意见。

参考文献:

《数据挖掘:概念与技术》

0 0
原创粉丝点击