1、实验 5 建立决策树并进行分类实验目的通过使用 SPSS 对数据集进行分析并建立决策树,学会建立决策树的数据处理过程和方法,从而深入地理解分类的一般过程和基本原理,以及如何利用决策树分类解决现实的问题。实验内容1、 建立决策树2、 使用决策树对未知类别的数据(集)进行类别预测分析实验条件1.操作系统:Windows XP SP22.SPSS13。1实验要求1、 现有1000位顾客个人信息,主要包括性别、地址、收入、婚姻状况、教育程度、职业等信息(保存在顾客.xls文件中) ,数据表的结构如下图所示:请你运用SPSS统计分析软件分析数据,并将实验步骤和结果记录到实验报告单上。 (1) 以顾客.x
2、ls作为训练数据集,收入、职业、年龄为测试属性,是否购买自行车为类别属性,分别选择四种分类方法建立决策树,记录准确率最高的分析结果。(2) 使用分类规则预测预测1.xls中数据所属的类别(是否购买自行车) 。(3) 对分类结果和预测结果进行分析。2、 现有2646位顾客的年龄、收入、信用卡数、教育程度、车贷数、信用等级信息(保存在tree_credit.sav 中) ,请你运用SPSS统计分析软件分析数据,并将实验步骤和结果记录到实验报告单上。 (1)分别选择四种分类方法建立决策树,记录准确率最高的分类析果。(2)使用分类规则预测tree.sav中数据所属的类别(信用等级) 。(3)对分类结果
3、和预测结果进行分析。实验步骤及指导1、建立决策树第一步:数据准备,将待处理的数据输入或导入 SPSS 中,本例将顾客.xls 导入 SPSS中。第二步:建立决策树(1)选择统计分析Statistics菜单,选聚类分析Classify中的树状分析Classification Tree.项,弹出树状分析Classification Tree对话框,从对话框左侧的变量列表中分别选择类别属性和测试属性进入右侧类别属性Dependent Variable和测试属性Independent Variable框中。本例选择是否购房为类别属性,婚姻状况、收入、抚养的孩子数、年龄为测试属性。Growing Met
4、hod 下拉列表中有 CHAID、Exhaustive CHAID、CRT、QUEST 四种建立分类树的方法,本例选择 Exhaustive CHAID。图 5-1 (2)点击输出Output.钮,弹出分类树:输出Classification Tree: Output对话框,该对话框有树tree、统计statistics、规则rule三个选项卡,在树 tree 选项卡中设置分类树的显示方式,在统计statistics 选项卡中设置输出哪些统计结果,在规则 rule 选项卡中设置规则的显示方式和输出路径。本例选择树tree 选项卡下的 Node Contents:table and charts
5、(结点内容:表和图),规则rule 选项卡的 generate classification rules -syntax 下的 SPSS, 规则rule 选项卡下的 export rules to a file,并在文本框中输入 c:output.sps. (图 5.2)图5.2 (3)点击输出Criteria.钮,弹出 Classification Tree: Criteria对话框,该对话框有Growth limit、CHAID、Inteverl三个选项卡,在树Growth limit 选项卡中设置分类树最大深度和结点中最少包含多少个数据,automatic 和 custom 单选按钮分别
6、表示设置分类数的深度为自动和用户自定义(在文本框中输入最大深度),在 parent node 和 child node 文本框中设置分类树父结点和子结点中最少包括多少个数据,即如果分类树结点中的数据数少于规则的数据,分类树就不再继续向下生长,这两个值越大,产生的树的分枝越少,值越小,产生的分枝越多。本例设置 parent node 为 50,child node 为 10(如图 5-3) 。5.3 (4)点击确定OK.完成。第三步:分析结果(1)描述概要Model SummaryGrowing Method(决策树生成方法) EXHAUSTIVE CHAIDDependent Variable
7、(类别属性) 是否购房Independent Variables(测试属性) 婚姻状况, 收入, 抚养的孩子数, 年龄Validation(验证) NONE(没有设置)Maximum Tree Depth(最大深度) 3Minimum Cases in Parent Node(父结点中包含的最少数据数)50Specifications(说明)Minimum Cases in Child Node(子结点中包含的最少数据数)10Independent Variables Included 婚姻状况, 年龄, 抚养的孩子数Results(结果)Number of Nodes 11(分类树的结点总树
8、)Number of Terminal Nodes(叶子结点数) 7Depth(树的深度) 3Specifications(说明)中显示的是用户在生成分类树之前自行设置的信息,Results(结果)是生成的结果信息。(2)评估RiskEstimate Std. Error.255 .014Growing Method: EXHAUSTIVE CHAID Dependent Variable: 是否购房该表中Estimate 的值是分类准确性的一个评估值,其值表示决策树的错误率为25.5%,说明该分类树的准确率是74.5%,Estimate越小说明该分类树越准确。(3) 分类Classifica
9、tionObserved PredictedNo Yes Percent CorrectNo 127 188 40.3%Yes 67 618 90.2%Overall Percentage 19.4% 80.6% 74.5%Growing Method: EXHAUSTIVE CHAID Dependent Variable: 是否购房该表中第一行表示分类树把本该是No 类( 即没有购房 )的人分别划到No类127人、Yes类188,准确率是40.3%,第二行表示分类树把本该是 Yes类(即有购房)的人分别划到No类67人、Yes类618 ,准确率是 90.2%,总的准确率是 74.5%,总的
10、准确率与risk表中的Estimate值的总和为100%。该结果表明该分类树中对于 yes类的分类准确类是比较高的。(4) 输出规则在文件-打开-语句文件中打开分类规则输出文件 output.sps,一个叶结点生成一条分类规则,上图中显示的是编号是 3 的叶结果上的规则。(5)分类树Node 0Catgry%n68.5Ys31Totl0.入Adj. P-value=0., Chi-square=98.8df1入Node 1Catgry%n82.04Ys97Totl53.入Adj. P-value=0., Chi-square=25.93dfMri Node 2Catgry%n5.743Ys18
11、Totl6.入入Adj. P-value=0., Chi-square=34.74df2SilNode 3Catgry%n60.52Ys91Totl3.8 46.0Node 6Catgry%n57.9124Ys0Totl.入Adj. P-value=0.45, Chi-square=15.9df1.0; 32. Node 7Catgry%n4.56Ys2319Totl7.5.0; Node 8Catgry%n36.Ys4109Totl7.20.Node 9Catgry%n62.510Ys37Totl9.40.; 30.; 8.0; 7162.; .; .; 5 Node 10Catgry%n8
12、.24YsTotl.170.; 0.; 130.; 25YesNo第四步:利用分类规则对数据进行预测打开需要进行分类预测的数据集(该数据集的结构应该和原数据集相同) ,为了便和原数据类别进行对比,本例选择原数据集为预测数据集(理论和现实中数据集和预测数据集不可能是同一个数据集,用户可以自己定义新和原数据集结构相同的数据,然后输入除分类变量以外的各个变量的值,利用分类规则预测分类变量的取值) 。然后选择主菜单文件-新建-语句文件,在弹出的文件中输入 INSERT FILE=C:OUTPUT.SPS,然后选择运行-全部,在预测的数据集中会自动生成三个变量 pre_001,nod_001,prb_001。pre_001 表示使用分类规则预测的结果,Yes 表示该条数据的预测类别为 Yes(即已经购买了房)。nod_001 表示产生这条规则的结点编号。,prb_001 表示该规则在分类树中的准确率。