Clementine2变量管理Word文档格式.docx

上传人:b****1 文档编号:3624006 上传时间:2023-05-02 格式:DOCX 页数:33 大小:884.31KB
下载 相关 举报
Clementine2变量管理Word文档格式.docx_第1页
第1页 / 共33页
Clementine2变量管理Word文档格式.docx_第2页
第2页 / 共33页
Clementine2变量管理Word文档格式.docx_第3页
第3页 / 共33页
Clementine2变量管理Word文档格式.docx_第4页
第4页 / 共33页
Clementine2变量管理Word文档格式.docx_第5页
第5页 / 共33页
Clementine2变量管理Word文档格式.docx_第6页
第6页 / 共33页
Clementine2变量管理Word文档格式.docx_第7页
第7页 / 共33页
Clementine2变量管理Word文档格式.docx_第8页
第8页 / 共33页
Clementine2变量管理Word文档格式.docx_第9页
第9页 / 共33页
Clementine2变量管理Word文档格式.docx_第10页
第10页 / 共33页
Clementine2变量管理Word文档格式.docx_第11页
第11页 / 共33页
Clementine2变量管理Word文档格式.docx_第12页
第12页 / 共33页
Clementine2变量管理Word文档格式.docx_第13页
第13页 / 共33页
Clementine2变量管理Word文档格式.docx_第14页
第14页 / 共33页
Clementine2变量管理Word文档格式.docx_第15页
第15页 / 共33页
Clementine2变量管理Word文档格式.docx_第16页
第16页 / 共33页
Clementine2变量管理Word文档格式.docx_第17页
第17页 / 共33页
Clementine2变量管理Word文档格式.docx_第18页
第18页 / 共33页
Clementine2变量管理Word文档格式.docx_第19页
第19页 / 共33页
Clementine2变量管理Word文档格式.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Clementine2变量管理Word文档格式.docx

《Clementine2变量管理Word文档格式.docx》由会员分享,可在线阅读,更多相关《Clementine2变量管理Word文档格式.docx(33页珍藏版)》请在冰点文库上搜索。

Clementine2变量管理Word文档格式.docx

这里,首先,添加变量值标签以规范是否无偿献血的取值,指定用户缺失值;

其次,说明家庭人均年收入的合理取值范围。

为此,应分别选择是否无偿献血和家庭人均年收入变量,鼠标选择图3-2中的缺失(Missing)列。

其中有三个选项。

●开(*)[On(*)]:

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

●关(Off):

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

●指定(Specify):

定义变量值取值范围、用户缺失值等信息。

这里,选择该项,窗口如图3-3和图3-4所示。

图3-3集(Set)类型的指定(Specify)窗口图3-4范围(Range)类型的指定(Specify)窗口

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

■类型(Type)选项:

显示当前变量的类型和存储类型。

■值(Values)选项:

指定决定变量取值范围的方法。

其中,读取数据(Readfromdata)表示取决于所读的外部数据;

传递(Pass)表示忽略所读的外部数据;

指定值和标签(Specifyvaluesandlabels)表示人为指定变量取值和变量值标签。

用户可根据当前变量的实际意义,手工指定其合理的取值,并在标签(Label)框中输入关于变量值含义的简短说明文字。

这里,为指示是否无偿献血的合理取值,分别在Yes和No行对应的标签(Labels)列中输入变量值标签“无偿献血”、“未无偿献血”;

家庭人均年收入的取值范围不能直接由外部数据决定,否则Clementine将视999999(用户缺失值)为正常值。

可手工输入合理的取值区间为7333.0至74460.0。

■检查值(Checkvalues)选项:

指定对变量值的修正方法,该功能同图3-2中的检查(Check)列。

■定义空白(Defineblanks)选项:

选中该选项,表示视下列值为空白。

其中,缺失值(Missingvalues)框:

在此处输入的离散值都当空白处理;

范围—到(Rangeto)框:

在此处输入的连续区间中的值都当作空白处理;

无效值(Null)和空白(Whitespace):

