首页 > 代码库 > 算法干货----决策树算法中的熵与信息增益
算法干货----决策树算法中的熵与信息增益
什么是决策树?为什么要用决策树?
决策树是一种二分树,或是多分数。对于大量数据的细分工作有很大帮助。在日常生活中,决策树的算法可谓是每天都在用。小到用户分类,大到辅助决策。实际上他的使用很多。
至于为什么要用到决策树,个人认为就是因为这种算法简单。代码实现起来主要就是IF-ELSE就可以实现。可这一算法的发展也是从ID3--->C4.5----->C5.0.
它的主要步骤就两个:1,建树 2,剪树
如何建树,就是如何分你的数据,按照哪种特性?比如人口统计数据,是按年龄,身高,体重,学历.............而如何选取里面一个指标,这就是建树的根本。比较这些指标的优劣势则较为重要,而这就是我们本文要讨论的熵与信息增益。
熵
小名就叫信息增益,还是拿人口统计数据来说,你要分析的目标人群是什么也决定着各指标商的大小。比如说,你分析人口数据是为了指到要买你减肥药的目标人群,那体重就在所有指标中显得尤其重要了。这一点,是我们拍着脑门就能够知道的,而当统计指标太多,如何确定哪项指标重要就要用到熵的这个概念。也就相当于把这些指标给量化成数值可供我们比较。
现代社会,我们手中的数据量是非常庞大的。例如说一些国有事业单位,它们里边的数据字段(也就是上边说的指标)大都在20列以上。而要如何确定那此字段是我们所需要的是要与我们的分析目标相链接的。而每一列的数据又是分为分类变量与连续变量,而决策树起到的作用主要是在分类变量上,但如果要连续变量或都离散变量进行相应转换,也可以按分类变量对待。
好了,把熵的概念理解清楚,你就明白了每一个分枝节点该选什么变量了!这一步完成了建树的过程。
剪树
当一棵树长的特别茂盛的时候,我们就要开始修剪了,园艺师的说法是剪枝,而在我们决策树算法里就叫做剪树。
剪树的过程也不复杂,就是把你用熵分出来的最终数据来一个统一要求,比如你是要二分树还是多分树?你要最多几个级别?最小的分叉要有多少个数据?这都是要考虑进来的因素。剪树到最后的阶段,就要开始与业务部门进行相应的互动。去验证你的算法,也即回到上边的那个例子,你找到的这些用户是否当你联系对方时,对方都会购买你的产品。
然后根据业务部分统计到的信息,可以做正向处理(邮寄产品)或反向处理(改正产品特色进行精准营销)。
总结
当进行了以上的操作之后,再把原始的数据按4:3:3的原则分配,再套入相应的模型开始做分类验证,相信在数据分析的过程中不断的完善自己的模型与算法。势必会达到我们的目的!
以上就是自己对于决策树算法中的关键部分的理解,还有不足之处,还望大家都能多多指正,彼此学习,共同进步!
本文出自 “数据挖掘与可视化” 博客,请务必保留此出处http://bingyang.blog.51cto.com/533655/1859824
算法干货----决策树算法中的熵与信息增益