决策树
优点:
- 计算复杂度不高,易于理解和解释,甚至比线性回归更直观;
- 与人类做决策思考的思维习惯契合;
- 模型可以通过树的形式进行可视化展示;
- 可以直接处理非数值型数据,不需要进行哑变量的转化,甚至可以直接处理含缺失值的数据;
- 可以处理不相关特征数据。
缺点:
- 对于有大量数值型输入和输出的问题,特别是当数值型变量之间存在许多错综复杂的关系,如金融数据分析,决策树未必是一个好的选择;
- 决定分类的因素更倾向于更多变量的复杂组合;
- 模型不够稳健,某一个节点的小小变化可能导致整个树会有很大的不同。
- 可能会产生过度匹配(过拟合)问题。
使用数据类型:数值型和离散型(标称型)。
工作原理:
决策树算法通常是一个递归的选择最优特征的过程,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好的分类过程。这一过程对应着特征空间的划分,也对应着决策树的构建。开始,构建根结点,将所有训练数据都放在根结点。选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点中去;如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点。如此递归的进行下去,直到所有的训练数据子集被基本正确分类,或者没有合适的特征为止。最后每个子集都被分到叶节点上,即都有了明确的类,这就生成了一颗决策树。
决策树可以看作if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
将决策树转换成if-then规则的过程如下:
由决策树的根节点到叶节点的每一条路径构建一条规则;
路径内部结点的特征对应规则的条件;
叶节点的类对应规则的结论.
决策树的路径具有一个重要的性质:互斥且完备,即每一个样本均被且只能被一条路径所覆盖。
决策树由结点和有向边组成。结点有两种类型: 内部结点和叶节点。内部节点表示一个特征或属性,叶节点表示一个类。
决策树通常有三个步骤:特征选择、决策树生成、决策树的修剪。
特征选择
如果利用一个特征进行分类的结果与随机分类的结果无异,则可以认为这个特征是不具备分类能力的。而我们应该基于什么准则来判定一个特征的分类能力呢?这时候,需要引入一个概念:信息增益。特征选择原则:对训练数据集,计算其每个特征的信息增益,并比它们的大小,从而选择信息增益最大的特征。
以信息增益作为特征选择准则,会存在偏向于选择取值较多的特征的问题。可以采用信息增益比对这一问题进行校正。原则也是选择信息增益比最大的特征。
决策树的生成
决策树的生成算法有很多变形,这里介绍几种经典的实现算法:ID3算法,C4.5算法和CART算法。这些算法的主要区别在于分类结点上特征选择的选取标准不同。下面详细了解一下算法的具体实现过程。
ID3算法
ID3算法的核心是在决策树的各个结点上应用信息增益准则进行特征选择。具体做法是:
从根节点开始,对结点计算所有可能特征的信息增益,选择信息增益最大的特征作为结点的特征&#x