系统缺失值$null$或空格都当作空白处理。

(type节点)需要注意的是:

Clementine不对空白进行替补处理,因此定义空白(Defineblanks)的目的仅是将那些无需修正和替代的用户缺失值与正常值区分开,以便于后续建模。

所以,当选择了定义空白(Defineblanks)并返回图3-2窗口后,相应变量的缺失(Missing)列上将自动显示*,表示允许相应变量取用户缺失值。

这里,无偿献血中的l和0虽然是不合理取值,但自动修正是无意义的,因此在定义空白(Defineblanks)中说明;

家庭人均年收入中的999999和$null$值需要修正和替补,所以不应在定义空白(Defineblanks)中说明,仅视999999为超出取值范围的不合理取值。

返回图3-2窗口后,无偿献血的缺失(Missing)列上显示*,家庭人均年收入的缺失(Missing)列上没有显示。

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

当指定了变量值取值范围后,通常还需利用图3-2中的检查(Check)列,对超出取值范围的不合理数据或系统缺失值进行修正。

例如,需对家庭人均年收入中的999999和$null$值进行修正和替补,如图3-5所示。

图3-5类型(Type)节点中的检查(Check)处理

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

●无(None):

不进行修正。

●无效(Nullify):

用系统缺失值$null$替代。

●强制(Coerce):

用一指定值替代。

Clementine默认,二分(Flag)型变量用False对应的值替代;

多分类型(Set)变量用第一个变量值替代;

数值型变量,大于上限的用上限值替代,小于下限的用下限值替代,其余值用(最大值+最小值)/2替代。

这里,对家庭人均年收入中的系统缺失值$null$和999999进行了替换和修正处理。

对于是否无偿献血中的不合理取值(1或0),根据替换规则将全部替换为No,显然不符合实际要求,利用类型(Type)节点无法处理。

其具体处理见3.3节。

●丢弃(Discard):

剔除相应样本数据。

●警告(Warm):

给出警告信息。

●中止(Abort):

终止流执行。

3.1.3变量角色的说明

所谓变量角色是指变量在模型建立时的角色。

角色不同,变量的作用也不同。

通常建模中,有的变量是用于解释其他变量的,被称为解释变量或自变量。

Clementine形象地称之为输入变量。

有的变量则需被其他变量所解释,被称为被解释变量或因变量,Clementine称之为输出变量。

例如,在分析客户收入对其消费的影响时,收入就是输入变量,消费就是输出变量。

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

图3-6类型(Type)节点中的方向(Direction)说明

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

●输入(In):

变量将作为输入变量。

●输出(Out):

变量将作为输出变量。

●两者(Both):

某些模型中,有的变量既可作为输入角色,也可作为输出角色。

例如,在根据客户的收入和消费数据,将客户划分成不同客户群的分析中,收入和消费既

是输入变量也是输出变量,担当着两者(Both)角色。

●分区(Partition):

是数据挖掘中的特有角色,用于模型建立过程中样本子集的分割。

作为样本集分割角色的变量应是一个多分类型变量,且只能有两个或三个变量值。

其中,第一个变量值作为训练样本集标记,第二个作为检验样本集标记;

第三个作为诊断样本集标记。

关于样本集分割将在3.6节中讲解。

如果某变量不参与数据建模,则可指定它为无(None)角色。

Typeless类型变量自动默认为无(None)角色。

这里,为分析学生是否参加某次社会公益活动受哪些因素的影响,指定学生的编号为无(None)角色,是否参与为输出变量,其他变量为输入变量。

3.2变量值的重新计算

通过变量说明和浏览,会发现变量取值中可能存在的问题。

例如,学生参加某次社会公益活动的数据中,在校综合评价指数本身很难直观反映学生的水平,因为不知道该变量取值的理论上限;

再如,数据中很有可能出现空白数据,但Clementine的类型(Type)节点不对空白进行修正,这在一定程度上会影响分析,等等。

因此,对变量值的重新计算是必要的,应通过字段选项(FieldOps)卡中的填充(Filler)节点实现。

