zoukankan      html  css  js  c++  java
  • 013-数据结构-树形结构-决策树

    一、决策树

    1.1、概述

      if, else if, else,其实就就是决策树的思想。 只是这么多条件,哪个条件特征先做if,哪个条件特征后做if比较优呢?怎么准确定量选择这个标准就是决策树算法的要做的事情。

      准备,补充两个对数去处公式:

        

    1.2、信息论中的熵 

      熵度量了事物的不确定性,越不确定的事物,它的熵就越大。熵是无序性(或不确定性)的度量指标。具体的,随机变量X的熵的表达式如下:

      单随机变量 X 的熵

        通常以2为底数,所以信息熵的单位是bit。

      双变量 X和Y 的联合熵

        

      条件熵的表达式H(X|Y),条件熵类似于条件概率,它度量了我们的X在知道Y以后剩下的不确定性。表达式如下:
        

      根据决策树构建的过程,可以按照特征选择方式分成如下三种大类:

         

      信息增益(又称为互信息),定义为: H(X) - H(X|Y) ,记为I(X,Y)。

    1.2.1、ID3

      在决策树 ID3 算法中叫做信息增益。ID3算法就是用信息增益来判断当前节点应该用什么特征来构建决策树。信息增益大,则越适合用来分类。

      ID3 的缺点:

        没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。

        取值比较多的特征比取值少的特征信息增益大。

        ID3算法对于缺失值的情况没有做考虑等

        没有考虑过拟合的问题

      详细参看【后期细看】:https://www.cnblogs.com/zhangchaoyang/articles/2196631.html

    1.2.2、C4.5  

        对于使用信息增益作为标准容易偏向于取值较多的特征的问题。引入一个信息增益率的变量Ir(X,Y),它是信息增益和特征熵的比值。表达式如下:
        

      C4.5 的缺点:

        决策树算法非常容易过拟合

        C4.5生成的是多叉树,在计算机科学中二叉树往往运算效率更高。

        C4.5只能用于分类,如果能将决策树用于回归的话可以扩大它的使用范围。

        C4.5由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续值还有大量的排序运算。是否可以通过适当的降低结果准确性来简化模型的运算强度。

      详细参看【后期细看】:https://www.cnblogs.com/zhangchaoyang/articles/2842490.html

    1.2.3、CART

      前面两种方式都是基于信息论的熵模型,有耗时的计算问题,CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。(其实就是加了一个负号,对比信息熵的定义)

      在分类问题中,假设有K个类别,第k个类别的概率为pk, 则基尼系数的表达式为:

          

      如果是二类分类问题,概率是p,则基尼系数简化为:Gini(p)=2p(1p)

        

      详细参看【后期细看】:https://www.cnblogs.com/zhangchaoyang/articles/2709922.html

    参看原文:

      https://blog.csdn.net/smilejiasmile/article/details/82843278 

  • 相关阅读:
    XPah学习
    .NET在后置代码中输入JS提示语句(背景不会变白)
    .Net 使用文件上传控件FileUpload上传图片
    OnClientClick和OnClick同时使用!
    OnClientClick的用法
    mysql获得自增字段下一个值
    jQuery插件之ajaxFileUpload
    委托、匿名方法、Lambda表达式的演进
    js实现页面传值
    Entity Framework 学习初级篇--基本操作:增加、更新、删除、事务(转)
  • 原文地址:https://www.cnblogs.com/bjlhx/p/10912153.html
Copyright © 2011-2022 走看看