1 决策树算法简介
- 决策树定义:是一种树形结构,本质是一颗由多个判断节点组成的树。
- 决策树算法api:
* class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, max_depth=None,random_state=None)
2 决策树分类原理
2.1 熵:
- 物理学上,熵 Entropy 是“混乱”程度的量度: 系统越有序,熵值越低;系统越混乱或者分散,熵值越高。
- 信息熵(Entropy):
* 从信息的完整性上进行的描述: 当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散的地方熵值越大。
* 从信息的有序性上进行的描述: 当数据量一致时,系统越有序,熵值越低;系统越混乱或者分散,熵值越高。
2.2 决策树的划分依据一----信息增益 - ID3决策树
- ID3只能对离散属性的数据集构成决策树
* 用信息增益率来选择属性、可以处理连续数值型属性、采用了一种后剪枝方法、对于缺失值的处理
- 信息增益:以某特征划分数据集前后的熵的差值。可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。
* 信息增益 = entroy(前) - entroy(后)
* 信息增益表示得知特征X的信息而使得类Y的信息熵减少的程度
2.3 决策树的划分依据二----信息增益率 - C4.5 决策树
- C4.5 决策树 优化后解决了ID3分支过程中总喜欢偏向选择值较多的 属性
* 优点:产生的分类规则易于理解,准确率较高。
* 缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。
- 信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的 C4.5 决策树算法 [Quinlan, 1993J 不直接使用信息增益,而是使用"增益率" (gain ratio) 来选择最优划分属性.
- 增益率:增益率是用前面的信息增益Gain(D, a)和属性a对应的"固有值"(intrinsic value) [Quinlan , 1993J的比值来共同定义的。
2.4 决策树的划分依据三 ----基尼值和基尼指数 - CART 决策树
- CART 决策树 可以进行分类和回归,可以处理离散属性,也可以处理连续属性。
* C4.5不一定是二叉树,但CART一定是二叉树。
- CART 决策树 [Breiman et al., 1984] 使用"基尼指数" (Gini index)来选择划分属性.
* CART 是Classification and Regression Tree的简称,这是一种著名的决策树学习算法,分类和回归任务都可用
- 基尼值Gini(D):从数据集D中随机抽取两个样本,其类别标记不一致的概率。故ÿ