决策树——分类树
一、 选择划分特征的标准
构建分类树,每一层都要选择合适的划分特征。如果数据集 D D D使用了某个特征 A i A_i Ai划分后,它的数据纯度提高了,那么就说明特征 A i A_i Ai适合被作为此分支的划分特征。选取划分特征有以下三种方法:
(1)信息增益
信息熵
熵,在物理中表示一个体系混乱程度的度量,熵越高,混乱程度越高。
信息熵( E n t ( x ) Ent(x) Ent(x))是一个系统有序化程度的度量。 E n t ( x ) Ent(x) Ent(x)越小,则某个样本集合中的元素纯度越高。
假如一个随机变量X取值为 X = { x 1 , x 2 , . . . , x n } X=\left \{ x_1,x_2,...,x_n \right \} X={
x1,x2,...,xn},每一种取到的概率分别为 { p 1 , p 2 , . . . , p n } \left \{ p_1,p_2,...,p_n \right \} {
p1,p2,...,pn},则 X X X的信息熵的公式为:
E n t ( X ) = − ∑ i = 1 n p i log 2 p i Ent(X)=-\sum_{i=1}^{n}p_i\log_2p_i Ent(X)=−i=1∑npilog2pi
信息增益
信息增益,是数据集 D D D按照其中的某个特征 A i A_i Ai所进行划分之后,数据集 D D D的纯度提升的度量。一般而言,信息增益越大,意味着使用 A ∗ A^* A∗这个特征来划分数据集 D D D所获得的的纯度提升越大。
一个数据集 D D D,对于 D D D的最终分类 C = { c 1 , c 2 , . . . , c k } C=\left \{ c_1,c_2,...,c_k \right \} C={ c1,c2,...,ck},可以根据集合 C C C,计算数据集 D D D的根节点信息熵 E n t ( D ) Ent(D) Ent(D)。
假设数据集 D D D包含 m m m种特征 A = { A 1 , A 2 , . . . , A m } A=\left \{ A_1,A_2,...,A_m \right \} A={
A1,A2,...,Am},对于每个特征 a i a_i ai,其又包含 n n n个取值为 { a 1 , a 2 , . . . , a n } \left\{a_1,a_2,...,a_n\right\} {
a1,a2,...,an}的离散值。设数据集在 A i A_i Ai这个特征上的分类为 D A i D_{A_i} DAi,那么特征 A i A_i Ai的信息熵为:
E n t ( D A i ) = − ∑ v = a 1 a n ∣ D v ∣ ∣ D ∣ E n t ( D v ) Ent(D_{A_i})=-\sum_{v=a_1}^{a_n}\frac{\left | D_v \right |}{\left | D \right |}Ent(D_v) Ent(DAi)=−v=a1∑an∣D∣∣Dv∣Ent(Dv)
所以,对于每个特征 A i A_i Ai对样本集合 D D D进行划分所获得的信息增益为:
G a i n ( D , A i ) = E n t ( D ) − ∑ v = a 1 a