机器学习算法系列(一)--决策树

1、什么是决策树

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。其图如下所示,

树分为:根结点、分支、结点及树叶四个组成部分。



2、决策树的构造

2.1熵的概念

香农提出 ,一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者 是我们一无所知的事情,需要了解大量信息==>信息量的度量就等于不确定性的多少,信息熵的单位为bits

信息熵的计算:,式中Pi代表不同事件发生的概率,信息熵总为正值,且熵值大小与信息的不确定性成正相关。

2.2决策树的建立规则

依据上述香农信息理论可知,要想不断增加信息的确定性,在每一个结点都应该选取能使当前结点下的分类的不确定性最大的减小,即使信息熵的值最大程度的减小,这样选取的结点才会使信息的不确定性以最大速度降低。

假设有以下数据,根据客户的年龄、收入、是否为学生、信用好坏等推断是否会购买电脑,建立决策树

1、直接看是否买电脑的信息熵:Info(D) = -9/14*log(9/14) - 5/14*log(5/14) = 0.940 bits

2、分别计算每个影响条件做为根结点的信息熵

增量为0.940 - 0.694 = 0.246 bits,类似其它增量分别为:income:0.029, student = 0.151, creadit_rating = 0.048

增量为以age做为根结点时信息增量最大,即能最大程度的减小信息的不确定性

建立后的形式如下


按以下计算方法依次递归重复建立每个分支的决策子树,即可完成整个决策树的建立。


算法运行过程中应该注意的几点:

1、树以代表训练样本的单个结点开始

2、如果样本都在同一个类,则该结点成为树叶,并用该类标号

3、使用基于信息熵的计算方式,选择能够最好将样本分类的发生

4、对于所有的属性均要求为离散的,连续值城需先离散化

5、对于出现在结点上的属性,后续步骤中均无需再考虑之

6、所有结点属于同一类即可停止

7、没有剩余属性可用于分类时停止


其它算法:

C4.5;

classification and regression Trees (CART), 

与此相同均为贪心算法且自上而下



决策树的剪枝--避免过度拟合

剪枝是决策树停止分支的方法之一,剪枝有分预先剪枝和后剪枝两种。预先剪枝是在树的生长过程中设定一个指标,当达到该指标时就停止生长,这样做容易产生“视界局限”,就是一旦停止分支,使得节点N成为叶节点,就断绝了其后继节点进行“好”的分支操作的任何可能性。不严格的说这些已停止的分支会误导学习算法,导致产生的树不纯度降差最大的地方过分靠近根节点。后剪枝中树首先要充分生长,直到叶节点都有最小的不纯度值为止,因而可以克服“视界局限”。然后对所有相邻的成对叶节点考虑是否消去它们,如果消去能引起令人满意的不纯度增长,那么执行消去,并令它们的公共父节点成为新的叶节点。这种“合并”叶节点的做法和节点分支的过程恰好相反,经过剪枝后叶节点常常会分布在很宽的层次上,树也变得非平衡。后剪枝技术的优点是克服了“视界局限”效应,而且无需保留部分样本用于交叉验证,所以可以充分利用全部训练集的信息。但后剪枝的计算量代价比预剪枝方法大得多,特别是在大样本集中,不过对于小样本的情况,后剪枝方法还是优于预剪枝方法的。
优缺点:

优点

决策树易于理解和实现,人们在在学习过程中不需要使用者了解很多的背景知识,这同时是它的能够直接体现数据的特点,只要通过解释后都有能力去理解决策树所表达的意义。
对于决策树,数据的准备往往是简单或者是不必要的,而且能够同时处理数据型和常规型属性,在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
易于通过静态测试来对模型进行评测,可以测定模型可信度;如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。

缺点

1)对连续性的字段比较难预测。
2)对有时间顺序的数据,需要很多预处理的工作。
3)当类别太多时,错误可能就会增加的比较快。
4)一般的算法分类的时候,只是根据一个字段来分类。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值