决策树

一、决策树原理
决策树是通过一系列规则对数据进行分类的过程。它提供一种在什么条件下会得到什么值的类似规则的方法。决策树表示给定特征条件下,类的条件概率分布,决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。

二、决策树构成
决策树学习算法通常是一个递归地选择最优的特征,并根据该特征对训练数据进行分割,使得对各个数据集有一个最好的分类的过程。学习的过程一般为如下几个步骤:

特征选择:从训练数据的特征中选择最优特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)。
决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树。
剪枝:决策树容易过拟合,需要剪枝来缩小树的结构和规模(包括预剪枝和后剪枝)

1) 开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。
2) 如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。
3)如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,如果递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。
4)每个子集都被分到叶节点上,即都有了明确的类,这样就生成了一颗决策树

ID3算法是根据信息增益来选择特征进行划分
C4.5是根据信息增益率来选择特征进行划分
CART决策树是根据GINI增益来选择特征进行划分
另外在做回归树时,选者最佳划分特征的方式与分类不太一样,它先找出每个特征的的最佳划分点,去计算每个特征按照这种方式划分的损失函数,从中挑选损失函数最小的那个特征为当前最优划分特征。回归树也就CART树,属于CART算法,其他两个做不了。

优点:
第一就是决策树易于理解和解释,可以可视化分析,容易提取出规则。
第二就是可以同时处理标称型和数值型数据。
第三就是比较适合处理有缺失属性的样本。
第四就是能够处理不相关的特征。
第五就是测试数据集时,运行速度比较快。
第六就是在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

缺点:
第一就是决策树容易发生过拟合,但是随机森林可以很大程度上减少过拟合。
第二就是决策树容易忽略数据集中属性的相互关联。
第三就是对于那些各类别样本数量不一致的数据,在决策树中,进行属性划分时,不同的判定准则会带来不同的属性选择倾向;信息增益准则对可取数目较多的属性有所偏好,而增益率准则CART则对可取数目较少的属性有所偏好,但CART进行属性划分时候不再简单地直接利用增益率尽心划分,而是采用一种启发式规则。

你可能感兴趣的:(决策树)