码迷,mamicode.com
首页 > 编程语言 > 详细

经典分类算法——决策树

时间:2016-05-06 16:00:12      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

      决策树是一种自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于一类。

     决策树学习算法优点是,它可以自学习。在学习过程中,不需要使用者了解过多背景知识,只需要对实例进行较好的标注,就能够进行学习。决策树属于有监督学习。从一类无序、无规则的事物中推理决策树表示的分类规则。

      决策树的建立

      建立决策树的关键是,在当前状态下选择哪个属性作为分类依据。根据不同的目标函数,建立决策树主要有三种算法:

      ID3 (信息增益) 
      C4.5 (信息增益率)
      CART (基尼指数)

      信息增益表示得知特征A的信息而使得类X的信息的不确定性的减少程度。定义特征A对训练数据集D的信息增益为g(D,A),定义g(D,A)为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即g(D,A)=H(D)-H(D|A)。选择信息增益最大的特征作为当前的分裂特征。

       上公式中,经验熵技术分享, (D表示训练数据集,|D|表示样本个数,技术分享 表示有K个类,技术分享为属于技术分享的样本个数,有:技术分享)。注:经验熵是对标号关于类的求和。

       经验条件熵技术分享,特征A有n个不同的取值技术分享,根据特征A的取值将D划分为n个子集技术分享技术分享技术分享的样本个数,有:技术分享,记子集技术分享中属于类技术分享的样本的集合为技术分享技术分享技术分享的样本个数。注:经验条件熵是对特征关于属性的求和。

技术分享
技术分享
技术分享

       信息增益率:g(D,A)/H(D)

       Gini系数技术分享。注,Gini系数也称贫富差距系数。

     决策树剪枝

      在决策树的创建时,由于数据中的噪声和离群点,许多分枝反映的是训练数据中的异常。剪枝方法是用来处理这种过分拟合数据的问题。通常剪枝方法都是使用统计度量,剪去最不可靠的分枝。

      剪枝总体思路:由完全树技术分享开始,剪枝部分结点得到T1,再次剪枝部分结点得到T2...直到仅剩树根的树技术分享;在验证数据集上对这k个树分别评价,选择损失函数最小的树技术分享

      剪枝系数确定:

      1.根据原损失函数技术分享

      2.叶结点越多,决策树越复杂,损失越大,修正:

           当技术分享为0时,未剪枝的决策树损失最小技术分享

           当技术分享为正无穷大时,单根结点的决策树损失最小;

      3.假定当前对以r为根的子树剪枝,剪枝后只保留r本身而删除所有的叶子;

      4.考察以r为根的子树

           剪枝后的损失函数:技术分享

           剪枝前的损失函数:技术分享

      5.令上两式相等,则得到结点r的剪枝系数技术分享

 

  剪枝算法:

       1.计算所有内部节点的剪枝系数;

       2.查找最小剪枝系数的结点,剪枝得决策树;

       3.重复1.2.,直到决策树技术分享只有1个结点;

       4.得到决策树序列技术分享

       5.使用验证样本集选择最优子树。

经典分类算法——决策树

标签:

原文地址:http://blog.csdn.net/american199062/article/details/51314568

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!