数据挖掘

您所在的位置:网站首页 clementone 数据挖掘

数据挖掘

#数据挖掘| 来源: 网络整理| 查看: 265

数据挖掘的数据通常以变量为列、样本为行的二维表形式组织,所以,Clementine数据的基本管理包括变量管理和样本管理两大方面。变量管理和样本管理是数据准备的重要方面,是建立数据模型的前提和基础。

变量管理的节点工具放置在节点工具箱的字段(Field Ops)选项卡中,具体节点如下图所示。

变量说明

变量说明是对读入数据流中变量取值的有效性进行限定、检查和修正,同时指明各个变量在未来建模中的角色。-方面,变量说明是确保高质量数据的有效手段,另- -方面也是明确变量建模地位的重要途径。变量说明应通过Field Ops选项卡中的Type节点实现。这里,以学生参加某次社会公益活动的数据(文件名为Students.xls)为例,讲解变量说明的具体操作方法。

首先,按照读入Excel电子表格数据的操作方法建立Excel节点读入Students.xls 数据。浏览数据发现:

●家庭人均年收入变量中有部分样本取$null$,为系统缺失值;还有一个由于不明原因而明 显错误的数据999999。应对它们进行恰当修正。

●是否无偿献血变量值填写不规范,规范值应为Yes和No,但出现了1 (表示Yes)和0 (表示No)。应将1替换为Yes, 0替换为No。

为处理上述问题,选择Field Ops选项卡中的Type 节点并将其连接到数据流的相应位置上,右击鼠标,选择弹出菜单中的Edit选项,所显示的参数设置窗口如下图所示。

这里,从缺失值(Missing).变量取值有效性检查和修正(Check)、变量方向( Direction)三个方面进行说明。

1.1取值范围和缺失值的说明

取值范围即指变量正常值的区间。缺失值通常包括两类:--类是系统缺失值,Clementine用$null$表示,还包括空格或空白等。另一类是用户缺失值,主要指那些取值明显不合理的数据。

这里,首先,添加变量值标签以规范是否无偿献血的取值,指定用户缺失值;其次,说明家庭人均年收入的合理取值范围。为此,应分别选择是否无偿献血和家庭人均年收入变量,鼠标选择图3-2中的Missing列。其中有三个选项。

●On(*):表示允许相应变量取用户缺失值,不进行修正,但用户缺失值并不等同于正常值。

●Off:表示不允许相应变量取用户缺失值。

●Specify: 定义变量值取值范围、用户缺失值等信息。这里,选择该项,窗口如

下图所示。

不同类型变量的Specify 窗口略有差别,但含义大体一致。

■Type 选项:显示当前变量的类型和存储类型。

■Values选项:指定决定变量取值范围的方法。其中,Read from data表示取决于所读的外部数据; Pass 表示忽略所读的外部数据; Specify values and labels表示人为指定变量取值和变量值标签。用户可根据当前变量的实际意义,手工指定其合理的取值,并在Label框中输入关于变量值含义的简短说明文字。

这里,为指示是否无偿献血的合理取值,分别在Yes和No行对应的Labels列中输入变量值标签“无偿献血”、“未无偿献血”;家庭人均年收入的取值范围不能直接由外部数据决定,否则Clementine将视999999 (用户缺失值)为正常值。可手工输入合理的取值区间为7333.0至74460.0。

■Check values选项:指定对变量值的修正方法,该功能同前面图中的Check列。

■Define blanks选项:选中该选项,表示视下列值为空白。其中,Missing values框:在此处输入的离散值都当空白处理; Range to框:在此处输入的连续区间中的值都当作空白处理; Null 和White space:系统缺失值$null$或空格都当作空白处理。

需要注意的是:Clementine不对空白进行替补处理,因此Defineblanks的目的仅是将那些无需修正和替代的用户缺失值与正常值区分开,以便于后续建模.所以,当选择了Define blanks并返回Type窗口后,相应变量的Missing列上将自动显示*,表示允许相应变量取用户缺失值。

这里,无偿献血中的1和0虽然是不合理取值,但自动修正是无意义的,因此在Defineblanks中说明:家庭人均年收入中的99999和$nulI$值 需要修正和替补,所以不应在Define blanks中说明,仅视999999为超出取值范围的不合理取值。返回Type窗口后,无偿献血的Missing列上显示*,家庭人均年收入的Missing列上没有显示。

1.2 变量取值有效性检查和修正

当指定了变量值取值范围后,通常还需利用图3-2中的Check列,对超出取值范围的不合理数据或系统缺失值进行修正。例如,需对家庭人均年收入中的999999和$null$S值进行修正和替补,如下图所示。

通常的修正处理方式如下。

●None:不进行修正。

●Nullify:用系统缺失值$null$替代。

●Coerce:用一指定 值替代。Clementine 默认,Flag 型变量用False对应的值替代;Set型变量用第-一个变量值替代;数值型变量,大于上限的用上限值替代,小于下限的用下限值替代,其余值用(最大值+最小值) /2 替代。

这里,对家庭人均年收入中的系统缺失值$null$和999999进行了替换和修正处理。对于是否无偿献血中的不合理取值(1或0),根据替换规则将全部替换为No,显然不符合实际要求,利用Type节点无法处理。

●Discard:剔除相应样本数据。

●Warm;给出警告信息。

●Abort:终止流执行。

1.3变量角色的说明

所谓变量角色是指变量在模型建立时的角色。角色不同,变量的作用也不同。

通常建模中,有的变量是用于解释其他变量的,被称为解释变量或自变量,Clementine形象地称之为输入变量。有的变量则需被其他变量所解释,被称为被解释变量或因变量,Clementine 称之为输出变量。例如,在分析客户收入对其消费的影响时,收入就是输入变量,消费就是输出变量。

变量角色的说明也称变量方向的说明,可通过图3-2中的Direction列指定,如下图所示。

Clementine将变量角色进行了拓展。

●In:变量将作为输入变量。

●Out:变量将作为输出变量。

●Both: 某些模型中,有的变量既可作为输入角色,也可作为输出角色。例如,在根据客户的收入和消费数据,将客户划分成不同客户群的分析中,收入和消费既是输入变量也是输出变量,担当着Both角色。

●Partition: 是数据挖掘中的特有角色,用于模型建立过程中样本子集的分割。作为样本集分割角色的变量应是一一个多分类型变量,且只能有两个或三个变量值。其中,第一个变量值作为训练样本集标记,第二个作为检验样本集标记;第三个作为诊断样本集标记。

●None:如果某变量不参与数据建模,则可指定它为None角色。Typeless 类型变量自动默认为None角色。

这里,为分析学生是否参加某次社会公益活动受哪些因素的影响,指定学生的编号

为None角色,是否参与为输出变量,其他变量为输入变量。

流程图展示

欢迎大家加入人工智能圈参与交流



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3