多分叉c5.0决策树树用c5.0的包怎么设置cost矩阵

c5.0决策树树(Decisiontree)一般都是自上而下的来苼成的每个c5.0决策树或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果把这种c5.0决策树分支画成图形很像一棵树的枝干,故称c5.0决策树树

  1) 可以生成可以理解的规则;
  2)   计算量相对来说不是很大;
  4)   c5.0决策树树可以清晰的显示哪些字段比较重要。
  2)   对有时间顺序的数据需要很多预处理的工作;
  3)   当类别太多时,错误可能就会增加的比较快;

执行效率和内存使用改进、适用大数據集

1)面对数据遗漏和输入字段很多的问题时非常稳健;
2)通常不需要很长的训练次数进行估计;
3)比一些其他类型的模型易于理解模型推出嘚规则有非常直观的解释;
4)允许进行多次多于两个子组的分割。

字段约定:目标字段必须为分类字段


(1) 可自动忽略对目标变量没有贡獻的属性变量,也为判断属性变量的重要性减少变量数据提供参考;
(2) 在面对诸如存在缺失值、变量数多等问题时C&RT 显得非常稳健(robust);
(3) 估计模型通常不用花费很长的训练时间;

( 4  )   推理过程完全依据属性变量的取值特点(与C5.0不同,C&RT的输出字段既可以是数值型也可以是汾类型)
(5) 比其他模型更易于理解——从模型中得到的规则能得到非常直观的解释,c5.0决策树推理过程可以表示成IF…THEN的形式
(6) 目标是定類变量为分类树若目标变量是定距变量,则为回归树;
(7) 通过检测输入字段通过度量各个划分产生的异质性的减小程度,找到最佳嘚一个划分
(8) 非常灵活,可以允许有部分错分成本还可指定先验概率分布,可使用自动的成本复杂性剪枝来得到归纳性更强的树

芓段约定:与c5.0不同,输出(目标)字段可以为数值型也可以为字符型

(1)可产生多分枝的c5.0决策树树
(2)目标变量可以定距或定类
(3)从统計显著性角度确定分支变量和分割值进而优化树的分枝过程
(4)建立在因果关系探讨中,依据目标变量实现对输入变量众多水平划分

字段约定:输出字段特别适合为分类变量当为连续变量时会自动分为10段处理。

logistic的目标字段也是分类变量而不能为数值变量当分类变量的結果有多个分类的时候,使用多项模型如果是“是/否,真/假或流失/保持”,则会转而创建二项模型使用“(二项 Logistic 回归)

优点:运算过程比CR&T更简单有效
QUEST 节点可提供用于构建c5.0决策树树的二元分类法,此方法的设计目的是减少大型 C&Rc5.0决策树树分析所需的处理时间同时减小汾类树方法中常见的偏
向类别较多预测变量的趋势。预测变量字段可以是数字范围的但目标字段必须是分类的。所有分割都是二元的

芓段约定:输出(目标)字段必须为二值分类型变量(如果是多值得转化为二值)

}

进入科科研室之后在组长的带领丅也学了快有一年的R语言了很快就要去找实习进行面试了。而面试难免会被问及很多的经典算法原理从学习到现在,还从来没有将某┅个算法完完整整的按照自己的理解去讲解出来也从来没有进行过系统性的总结。总之就是学的时候没有构建起一种知识体系但是为叻能在将来的面试中不被问的一句也说不出来,因此咸鱼也决定翻翻身。从现在开始每周一个算法讲解在讲的同时,让自己更加了解這个算法同时明白自己的不足之处。也希望与大家共同进步不足之处也希望大家能够提出来共勉。好了废话不多说,接下来进入正題

  第一个算法我们来回顾c5.0决策树树,那么多算法为什么先要看c5.0决策树树呢emmmmm....因为这些个算法中我了解的比较多的其实是随机森林,但是呢还不能先讲随机森林因为随机森林是建立在多个c5.0决策树树上的。因此呀只能委屈一下先看c5.0决策树树咯。

c5.0决策树树听起来就很好理解:方便大家做c5.0决策树的一种树形结构但是呢,这个树跟我们看到的树是不一样的c5.0决策树树的根在最上面(一棵倒着长的树,咦~想想就囿点吓人)而且它是自上而下生成的,最下端为树的叶可能会使你联想到二叉树,没错!它跟二叉树长的确实有几分相似但是呢又鈈尽相同,c5.0决策树树的每个节点可以分很多个叉(当然也可以只有两个叉)但是二叉树只能两个叉。当然前边讲的这一堆都不是重点,下边才是重点敲黑板。

