《决策树方法在数据挖掘中的应用》由会员分享,可在线阅读,更多相关《决策树方法在数据挖掘中的应用(19页珍藏版)》请在金锄头文库上搜索。
1、决策树方法在数据挖掘中的应用KnowledgeSEEKER简介 KnowledgeSEEKER是一个由Angoss公司开发的基于决策树的数据分析程序。该程序具有相当完整的分类树分析功能。 KnowledgeSEEKER采用了两种著名的决策树分析算法:CHAID和CART算法。CHAID算法可以用来对于分类性数据进行挖掘。CART算法则可以对连续型因变量进行处理。Angoss公司在增强这些算法的用户友好性方面作了大量的工作。优点:响应快,模型,文档易于理解,决策树分析直观,性能良好缺点:决策树不能编辑打印,缺乏数据预处理阶段的函数,没有示例代码应用行业案例:lFrost National银行CR
2、M收益率、客户满意度、产品功效lSASI公司利用其开发行业数据挖掘应用软件(零售行业)lMontreal银行客户分片、越区销售模型、市场站的准备、抵押支付的预测、信用风险的分析数据准备 使用的样例数据集是从一个团体健康检查中有关高血压的研究项目中得到的。Angoss公司已将这一数据集包括在产品演示中。 有关高血压研究方面的数据(表中给出数据集中各个数据列的取值范围及其含义说明)数据准备数据预处理:需要标注的区域:lHypertension域中可以出现整数值1,2,3,这几个值将分别被标注为低,正常,高。lTypeOfMilk域中包含整数值15,将分别标注为纯牛奶、2%,脱脂牛奶,奶粉及根本不喝
3、牛奶处理导出型的数据域 字段Age中包含的值1,2,3分别表示3250岁、5162岁及6373岁。然而,字段Age中通常包含的都是某个人的实际年龄而非整数值1,2,3,因此,字段Age中的值是在数据挖掘开始之前就已经导出了,即按照实际年龄的范围3250岁、5162岁及6373岁对该字段选择适当的值。定义研究对象1、定义挖掘目标 在开始使用KnowledgeSEEKER之前,有必要定义出挖掘的目标。在给定的数据集的例子中展示了哪些饮食因素会对人的血压高低有关键性的影响。其挖掘的目标可以明确地描述为:分析出饮食因素对血压偏低、正常及偏高所产生的影响。定义研究对象2、启动定义研究对象3、设置因变量
4、一开始,字段Hypertension就已经被自动设置为因变量。稍后,还将改变因变量的设置。打开bpress数据集之后将出现如图所示的屏幕定义研究对象 图中的根结点对应的是因变量。在根节点中血压已经分别被分为3类:偏低、正常和偏高。我们现在要了解的是血压偏低、正常和偏高的人都分别具有哪些特征。从图中可以看出:l研究对象中有18%的人(即66个人)血压偏低l研究对象中有60%的人(即217个人)血压正常l研究对象中有21%的人(即77个人)血压偏高建立模型 目前KnowledgeSEEKER已经构造出模型树的下一层分支。当然,模型树还可以自动生成出多层分支。 图中的模型树的下一层分支表明上一层的双
5、亲节点是按年龄(age)进行分叉的。年龄只是影响血压的一个变量,但是在目前这个例子中,年龄似乎是导致一个人的血压是否偏高的最重要因素。 如图所示,研究对象按年龄分为以下3组: 3250岁,5162岁,6373岁 它们分别对应于模型树的三个叶节点。 此外,还可以用除Age以外的其他字段为模型树创建新的叶节点。在模型树上通过指定其它字段以创建新的叶节点称为分叉。对于当前这个数据集,系统会自动发现12个分叉。理解模型1、观察其分叉 观察其分叉将使我们可以看到除年龄以外对血压还有影响的其他重要变量的作用。KnowledgeSEEKER可以计算出所有变量对血压影响的大小并将使它们按顺序排列起来。用另一个
6、变量直接在根节点下面构造叶节点即可进入模型树的另一个分叉。这样,我们就可以很容易地观察到其他数据元素对血压的影响。 对于自动生成的每一个分叉所作的概述将为我们考虑下一步的研究方向提供有益的线索。很明显,上面所获得的信息中有一些符合我们的预先估计。例如,一个人年龄越大,患高血压的可能性也就越高;一个人参加体育活动越多,换高血压的可能性也就越低。这些都是我们预先估计到的。然而,我们从数据集中也发现了一些预先没有估计到的结果,如人的身高与其高血压之间的关系就是我们预先没有估计到的。理解模型2、进入特定分叉3、扩展模型树 以smoking为分叉变量构造的模型树目前还只有一层。我们可以对这棵模型树作进一
7、步扩展。在模型树的第二层中选择经常吸烟者相对应的节点,然后,在Grow下拉菜单中选择Find Split,既可以看到如图所示的屏幕。理解模型 KnowledgeSEEKER发现对于描述经常吸烟者特征最为有效的分组变量就是年龄。也就是说,对于经常吸烟的人而言,年龄将是确定其是否患高血压的最关键的指标,数据表明年龄在6373岁之间经常吸烟的人当中有56.7%患有高血压,而年龄在3251岁之间且经常吸烟的人当中患有高血压的比例仅为4.8%。 为进一步描述经常吸烟者的特征,KnowledgeSEEKER总共发现了6个分叉变量,分别是Age,Height,PorkLastWeek,DrinkPatter
8、n,Gender以及SaltConsumption。其中以年龄最为有效。理解模型4、强制分叉 有时我们还想观察一下那些没有自动发现的变量的作用。例如,我们可能想知道PoultryLastWeek对人们患有高血压有什么影响。为此,我们可以在模型树上作强制分叉。理解模型5、对模型进行验证 当我们从一个数据集中发现某些结果之后,总是希望能够用另外一个数据计再对其进行验证。Angoss将那些用于验证的数据集又称为测试分区(Test Partition)。 KnowledgeSEEKER允许我们用另一个数据集(即测试分区)对新发现的结果进行验证。理解模型6、重新定义挖掘对象 前面所作的演示都是有关“高血
9、压”这一研究对象的,即都是以Hypertension为模型树的因变量。假如我们想要改变所研究的内容(例如,想要研究饮酒数量不同的人之间的差别),那么就需要重新定义研究对象。 改变模型树的根节点为DrinkPattern,即新的模型树的根节点对应的因变量为DrinkPattern,其中可以含有下列值:lRegular(经常饮酒)lOccasional(偶然饮酒)lFormer(以前曾经饮酒)lNever(从不饮酒) 同前面一样,可以对这棵以DrinkPattern为因变量的模型树作进一步的扩展。虽然这期间使用KnowledgeSEEKER的工作方式与前面是一样的,但所要研究的内容与前面完全不同了
10、。即现在要研究的是人们的饮酒方式及其影响,而前面的研究对象是高血压。理解模型7、模型树的自动扩展 前面所演示的都是如何一个一个节点地扩展模型树。此外,还可以让系统对模型树作自动扩展。8、数据分布 KnowledgeSEEKER提供了若干种方法以便我们能够对正在挖掘的数据的状态进行观察。首先,我们能够通过KnowledgeSEEKER对正在挖掘的原始数据进行详细观察。 另外,还可以通过KnowledgeSEEKER对数据几种不同数据项的交叉列表视图进行观察。预测 现在我们已经有了一个可以用来作预测的模型。虽然用决策树来做决策不是一个可以自动进行的过程,但KnowledgeSEEKER允许我们将所有变量的分叉保存在外部文件中。此外,我们还可以用百分比的形式计算出每一个分叉的重要性。使用上述信息,将使我们有可能产生出有助于预测的规则。