变最值重新计算的核心是描述计算方法。

通常需利用Clementine的CLEM表达式表述计算规则。

3.2.1CLEM表达式

CLEM(ClementineLanguageforExpressionManipulation)是Clementine专门用于表述运算操作的语言。

CLEM所描述的算术表达式是由常量、变量、运算符、函数等组成的式子。

●常量:

运算过程中值不发生变化的量。

不同类型常量的具体表现形式不同,如整

型(Integer)或实型(Real)常量表现为具体的数字,如150、265.87等;

字符

串型(String)常量表现为具体的字符,如“Beijing”等,应用双引号括起来。

●变量:

运算过程中其值可以发生变化的量,用于反映事物的某个特征。

●运算符:

包括算术运算符和逻辑运算符。

算术运算符有:

+(加)、一(减)、*(乘)、/(除)、**(乘方)、div(整除)和rem(取余数)。

另外,还有专用于字符串的操作符号>

<

,表示两字符串做头尾连接运算。

可利用括号改变原有的运算顺序。

逻辑运算符是用于逻辑运算的。

在实际问题中,如果只对满足一定条件的样本进行计算,则应首先通过逻辑运算给出条件。

逻辑运算符有:

>

(大于)、>

=(大于等于)、<

(小于)、<

=(小于等于)、=(等于)、/=(不等于)、and(并且)、or(或者)、not()(否)。

●函数:

是Clementine提供的实现某个特定计算功能的程序段,应通过函数名(参

数)的形式引用它们。

函数包括普通函数和专业函数。

普通函数从功能角度可划分为算术函数和三角函数、随机函数、字符串函数、类型转换函数和日期时间函数等;

专业函数主要用于统计分析计算和缺失值的处理等。

专业函数通常以@开头,且函数名均为大写字母。

专业函数在Clementine中有很重要的作用。

表3-1给出了各种常用函数的形式、结果类型和功能说明。

日期时间函数较多,不在此一一列出,可参见Clementine帮助手册。

表3-1(a)常用算术函数和三角函数

函数

结果类型

功能说明

abs(NUM)

Number

返回NUM的绝对值,计算结果与NUM同类型

exp(NUM)

Real

返回e的NUM次幂,这里e是自然对数底

intof(NUM)

Integer

将NUM截尾成一整数,返回与NUM相同符号的最大整数

续表

fracof(NUM)

返回NUM的小数部分,即NUM—intof(NUM)

loge(NUM)

返回NUM的自然对数(底为e),NUM不能为0或负数

Loge10(NUM)

返回NUM的对数(底为10),NUM不能为0或负数

negate(NUM)

返回NUM的相反数,计算结果与NUM同类型

round(NUM)

将NUM向上取整。

若NUM为正则等于intof(NUM+0.5)否则为intof(NUM—0.5)

sign(NUM)

返回NUM的符号。

若NUM为整数,则负、零和正,对应的返回值依次为—1、0、1。

若NUM为实数,则依次返回—1.0、0.0、1.0

sqrt(NUM)

返回NUM的平方根,NUM为正数

sin(NUM)

返回正弦值

cos(NUM)

返回余弦值

tan(NUM)

返回正切值

undef

Any

返回$null$值

pi

返回π的实数估计值

表3-1(b)常用随机函数

oneof(LIST)

返回从LIST中随机选取的一个数据项。

LIST的格式为[ITEM1,ITEM2...ITEM_N]

Random(NUM)

随机生成(0,NUM)之间的随机数,随机数类型取决于NUM的类型

表3-1(c)常用字符串函数

allbutfirst(N,STRING)

String

返回一个字符串,它是STRING的前N个字符被删除后的字符串

allbutlast(N,STRING)

返回一个字符串,它是STRING的后N个字符被删除后的字符串

isstartstring(SUBSTRING,STRING)

若STRING以SUBSTRING开始,则返回1;

否则返回0

isendstring(SUBSTRING,STRING)

若STRING以SUBSTRING结尾,则返回SUBSTRING在STRING中的下标,否则返回0

