简述
决策树是递归地选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个好的分类的过程,这一过程也对应着特征空间的划分和决策树的构建。
开始,构建根节点,所有训练集都放在根节点,选择一个最优特征,分割数据集,若所有数据子集都能被分类正确,则构建叶节点;否则,继续对子集选择新的最优特征,再次分割,直至所有子集都被分至叶节点。
优点
- 数据预处理简单,比如去掉多余的或者空白的属性即可
- 能够同时处理数据型和常规型属性
- 在相对短的时间内能够对大型数据源做出可行且效果良好的结果
- 对缺失值不敏感
- 可以处理不相关特征数据
- 效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度
缺点
- 对连续性的字段比较难预测
- 对有时间顺序的数据,需要很多预处理的工作
- 当类别太多时,错误可能就会增加的比较快
- 在处理特征关联性比较强的数据时表现得不是太好
熵
- 熵定义为信息增益的期望值。熵越大,一个变量的不确定性就越大,就是可取值多,把它区分清楚需要的信息也就越多
- 熵越大,说明系统越混乱,携带的信息就越少。熵越小,说明系统越有序,携带的信息就越多(信息的作用就是在于消除不确定性)
信息增益
- ID3算法划分特征使用的是信息增益
- 一个属性的信息增益越大,表明属性对样本的熵减少的能力就更强,该属性使得数据所属类别的不确定性变为确定性的能力越强
- 信息增益是经验熵H(D)与经验条件熵H(D|A)之差
- 经验熵表示对数据集进行分类的不确定性,条件经验熵表示在特征A给定的条件下对数据集进行分类的不确定性,所以,信息增益就表示由于特征A而使得对数据集D的分类的不确定性减少的程度
- 作用:特征选择,即选取对训练数据能够正确分类的特征
- 缺点:偏向于选择取值较多的特征
信息增益率
- C4.5算法划分特征就是使用信息增益率:信息增益 / 熵,就弥补了信息增益的“偏向于选择取值较多的特征”这一缺陷
- 在树构造过程中进行剪枝
- 能够完成对连续属性的离散化处理
- 能够对不完整数据进行处理
另外,无论是ID3还是C4.5最好在小数据集上使用,决策树分类一般只试用于小数据。当属性取值很多时最好选择C4.5算法
Gini指数
- CART算法划分特征就是使用Gini指数
- 度量数据分区或训练元组集D的不纯度
剪枝
- 原因:过拟合,即在训练时过多考虑对训练集的正确分类,构建出过于复杂的决策树。
- 实现:极小化决策树整体的损失函数或代价函数,等价于正则化的极大似然估计