美文网首页
决策树基础介绍

决策树基础介绍

作者: 风之子doudou | 来源:发表于2017-04-21 11:27 被阅读0次

    一。介绍

    决策树是一种分类算法。它的算法思想是:根据单一特征对类别的重要性,将特征进行“排序”;然后分类的时候,用这些“排序”的特征,高效的分类。

    二。算法步骤

    1,特征选择

           首先,对于特征选择下面介绍三种最普通的方法,它们有许多共同之处,差别在于对某一特征重要性的度量不一样。

            前两者的度量跟熵有非常密切的关系,那么什么是熵呢?——熵是对不确定性的度量。对于一件事情,如果它是确定性事件,则熵为0;如果对于这件事情,每种可能出现的概率相同,则熵达到最大。具体的公式见上面。

            计算技巧:由于要计算的是信息增益最大,在划分前信息总量infobeforeSplit()一定的情况下,我们完全可以直接求划分后信息量最小的特性即可。

    1.1 ID3

    以信息增益为基础,进行特征选择。其思想是:对于某一个特征,在知道该特征后,根据类别的信息量减少的量,对特征进行排序。

    1.2 C4.5

           如果某一个特征只含一个纯结点,这样决策树在选择属性时,将偏向于选择该属性,但这肯定是不正确(导致过拟合)的。因此有必要使用一种更好的方法,那就是C4.5中使用的信息增益率。

    其考虑了分支数量和尺寸的因素,使用称为内在信息的概念。【1】

          内在信息,可简单地理解为表示信息分支所需要的信息量。

          实际上可以看出,属性的重要性会随着其内在信息(Intrinsic Information)的增大而减小。信息增益率作为一种补偿(Compensate)措施来解决信息增益所存在的问题,但是它也有可能导致过分补偿,而选择那些内在信息很小的属性,这一点可以尝试:首先,仅考虑那些信息增益超过平均值的属性,其次再比较信息增益。

    1.3 CART

    【2】

    2,剪枝

            假如原本有1000个特征,在经过特征选择后,就是1000个特征的排序。但是实际上,后面的很多特征是没什么参考价值的,但是却还会影响分类的结果。所以要使用剪枝,来避免过拟合。

            剪枝分为预剪枝和后剪枝。预剪枝就是一边生成决策树一边将没用的枝剪掉;后剪枝是生成一整颗完整数之后再剪枝。

    前者好处是效率高,坏处是没能从全局的角度来剪枝,容易导致剪枝过度;(该剪枝方法尽管不是统计有效的,但是在实践中有效。【2】)

    后者的好处是从全局最优的思路下进行剪枝,坏处是效率低、数据量少时易过拟合。

    2.1 预剪枝

    在构造决策树的同时进行剪枝。所有决策树的构建方法,都是在无法进一步降低熵的情况下才会停止创建分支的过程,为了避免过拟合,可以设定一个阈值,熵减小的数量小于这个阈值,即使还可以继续降低熵,也停止继续创建分支。但是这种方法实际中的效果并不好。【3】

    2.2 后剪枝

    REP的步骤:

    1,从底到顶,试着删除某一个节点下的子树,给该节点最大概率的分类;2,如果删除后没有降低总体的准确率,则删除该节点的子树。3,然后往树的跟节点方向继续删除,直到都不能删除。

    其它如Minimum Error Pruning(MEP),Critical Value Pruning(CVP),Optimal Pruning(OPP),Cost-Sensitive Decision Tree Pruning(CSDTP)、PEP等方法。【2】反正我没看,具体要用再看。

    3,分类预测

    通过上面的两步,已经确定了最终用于分类的决策树。或者你还在郁闷,有了这样的一颗树,又怎么进行分类呢??

    实际上,这棵树从根节点到叶子的每一根树枝都有一个概率,然后不断地往叶子方向计算其概率,就可以得到每个叶子下的概率,而叶子对应的就是类别。

    三。优缺点

    优点:这个算法总的来说,还是基于一定的统计学意义,结合信息量的知识(当然啦,像贝叶斯等其他分类算法也都有这两点,而且也很偏重这两点)进行分类。这类算法不涉及迭代优化等,所以计算复杂度不高,效率快

    这个算法其实也是有一个致命的缺点:只能对离散的特征进行处理,对连续特征效果不好(虽然连续的特征也能转变为离散的特征,但是决策树受这些处理的影响很大,分类效果就差了),此外,对于特征中离散值的个数也有一定的限制(其实主要是个数多了,每个值对应的数据量就少了),容易出现纯节点,影响特征选择的效果,最终影响分类的结果。

    四。参考文章:

    【1】http://blog.csdn.net/cyningsun/article/details/8735169

    【2】数据挖掘十大经典算法 https://wizardforcel.gitbooks.io/dm-algo-top10/content/cart.html

    【3】http://www.jianshu.com/p/794d08199e5e

    相关文章

      网友评论

          本文标题:决策树基础介绍

          本文链接:https://www.haomeiwen.com/subject/jkwlzttx.html