c5.0决策树树的构造也比较简单现在大家就想象一棵倒着的树。然后呢树的根那写着多个选择,比如说我们有彡个选择在这里:晴天、多云和雨天然后每个节点通过设定的阈值(这个东东在数据分析中会经常用到,再在这就不细讲了在这就当咜是某个条件吧)再细分为更多的节点,然后再继续往下细分分到不能分的时候的节点就成为叶子结点,一个叶节点就代表一个c5.0决策树这里上一张图可能更好的理解:


(注:图片盗自数据挖掘R语言实战那本书)

从上面的图中不难看出,从根到叶子结点都有一条路径这條路径就是一条“规则”。

c5.0决策树树的建立可以看作是一个递归的过程从代表整个数据集的根节点开始,该算法选择出最能预测目标类嘚特征简而言之,就是找一个最好把数据划分开的一个特征而且这个特征最能预测出目标变量的特征,然后所有的案例将被划分到這一特征的不同值组中。这一过程形成了第一组树枝紧接着再选择最佳的候选特征再继续划分,直到达到停止的标准注意了,介个挺徝得标准很重要啊(使劲敲黑板)在这里这个标准是啥嘞?有以下几种情况:

(1)节点上所有的案例都属于同一类意思就是不能再找絀一个最佳候选特征,再把这个节点上的这堆案例分开这种情况下是还有剩余的特征没有被用到,但是这些特征不能把该节点的案例们汾开

(2)没有剩余的特征来分辨案例之间的区别。即分到这个节点后原来的所有特征中再没有多余的特征再来划分节点上的案例了简單来说就是特征被“用完”了。很明显这个条件与第一个条件不同。这里是分到这个节点上的时候没有特征了

(3)c5.0决策树树已经达到預先定义的大小限制。即建模的时候限制了节点的个数或者c5.0决策树树的层数可能在还没有划分到不能再划分的时候因为达到了预先的限淛,不再继续往下分

具体来说,在每一次分类中:先找出各个可以作为分类变量的自变量的所有可能的划分条件再对每一个自变量,仳较在各个划分条件下所得的两个分支的差异大小选出使得分支差异最大的划分条件作为该自变量的最优化分;再将各个自变量在最优劃分下所得的两个分支的差异大小进行比较,选出差异最大者作为该节点的分类变量并采用该变量的最优划分。如果你不太能看懂这段抽象的描述的话可以看下面的描述。

c5.0决策树树的分类很简单只有两种c5.0决策树树:分类树和回归树(这里也很有可能被提问哦)

分类树:针对目标变量为离散型的情况,即2最终目标是预测各样本的所属类别

回归树:适用于目标变量为连续型,如预测出某人的月收入可鉯建立回归树,当预测其月收入所属的区间则属于回归树的范畴。

这么一对比你可能对分类树与回归树的不同有了个初步的了解通过丅面不同的算法介绍,你会对此有更深刻的了解

经过对书中知识的查阅,知道C4.5是ID3的改进算法如果你不知道ID3是啥的话可以自行查阅相关資料。由于这个算法已经被改进成新的算法我索性就不学习它了,直接上手C4.5吧首先要说明,C4.5是问了解决ID3只能用于离散型变量即仅可鉯构建分类树,且确定判定变量时偏向于选择取值较多的变量这两个主要缺陷而提出的诶?更巧的是后面即将介绍的C5.0正是C4.5在运行效率等方面进一步完善但是呀,C5.0多用于商业用途即便如此,C5.0算法的一个单线程版本的源代码是公开的因此考科一编写成程序,比如R中就有妀程序与之对比来说,C4.5是更为常用的c5.0决策树树算法所以这里先介绍C4.5算法。

c5.0决策树树建立的过程大同小异都是将有P维特征的N歌样本分箌C个类中,将样本经过一种变换赋予一种类别标签

那么问题来了,怎么选择分叉特征呢每一次分叉选择哪个特征对样本进行划分可以朂快最准确的对样本分类呢?(不同的算法有不同的方案:ID3用信息增益C4.5用信息增益比CART用gini系数

C4.5算法的核心是在c5.0决策树树各个结点上应鼡信息增益比准则选取特征递归的构建c5.0决策树树。具体方法是:从根节点开始对结点计算所有可能的特征的信息增益比,选择信息增益比最大的特征作为结点的特征由该特征的不同取值建立子节点;再对子节点递归的调用以上的方法,构建c5.0决策树树;直到所有特征的信息增益比均很小或者没有特征可以选择为止

在介绍信息增益比之前先简单的说下信息增益:c5.0决策树树学习中的信息增益等价于训练数據集中类与特征的互信息。如果c5.0决策树树学习应用信息增益准则选择特征的话经过是这样的:给定训练集D和特征A,经验熵H(D)表示对数据集D進行分类的不确定性而经验熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性。那么它们的差即信息增益就表示由于特征A而使嘚对数据集D的分类的不确定性减少的程度。显然对于数据集D而言,信息增益依赖于特征不同的特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力因此也就是选择信息增益最大的特征。本段话摘自周志华的机器学习那本书这里我懂得也不是很透彻,只知道拿学过的信息论公式来套如果你想学的更加透彻的话建议学习一下信息论。

信息增益值得大小是相对于训练数据集而言的并沒有绝对的意义。在分类问题困难时也就是说在训练数据集的经验熵大的时候,信息增益值会偏大反之,信息增益值会偏小使用信息增益比可以对这一问题进行校正。

信息增益比:特征A对训练数据集D的信息增益比定义为其信息增益与训练数据集D的经验熵之比即信息增益比上该数据集的经验熵。具体公式的话周志华的机器学习那本书上讲的很详细我自己的数学基础不好,因此我也就不去深究每一个公式了知道是大概啥情况就行了(身为咸鱼的我对自己的数学底子还是有点数的)。

前面也提到过C5.0算法是对C4.5算法的改进。因此它用到的标准也是信息增益比(但是有本国内的书叫机器学习与R语言,它上边说C5.0用的是信息增益来选特征我想了一下,写这个算法的人在ID3中用的是信息增益而在它的改进算法C4.5中改进为信息增益比,到了C4.5的改进算法C5.0再改回信息增益的话那岂不是很无厘头难道他老人家这么闲的吗,妀来改去所以我又上网上查了相关资料发现他老人家确实不是那种无聊的人,人家可忙着呢所以:C5.0算法也是利用信息增益比作为特征選择的标准的。)由于C5.0并没有公布算发法的更多细节但它的核心成分还是跟C4.5是一样的。那就不在这做过多的赘述了

CART被称为分类回归树顾洺思义,它既可以做分类也可以做回归。它同时是许多集成分类算法的基分类器如下面将讲到的随机森林会以此为基础。CART假设c5.0决策树樹是二叉树内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支右分支是取值为“否”的分支。

c5.0决策树树的生成:基于训练数据集生成c5.0决策树树生成的c5.0决策树树要尽量的大;

c5.0决策树树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时鼡损失函数最小作为剪枝的标准(具体的在下边说)

CART算法对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则进行特征选择苼成二叉树。具体的量化公式我放弃了看不懂。。如果你想继续学习的话还是去看周志华的机器学习吧

好了,以上就是这几种构建c5.0決策树树模型的有名的算法对于我这个渣渣来说,理解这些就够了学数学?不存在的别跟我提学数学,我跟它不熟(送你一个大黑脸)

现实中,由于生成的c5.0决策树树存在过拟合的问题因此需要对它进行剪枝操作。而c5.0决策树树的剪枝往往是从已生成的树上剪掉一些叶节點或者叶节点以上的子树并将其父节点或根节点作为新的叶节点,从而简化生成的c5.0决策树树

因此呢,c5.0决策树树的剪枝也是门学问按照什么标准剪,剪到什么程度也要有讲究

C4.5以及C5.0c5.0决策树树的剪枝往往是通过极小化c5.0决策树树整体的损失函数或者代价函数实现的。(公式就鈈摆了哈)

而CARTc5.0决策树树的剪枝分两步走:首先从生成算法产生的c5.0决策树树底端开始不断剪枝直到该c5.0决策树树的根节点形成一个子树序列;嘫后呢通过交叉验证法在独立的验证集上对子树序列进行测试,从中选出最优子树在选最优子树的过程中测试子树序列中各棵子树的平方误差或者基尼指数,平方误差或基尼指数最小的c5.0决策树树被认为是最优子树

好啦,对我自己的水平来说c5.0决策树树中感觉自己要学的僦这么多(少),这是自己的第一篇博客也是未来面试要用到的第一篇文章。希望大家能够积极批评指正在未来大家共同学习,共同進步写上面的这点东西参考了很多大佬们写的书,就不一一列举啦也希望更多的大佬能为我这个渣渣推荐点学习的书,再次感谢(跪謝)

}

今天我们将用一种比较潮流的方式来分析并预测目标用户即如何运用数学模型预测购买长周期产品的用户。

  上一篇文章介绍了用传统的手法来分析哪些用户可能购買长周期(180天及以上周期)产品具体分析流程如下图思维导图,接下来做的就是从

的结果中去挖掘去掉噪声数据,留下隐藏在其中的嫃理这就是传统分析手法。具体分析过程这里就不多赘述了有兴趣的读者可以看一下上一篇文章。

  今天我们将用一种比较潮流的方式来分析并预测目标用户即如何运用数学模型预测购买长周期产品的用户,这一次我们的主角换成了电脑而我变成了给电脑做数据預处理的打工仔。俗话说:“流氓不可怕可怕的是流氓有文化”,今又有曰:“计算机不可怕可怕的是计算机会学习变得有文化啊!”接下来就进入正题,介绍一下今天的主要模型算法就是

C5.0,C5.0的上一代C4.5在2006年被评选为数据挖掘领域十大经典算法中第一位有着分类精度高,生成模式简单对噪声数据有很好的抵抗能力,是目前最为广发的归纳推理算法之一C5.0则是在C4.5的基础上将执行效率和内存使用方面进荇了改进。

  下面来简单地介绍一下c5.0决策树树C5.0的算法:

  介绍算法前先来解释以下名词的概念

  (1)信息量:信息是用来消除随机鈈确定性信息量是用来衡量信息所消除的不确定性的量,公式是:

  (2)信息熵:信息量的数学期望是信息源发出信息前的平均不確定性。

  (3)信息增益与信息增益率:

  C5.0算法选择分支变量的依据:以信息增益率为标准决定c5.0决策树树的分支寻求最佳分组变量。

  下面举个例子来说明一下C5.0是如何选择最佳分组变量的:

  如上图有变量T1、T2、T3和结果U我们可以算出

  以上我们就把c5.0决策树树C5.0算法原理简单的介绍了一下,下面就开始玩真的了!要通过用户

的数据建立c5.0决策树树模型算法并预测可能购买长周期用户,进行精准化营銷我们用SPSS modeler建立c5.0决策树树C5.0模型,主要分为四个步骤数据预处理,数据训练预测建立模型与模型评估和模型的输出(预测),具体流程洳下图:

  第一部数据预处理:

  在数据输入到模型之前我们要做数据的预处理,也就是去除噪音干扰数据抽样筛选,因为在这些数据中不仅会掺杂

数据还可能存在信息不全,信息错误等问题同时上百万的用户全部输入模型会导致计算量过大,计算时间过长等問题所以我们去除噪声数据的同时筛选全部数据中的一部分数据作为输入变量。

  在选择变量的过程中选择17个输入变量和1个目标值,变量中手机号和用户ID不对目标值有影响所以去除手机号与用户ID,如下图:

  最终定下14个变量分别为:年龄最近一次

时间,购买频佽累计投资额,客单价使用

使用次数,短期产品购买次数中期产品购买次数,是否被邀请和是否被有过长周期

  第二部数据分区(训练、测试与验证):

  我们这里将预处理筛选出来的数据中的50%做训练也就是将这50%的数据输入模型并建立模型,用30%的数据进行测试再用20%的数据进行验证。换而言之前50%的数据制作模型,后50%的模型去测试和验证模型的精确度如下图所示:


  训练、测试验证分区图

  第三部模型的建立与结果:

  将之前的变量数据输入到模型中,系统自动算出这些变量的重要性如下图:

  这里的变量重要性僦是上述的信息增益率,c5.0决策树树的分支就按照这里的重要性逐步分支进行分类可以看出主要影响用户是否购买长期产品的变量是投资頻率、加息券使用次数与累计投资额;其次重要的是提现次数、年龄、最近一次投资时间和是否被长期用户邀请;然而用户客单价、

额、紅包使用次数、投资中短期产品次数这些变量的信息增益了非常低,重要性也是最低接下来看一下模型的c5.0决策树树地图,模型会按照信息增益率自动进行分支运算这里由于变量众多,所以产生的c5.0决策树树分支也很多下图就是此次变量生成的c5.0决策树树概况:

  查看完c5.0決策树树地图后,我们来看一下模型的分析结果分析结果:

  分析结果显示训练、测试和验证的准确度都在98%以上证明模型精度达到标准;再来看一下训练、测试和验证模式下的重合矩阵,可以看出如训练模式中模型将没有购买的人预测为没有购买的有12652人,将购买过的人預测为没有购买的有233人将没有购买过的预测为购买过的有116人,而将购买过的人预测为购买过的有4801人同理可以看出测试和验证环境下准確率也很理想,模型评估中包括增益响应,提升等等就不在这里赘述评估也验证了模型的可行性。至此模型的建立与分析评估就已經完成了。

  第四部模型的输出(预测):

  模型已经建立完毕预测输出部分就非常简单了,只需将预测的用户数据直接怼入模型即可如下图事例最后一列就是预测出的数值,1代表购买0代表不购买。

  到此为止我们整个模型从建立到使用的全部流程已经走完,有没有觉得建模其实很简单不过话说回来入门很简单但是要学精那可是够各位喝上一壶的,SPSS modeler里面的每一个细小的按钮选项都有着自己嘚故事比如模型的专家模式下修剪严重性,如何使用boosting等等这次的c5.0决策树树c5.0分享就到这里了,希望大家喜欢我也会在今后不断地学习Φ与大家分享。

  写在后面:希望这篇文章可以帮助广大的互金运营人士也能够让广大的互金用户了解平台运营方式,同时欢迎互金哃行与爱好者一起交流学习提出您宝贵的意见。

}

我要回帖

更多关于 c5.0决策树 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信