首先,决策树可以用在回归与分类里面,但主要是用在分类上。
决策树主要分为三块:
- 特征选择
- 决策树生成
- 剪枝
特征选择主要有两种方法,对应了两种决策树的生成算法:
- 根据信息增益最高的特征来选取特征,这种选取准则(信息增益)的生成算法叫做ID3
- 根据信息增益比最高的特征来选取特征,这种选取准则(信息增益比)的生成算法叫做C4.5
信息增益是通过数据集的经验熵减去它的经验条件熵得到的。
公式在下面,其实如果将上面的语言说清楚了,面试官也就满意了一大半了,实在问公式,理解起来其实也不难。
这种根据信息增益来选取特征来构造决策树的算法叫做ID3算法,它有个比较大的缺点就是容易过拟合,所以产生了C4.5算法,这个算法是根据信息增益比来选取特征的,可以防止过拟合。
为了防止决策树过拟合,还需要对生成的决策树进行剪枝。
剪枝分为两大类:
- 预剪枝
- 后剪枝
预剪枝很简单,就是在生成决策树的时候设定一个阈值,使它在生成的时候提前结束,防止过拟合。
后剪枝是在决策树生成后再对其进行剪枝,主要有以下几种算法:
- Reduced-Error Pruning (REP,错误率降低剪枝):使用测试数据集来简化决策树,然后对比简化前后的决策树的错误率,哪个效果好就用哪个
- 悲观错误剪枝 PEP:这在C4.5决策树算法中提出的, 把一颗子树(具有多个叶子节点)用一个叶子节点来替代,比起REP剪枝法,它不需要一个单独的测试数据集。
- 基于错误剪枝 EBP
- 代价-复杂度剪枝 CCP:CART所用的剪枝方法,也不需要单独的测试数据集。
- 最小错误剪枝 MEP