SPSS Clementine是一个开放式数据挖掘工具,它不但支持整个数据挖掘流程,从数据获取、转化、建模、评估到最终部署的全部过程,还支持数据挖掘的行业标准—CRISP-DM。
Clementine的数据挖掘算法,主要包含了数据的分类、聚类、关联、序列、预测等等数据挖掘方法。决策树又称为判定树。
决策树是数据挖掘分类算法的一个重要方法。决策树采用自顶向下递归方式与决策树内部结点进行属性值比较,判断是否从该结点继续向下分枝,最终到该结点成为叶结点,分裂终止。每一条从根结点到叶结点的路径就对应着一条分类规则,整个决策树所对应的就是一组表达式规则。决策树采用自顶向下、在每个结点选取最优的属性进行分裂依次递归的方式来构造完成一个决策树。
在Clementine中提供了4种构建决策树的算法,包括C&RT、CHAID、QUEST和C5.0。确定“类标号属性”后,采用其中的某种算法,输入训练数据集,就可以构造出一颗决策树。利用决策树算法构建了初始的树之后,为了有效地分类,还要对其进行剪枝。而剪枝的基本原则就是,在保证一定的决策精度的前提下,使树的叶子节点最少,叶子节点的深度最小。常有的剪枝方法:预剪枝和后剪枝。例如:CHAID和C5.0采用预剪枝,CART采用后剪枝。生成一颗最优的决策树之后,就可以根据这颗决策树来生成一系列规则。这些规则采用“If…,Then…”的形式。
某六级考试人数为269人,数据存放在文件liuji.xls中。大学英语六级成绩满分为710分,凡考生考试成绩在425分以上者则考试通过。为准确进行分析,在liuji.xls中增加“是否通过”属性,并根据“总分”属性确定值,总分大于等于425分值为“是”,总分小于425分值为“否”,因此“是否通过”属性的全部取值就构成了类别集合:Class={“是”,“否”}。最终样本中,一共269个样本,11个属性。
打开Clementine,将liuji.xls文件拖拽至数据流区域,即可获取数据。因通过“总分”这一属性就可构建一颗决策树,故需过滤。在EXCEL属性设置对话框中,打开“过滤”选项卡,在“总分”字段对应的箭头上单击,标上“红叉”即可过滤。由于存在部分考生缺考,若要不列入分析中,可以利用“se-lect”节点去掉缺考的学生信息,本文将这些数据丢弃。双击“记录选项”标签下的“select”节点,添加到数据流区域。在“select”属性设置对话框中,将“模式”设置为“丢弃”,然后在“条件”框中输入:是否缺考=“是”,即可删除31条缺考学生的数据。
对于决策树算法而言,其目的是根据一些非类标号属性的值,来预测类标号属性的值。把“是否通过”这个属性称为“类标号属性”。所以,应该把非类标号属性设置为输入字段,“类标号属性”是否通过设置为输出字段。双击“字段选项”标签下的“类型”节点,将类型节点添加到数据流区域,在“类型”属性设置对话框中,点击“读取值”按钮,即可显示各字段的类型和取值集合。最后,将“是否通过”属性的方向设置为“out”,即完成输出字段设置。
构建决策树是整个过程的核心步骤,C5.0算法根据能够带来最大信息增益的字段拆分样本,而那些对模型值没有显著贡献的样本子集将被剔除或修建。而CHAID算法不同于C&R树和QUEST节点,可以生成非二进制树,即有些分割有两个以上的分支,当CHAID算法的输入变量为连续型,它会进行离散处理。双击“建模”标签下的“CHAID”节点,添加到数据流区域,在“CHAID”属性设置对话框中,设置构建规则,并与其他节点建立连接,形成数据流图。单击“执行”按钮,生成CHAID算法构建的决策树模型。
CHAID算法构建的决策树,是一颗深度为3的多叉树,并确定“客观题成绩”属性为第一个分裂属性,“听力成绩”属性为第二个分裂属性,“主观题成绩”属性为第三个分裂属性。客观题成绩<=151分的,通过率为1.8%;客观题成绩>151分的,听力成绩>131分的,通过率为100%。
