《机器学习实战》学习总结(二)决策树算法原理

概述

决策树分类算法属于有监督类学习算法。

该分类算法需要利用训练数据得到分类模型,然后再对待分类点进行决策分类。

分类模型(决策树)的计算过程如下:

1、计算训练数据的原始熵

2、分析训练数据,得到每个特征及其的可能取值

3、计算按每个特征分类后的熵

4、选择原始熵与每个特征分类后熵差值最大的那个特征作为分类特征

    (说明:把一个数据集按某个特征分成多个数据集后,这些数据集的熵一定是小于原数据集的熵的)

5、在步骤4中找到了第一个分类特征,接下来对分类后的数据集分别重复上述过程,即可得到决策树模型

6、如果数据集已经处理了所有属性,但是类标签依然不是唯一的,这种情况下,通常会采用投票的方式决定该几点的分类,即计算那个标签出现的频次最多,则选取该标签作为分类特征。

模型训练过程如下所示:

说明:每次计算熵的过程只与数据集的Lable有关,确切的说是每个Lable取值的概率有关

《机器学习实战》学习总结(二)决策树算法原理

如下通过一个示例说明将数据集分裂后,熵值会变小:

原始数据集:

F1

F2

F3

Lable

0

0

0

L1

1

1

1

L1

0

1

2

L2

标签L1的概率2/3,标签L2的概率 1/3

=-2/3*log(2/3)-1/3*log(1/3) =0.2764

特征值F1有两种取值01,据此将上述数据集分为两个:

F1

F2

F3

Lable

0

0

0

L1

0

1

2

L2

 

 

 

 

F1

F2

F3

Lable

1

1

1

L1

第一个数据集占总数据集的2/3,其中L1的概率:1/2L2的概率1/2

第二个数据集占总数据集的1/3,L1的概率为:1

=-{2/3*[1/2*log(1/2)+1/2*log(1/2)]}-[1/3*(1*log(1))]=0.2007

可以看出按特征值L1的取值分成的两个数据集的熵要比原来数据集的熵小。