分类分析
一、决策树算法
首先,顾名思义,决策树是基于树结构来进行决策的。树可以表达类和属性的关系。
1.决策树的基本组成部分:决策结点、分支和叶子。
2.如何选择叶子结点——选择最佳划分(属性)的度量
选择最佳划分的度量通常是根据划分后子结点不纯性的度量。不纯的程度越低,类分布就越倾斜。
3.采用熵来说明划分后子结点不纯性的度量,如下:
E
n
t
r
o
p
y
(
t
)
=
−
∑
i
=
0
c
−
1
(
p
(
i
∣
t
)
l
o
g
2
p
(
i
∣
t
)
)
Entropy(t)=-\sum_{i=0}^{c-1}(p(i|t)log_{2}p(i|t))
Entropy(t)=−∑i=0c−1(p(i∣t)log2p(i∣t))
熵的通俗理解就是混乱程度、不确定性程度。一个系统的混乱程度越高(不纯度越高) 它的熵就越高。熵可以表达样本集合不纯度,熵越小,集合不纯度就越低。
例子:
左边的图片表示:不纯度高(纯度低),即熵越大(每个出现的次数都很多),即不确定性大(确定性小);
右边的图片表示:不纯度低(纯度高),即熵越小,即不确定性小(确定性大)。
4.信息增益
为确定测试条件的效果,需要比较父节点(划分前)的不纯性程度和子女结点(划分后)的不纯性程度,他们的差越大,测试条件的效果就越好。信息增益
Δ
\Delta
Δ(或者用Gain表示)是一种用来确定划分效果的标准(其中,
I
(
)
I()
I()是给定结点的不纯性度量,
N
N
N)是父节点上的记录总数,
k
k
k是属性值的个数,
N
(
v
i
)
N(v_{i})
N(vi)是与子女结点
v
i
v_{i}
vi相关联的记录个数):
Δ
=
I
(
p
a
r
e
n
t
)
−
∑
j
=
1
k
N
(
v
j
)
N
I
(
v
j
)
\Delta=I(parent)-\sum_{j=1}^{k}\frac{N(v_{j})}{N}I(v_{j})
Δ=I(parent)−∑j=1kNN(vj)I(vj)
5.ID3算法
(1) 试探性地选择一个属性放置在根节点, 并对该属性的每个值产生一个分支.
• (2) 分裂根节点上的数据集, 并移到子女节点, 产生一棵局部树.
• (3) 对该划分的信息增益进行计算.
• (4) 对其他属性重复该过程.
• (5) 每个用于划分的属性产生一棵局部树.
• (6) 根据局部树的信息增益值, 选择一棵增益最大的属性的局部树.
• (7) 对选定的局部树的每个子女节点重复以上1-6步.
• (8) 这是一个递归过程. 如果一个节点上的所有实例都具有相同的类, 则停止局部树的生长.
例子: