Excel决策树初体验

作者:姜玲
2007/5/25 14:04:47
本文关键字: ttnn 2006年11期

Qing 20061101

前几天,hunter提供了不少关于数据挖掘资源的链接,其中一个是在excel上实现的决策树模型。正好,现在有个分析能用的上,便小试一次,到不难上手。因此此处回顾一下初次体验,大家也可以下载附件试试。
(http://groups.google.com/group/ttnn/attach/3babcfdad6e51484/CTree.zip?part=4)

决策树是一种比较简单的分类模型,输入的一堆变量,定义一个目标变量,当然这个变量应该是离散的,例如A、B、C。最后能够形成若干条规则,若干个if then达到A,若干个if then达到B,得到C。这种模型好理解,比什么线性回归,还有什么神经病网络要直观一些。挺适合我这样的非挖掘专业人员。

用这个excel来实现决策树分析,步骤也很简单,说是四步:输入数据、设定参数、查看结果、生成规则。其实我看就三步:输入数据、设定参数、生成结果,当然这三步可能得反复好几次。有关的详细描述,都在Readme页里面,当然都是英文的,而且单元格被保护了,也没法去修改。

建议用自己的数据尝试一次。每个变量,在这个excel中,叫做predictor,表现为字段。变量有四种类型,忽略的(omit)、离散变量(Cat)、连续变量(Cont),以及唯一的一个目标变量(Class),这个变量必须得是离散的。将数据拷贝到Data页,从L24单元格开始,当然,如果带标题行的话,就从L23格开始。然后,在第22行,为每个字段,设定变量类型。注意的是,如果变量类型设定为Cat,那么变量值可不能都一样的,否则运行会中断。而记录数,在挖掘里面叫做Observation,要在10到一万之间。

数据准备好了,接着得设定参数。诸如设定节点分裂条件(不明白这是啥),设定树的大小(节点大小、深度、纯度(啥玩意儿?)),以及设定训练集、验证集、规则生成的条件(根据置信度、支持率来)。它会给你两个选项来选择验证集,一是随机抽取百分之多少,二是取最后多少条记录。

关于support、confidence、capture这三个率,得好好说到一下,挺绕的。比如150条记录里面,有50条A。根据决策树的规则,判断这150条记录里面,有70条记录满足条件,会是A,但实际上只有30条记录确实是A。那么支持率(support)就是判断出来的70条比上总数,70/150=47%,这个率可以表示这条规则是否可以广泛采用的。而置信度(confidence)为30/70=43%。看,这个率表示规则的准确性,说明还有57%是判断错了。最后的命中率(capture)就是通过规则判断出来实际是A的30条跟所有实际的50个A相比,等于60%。

说得我自己都晕了。这里的支持率、置信度跟前面几次谈到的关联规则还是有些区别。在挖掘领域,也不知道这几个率是否有标准的说法,反正曾经听过不同的人对这几个率的不同解释。另外还有什么查全率之类的东东,跟同事讨论半天,发现理解都不大一样。唉,再找机会将这些术语定一下吧。

回过头来看这个决策树,已经将数据拷贝进去,并且设定好选项。按下UserInput页的Build Tree按钮,唰唰地,树就构造好了。在Tree页,可以看到整棵树的形状。NodeView是关于节点的每个数据分布,Result页为分析结论,包括总共训练集记录多少条,验证集多少条。以及,实际和预测的差异有多大等等。最后一Rule页,是生成的规则,用IF Then方式表达出来,比较清晰。并且给出每条规则的support、confidence和capture。

什么样的结论是好的?这是个不好回答的问题。依靠那三个率看判断是一种思路,适当调整参数重新运行,看这几个指标是否能够达到比较高的值。当然,还得依靠业务感觉来判断。比如,我预先期盼有两个变量对目标影响是比较大的,但最后的树并没有显示出来,很是失望。一时也不太敢相信这结果,矛盾呐。

Qing 20061101

中午那三个率把我头都搞大了,考虑了一下,还是用下面的方式表达。当然,含义还是按照这个Excel的口径:

支持度说:所有当中,我预料了多少;
置信度说:我预料的,有多少是对的;
命中率说:所有对的,我预料对多少;

li-zhenguo 20061102

我之前的一个项目单客户现金流分析报告,采用的就是类似决策树的方法,从交易明细中按照规则筛选出有用的记录,把交易金额和笔数累加到相应指标中。具体说来就是把根据业务规则定义要素(离散变量),再将每一条业务规则按照要素分拆,每个要素有一个预设值。当一条记录中的所有要素都满足某条业务规则相应的预设值时,即认为该记录是符合该业务规则的,则累加该业务规则对应的指标。有可能某条记录满足一条以上的规则,这样我们设定一个优先度,优先度较高的规则将优先予以比较,一旦记录满足某条规则,不再与其他规则比较。

Qing兄发的这个东东,要仔细研究一下再发表意见:)

责编:姜玲
vsharing 微信扫一扫实时了解行业动态
portalart 微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
畅享IT
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918
Baidu
map