数据挖掘入门算法ID3

开始学习数据挖掘相关算法!

参考①https://blog.csdn.net/ustcyy91/article/details/53401950

       ②https://blog.csdn.net/taoqick/article/details/72852255

       ③https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E7%86%B5/7302318?fr=aladdin

ID3算法

以信息熵和信息增益作为衡量标准的一种决策树分类算法。属于有监督算法。在ID3算法中,选择信息增益最大的属性作为当前的分类标识(类标)对数据集进行分类,进而能够得到深度尽可能浅的决策树。

相关理论基础

信息量

衡量信息多少的物理量,一个事件发生的概率越大,其包含的信息量就越少。一个越小概率的事件,其包含的信息量越多。概率的大小可以理解为事件进一步发展的不确定性的大小,这就是说信息量的大小与一个事件进一步发展的不确定性有关。

而这种不确定性怎么量化呢?事件的不确定性受什么影响呢?要想量化,首先需要知道哪些因素对其造成影响:

①事件进一步发展的可能情况的多少        ②可能情况的概率分布

有了影响因素之后,进一步分析信息熵应该具有的特性,比如非负、可叠加等。这样就能大概知道信息熵公式的模样了。这样再看香农的信息熵公式,就会有更好的理解。

信息熵

对信息进行量化所使用的就是信息熵的概念。也就是说信息量的结果就是信息熵。

信源含有的信息量是信源发出的所有可能消息的平均不确定性。我们用熵来评价整个信源的平均信息量,而平均最好的量度就是期望。在1948年,香农引入了信息熵,将其定义为离散随机事件出现的概率,一个系统越是有序,信息熵就越低,反之一个系统越是混乱,它的信息熵就越高。

香农给出的信息熵公式,对于任意一个随机变量X,它的信息熵定义如下,单位为比特(bit):



其中S是随机变量,它包括n种可能结果,pi表示第i种结果发生的概率。其中log的底数不是固定的,只不过一般采用2为底。


对应于分类系统来说,类别C是随机变量,有n种类别,则此分类系统的信息熵公式定义如下:



信息增益

以下参考文章:https://blog.csdn.net/fly_time2012/article/details/70210725

信息增益的计算公式:


其中为全部样本集合,是属性所有取值的集合,的其中一个属性值,中属性值为的样例集合,中所含样例数。


信息增益是针对属性而言的,就是看一个属性,系统有它和没有它时的信息量各是多少,两者的差值就是这个属性给系统带来的额外信息量,即信息增益。

接下来以天气预报的例子来说明。下面是描述天气数据表,学习目标是play或者not play。


可以看出,一共14个样例,包括9个正例和5个负例。那么当前的类别信息熵计算如下:

在决策树分类问题中,信息增益就是决策树在选择属性进行划分前后的信息熵的差值。假设利用属性Outlook来分类,那么如下图:


划分后,数据被分为三部分了,那么各个分支的信息熵计算如下:

那么划分后的信息熵为:



在决策树的每一个非叶子结点划分之前,先计算每一个属性所带来的信息增益,选择最大信息增益的属性来划分,因为信息增益越大,区分样本的能力就越强,越具有代表性。

猜你喜欢

转载自blog.csdn.net/asn_forever/article/details/80736244
ID3