1. 引言
决策树从本质上是从训练数据集上训练处一组分类规则,完全依据训练数据,所得规则容易发生过拟合,这也是决策树的缺点,不过可以通过决策树的剪枝,来提高决策树的泛化能力。由此,决策树的创建可包括三部分:特征选择、决策树的生成以及决策树的剪枝;决策树的应用包括:分类、回归以及特征选择。
决策树最经典的算法包括:ID3、C4.5以及CART算法,ID3与C4.5算法相似,C4.5在特征选择时选用的信息准则是信息增益比,而ID3用的是信息增益;因为信息增益偏向于选择具有较多可能取值的特征(例如,某一特征具有5个可能取值,其信息增益会比具有2个特征取值的信息增益大)。
2.主要内容
- 基于信息论的特征选择(python实现信息增益的计算)
- 决策树的生成
- ID3算法的python实现。
3. 基于信息论的特征选择
注意:熵表示随机变量的不确定性,熵值越大表示随机变量含有的信息越少,变量的不确定性越大。
1) 香侬定义一个数据的信息可按下式计算 (此处是以2为底的对数)
l(xi)=−log2p(xi)
2)熵表示一个数据集合信息的期望,可按下式计算:(该式不理解,可想象下,求变量期望的公式, p(xi) 为变量 xi 以及信息 l(xi) 的概率,概率乘以变量(信息)即为变量(信息)的期望)
H=−∑ni=1p(xi)log2p(xi)
3)特征 A 对数据集