ismidstring(SUBSTRING,STRING)

若SUBSTRING是STRING的字符串,但不是从第一个字符开始或以最后一个字符结束,则返回子串开始处的下标,否则返回0

alphabefore(STRING1,STRING2)

Boolean

若STRING1先于STRING2,则返回真;

issubstring(SUBSTRING,STRING)

从第N个字符开始查找STRING中等于SUBSTRING的子串,若找到则返回匹配开始的下标;

否则返回0。

若N没有给定,则默认N为1

续表

last(STRING)

返回STRING中最后一个字符

length(STRING)

integer

返回字符串STRING的长度

lowertoupper(STRING)

将其所有小写字母转化为相应的大写字母

uppertolower(STRING)

将其所有大写字母转化为相应的小写字母

stripchar(CHAR,STRING)

从STRING中删除字符CHAR

substring(N,LEN,STRING)

返回STRING中开始于下标N,长度为LEN的子串

isalphacode(CHAR)

若CHAR的字符编码为字母则返回真;

isnumbercode(CHAR)

若CHAR的字符编码为数字则返回真;

islowercode(CHAR)

若CHAR为小写字母则返回真;

isuppercode(CHAR)

若CHAR为大写字母则返回真;

表3-1(d)常用类型转换函数

to_integer(ITEM)

将指定变量转换为整型数

to_real(ITEM)

将指定变量转换为实型数

to_string(ITEM)

将指定变量转换为字符串型

to_time(ITEM)

Time

将指定变量转换为时间型

to_date(ITEM)

Date

将指定变量转换为日期型

to_timestamp(ITEM)

Timestamp

将指定变量转换为时间戳型

表3-1(e)常用专业函数

@MEAN(FIELD)

返回第一个样本到当前样本中变量FIELD的均值

@MEAN(FIELD,EXPR)

返回包括当前样本在内的前EXPR个样本中变量FIELD的均值

@DIFF1(FIELD)

返回变量FIELD的一阶差分值

@DIFF2(FIELD)

返回变量FIELD一阶差分值的一阶差分值

@MAX(FIELD)

返回第一个样本到当前样本中变量FIELD的最大值

@MAX(FIELD,EXPR)

返回包括当前样本在内的前EXPR个样本中变量FIELD的最大值

@MIN(FIELD)

返回第一个样本到当前样本中变量FIELD的最小值

@MIN(FIELD,EXPR)

返回包括当前样本在内的前EXPR个样本中变量FIELD的最小值

@SDEV(FIELD)

返回第一个样本到当前样本中变量FIELD的标准差

@SDEV(FIELD,EXPR)

返回包括当前样本在内的前EXPR个样本中变量FIELD的标准差

@SINCE(EXPR)

返回从上一次表达式EXPR为真的样本到当前样本(不包括当前样本)之间相隔的样本数

@SUM(FIELD)

返回第一个样本到当前样本中变量FIELD的总和

@SUN(FIELD,EXPR)

返回包括当前样本在内的前EXPR个样本中变量FIELD的总和

@INDEX

返回当前样本序号

@FIELD

代指当前节点中的任一变量

@TODAY

返回当前机器日期

@BLANK(FIELD)

若当前样本在变量FIELD上取空白,则返回真;

@NULL(FIELD)

若当前样本在变量FIELD上取系统缺失值$null$,则返回真;

需要说明的是,算术表达式中的常量、变量和函数的存储类型应一致;

计算结果为布尔型(Boolean)的函数,其函数值不能保存到变量中,因为Clementine变量的存储类型中没有Boolean型的定义,这些函数仅用于条件判断。

3.2.2变量值重新计算示例

这里,仍以学生参加某次社会公益活动的数据(文件名为Students.xls)为例,讲解变量值重新计算的具体操作方法。

计算目标是对在校综合评价指数进行标准化处理,以使其能够直观反映学生在校综合水平。

计算方法为极差法,即(在校综合评价指数一在校综合评价指数的最小值)/(在校综合评价指数的最大值一在校综合评价指数的最小值)×

