决策树算法
1. 决策树分类
- 分类决策树(用于分类问题)
- 回归决策树(用于回归预测问题)
2. 决策树原理
主要原理是先选择数据的信息增益(ID3)或信息增益率(C4.5)或基尼系数(CRAT)对数据进行划分,在此过程中每进行一次划分需要更新相应的信息增益、信息增益率和基尼系数,直至样本被完全分开,为了防止过拟合的发生,需要进行剪枝,剪枝方式有预剪枝和后剪枝。
决策树算法的两个重要问题是构造树和预测。
1. 熵(Entropy)
-
表示系统的混乱程度,熵值越大,越混乱
E n t = − ∑ i = 1 n P i l o g 2 ( P i ) Ent = -\sum_{i=1}^n P_ilog_2(P_i) Ent=−i=1∑nPilog2(Pi) -
如何直观理解这个式子?
例如两个系统
A = { 1 , 2 , 3 , 4 , 5 } , 其 概 率 分 别 为 1 / 5 , 1 / 5 , 1 / 5 , 1 / 5 , 1 / 5 A= \{1,2,3,4,5\}, 其概率分别为1/5,1/5,1/5,1/5,1/5 A={ 1,2,3,4,5},其概率分别为1/5,1/5,1/5,1/5,1/5
B = { 1 , 1 , 1 , 1 , 2 } , 其 概 率 分 别 为 4 / 5 , 1 / 5 B= \{1,1,1,1,2\}, 其概率分别为4/5,1/5 B={ 1,1,1,1,2},其概率分别为4/5,1/5
E n t ( A ) = − l n ( 1 5 ) Ent(A)=-ln( \frac{1}{5}) Ent(A)=−ln(51)
E n t ( B ) = − 4 5 l n ( 4 5 ) − 1 5 l n ( 1 5 ) < E n t ( A ) Ent(B)=-\frac{4}{5}ln(\frac{4}{5})-\frac{1}{5}ln( \frac{1}{5})<Ent(A) Ent(B)=−54ln(54)−51ln(51)<Ent(A)
根据熵值越大,越混乱,即系统A比B混乱,B更加“纯”
2. 信息增益
G a i n ( 信 息 增 益 ) = E n t ( D ) − E n t ( a ) Gain(信息增益) = Ent(D) - Ent(a) Gain(信息增益)=Ent(D)−Ent(a)
如何理解?
Ent(D)表示系统D总的熵,Ent(a)表示按a属性进行划分后系统的熵
例如以西瓜书上的例子
E n t ( D ) = − ∑ i = 1 n P i l o g 2 ( P i ) = − 8 17 l o g 2 ( 8 17 ) − 9 17 l o g 2 ( 9 17 ) = 0.998 Ent(D) = -\sum_{i=1}^n P_ilog_2(P_i) = -\frac{8}{17}log_2( \frac{8}{17})-\frac{9}{17}log_2( \frac{9}{17}) = 0.998 Ent(D)=−i=1∑nPi