100%。

首先,选择字段选项(FieldOps)卡中的填充(Filler)节点并将其与3.1节的类型(Type)节点相连,鼠标右击填充(Filler),选择弹出菜单中的编辑(Edit)选项,所显示的参数设置窗口如图3-7所示。

图3-7填充(Filler)节点的参数设置窗口

具体参数设置如下。

●输入字段(Fillinfields)框:

指定一个或多个需重新计算的变量名,可以手工输入也可以按右边的钮进行选择。

这里,选择的变量是在校综合评价指数。

●替换为(Replacewith)框:

指定重新计算的计算方法,可以手工输入CLEM算术表达式,也可按右边计算器按钮借助Clementine的CLEM输入面板输入,如图3-8所示。

图3-8Clementine的CLEM输入面板

面板左边列出了所有CLEM函数,中间是运算符,右边是所有变量的相关信息。

用户可通过鼠标进行选择输入,还可按检查(Check)钮对所输入的算术表达式的正确性进行检查。

这里,输入本例的计算方法,其中在校综合评价的最大值和最小值已通过类型(Type)节点得知了。

●替换(Replace)选项:

提供了如下几种重新计算的条件。

■根据以下条件(Basedoncondition)表示只对满足一定条件样本的变量值进行重新计算,条件应在条件(Condition)框中输入。

例如,@BLANK(@FIELDS),表示的条件是如果节点中任一变量的变量值为空白,则进行重新计算;

■始终(Always)表示所有样本都重新计算;

■空值(Blankvalues)表示用替换为(Replacewith)框的计算结果替代变量中的空白;

■无效值(Nullvalues)表示用替换为(Replacewith)框的计算结果替代变量中的系统缺失值$null$;

■空值与无效值(Blankandnullvalues)表示用替换为(Replacewith)框的计算结果替代变量中的空白和系统缺失值$null$。

可通过输出(Output)选项卡中的表(Table)节点浏览重新计算以后的数据,可以看到在校综合评价指数均调整到0~100之间,变量值的含义更直观了。

3.3变量类别值的调整

在实际数据分析中,分类型变量的取值有时也需要调整。

例如,为大致判断人的不同性格,可设计一系列问题和备选答案,并给各个备选答案计以不同的分值。

被判断者需要首先回答问题,然后计算自己的总得分,并根据总得分大致判断自己是属于哪种性格。

这样的调查极为常见,其中的关键是问题的设计。

如果现只有三个问题分别是:

你遇到陌生人,会“自来熟”吗?

你经常在公开场合发表自己的意见吗?

你见到不熟悉的异性会经常脸红吗?

备选答案为:

经常、偶尔、从不,分别计1、2、3分。

同时规定总分达9分的为特别开朗型,总分为3的为特别内向型,3~9分之间的为普通型。

可以看到,这里第3题是与前两题提问方向相反的题,称为反向计分题。

反向计分题的答案数据应首先进行调整,否则必然影响后续的分值计算和判断。

因此,这里需要将第3题原来的1分调整为3分,将原来的3分调整为1分,2分保持不变。

再如,仍是学生参加某次社会公益活动的数据,是否无偿献血取值不规范,取值1和0应分别调整为Yes和No。

对于上述问题,如果用3.2节的填充(Filler)节点做变量值重新计算,不仅很烦琐,更重要的是无法实现反向计分题的重新计分。

解决方法是利用变量类别值调整功能,通过字段选项(FieldOps)卡中的重新分类(Reclassify)节点实现。

这里,将围绕调整无偿献血变量值的问题,讨论其具体操作。

首先,选择字段选项(FieldOps)卡中的重新分类(Reclassify)节点并将其连接到数据流的适当位置上,鼠标右击,选择弹出菜单中的编辑(Edit)选项,所显示的参数设置窗口如图3-9所示。

图3-9重新分类(Reclassify)的参数设置窗口

具体参数设置如下。

●模式(Mode)选项:

单个(Single)表

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2