在Target Profiles for DINEBIN窗口中,Name域下面的LEVEL矩阵中,行属性1代表有购买行为,0代表没有购买;列属性1代表有目录发出,0代表没有目录发出。所以,对于本例,LEVEL都为1时,表示有目录发出同时客户购买,那么按照前面我们分析过的目标变量的商业属性,此时将有$90的期望收入;当LEVEL的值都为0以及LEVEL行为0,列为1时,没有购买行为,所以将产生0收入;而LEVEL行为1,列为0时,表示没有订单发出却产生购买,这显然是个不合理的结论,所以保持它的值。
(15) 将LEVEL都为1的矩阵框填入90,将LEVEL都为0的矩阵框中填入0,其他
值保持0不变。
(16) 右键单击Target Profit matrix列表中的Profit matrix,选择Set to use,在Profit
matrix的前面将出现?*?
在Target Profiles for DINEBIN窗口中可能涉及到的最后一个设臵是Prior标签。对于商业建模来说,我们要挖掘的数据量可能是非常巨大的,可能会涉及到抽样的过程,我们这里使用的CUSTDET1本身是对原有数据集的随机抽样,这种随机抽样可能会导致目标变量分布的改变。例如在本例中,总体数据中的目标变量占12%,而通过抽样得到的CUSDET1中,TARGET所占百分比达到了54%,这种抽样保留了更多的TARGET事件,被称作Over Sampling。Over Sampling对于Training Data有足够的数据来建模是有必要的,但是对于测试数据,则需要在EM中指出原有数据的TARGET的真实分布。解决这个问题我们是通过设臵Prior标签来实现的。
(17) 在Target Profiles for DINEBIN窗口中,单击Prior标签,在左边窗口空白处单
击鼠标右键,选择Add,会出现新增加的Prior vector选项。
(18) 单击Prior vector,分别将右侧的Target Value为1和0的Prior Probability的值
改为0.12和0.88,将Name改为Prior Dining后按回车,则新增加的Prior vector将变为Prior Dining
(19) 右键单击Prior vector,选择Set to use,则Prior vector前面会打上?*? (20) 关闭Target Profiles 窗口,关闭Data Set Attributes窗口,分别在弹出对话框中
选择?是?保存修改。
到此为止,目标变量的设臵就全部结束了。 3.3.3
数据分割
EM实现数据分割的工具是Data Partition (1)
将Data Partition节点拖到工作区中,放到Data Set Attribute的右边,连接Data Set Attribute节点到Data Partition节点;
(2)
双击Data Partition节点,窗口中默认出现Partition标签,将标签中的设臵修改如下:
其中,Method表示选择划分训练数据、检验数据和测试数据的方法,此处选择随机抽取数据,Percentages表示分割后的不同角色数据集所占的比例,对于Random Seed,可以通过单击Generate New Seed按钮来改变产生种子的方式。
(3) 3.3.4
关闭窗口,保存修改,完成数据分割。 替换缺失值
由于EM中的很多建模工具,包括回归模型和神经网路模型在建模的过程中会忽略含有缺失值的记录,这样会缩减训练数据集参与预测建模的数据量,如图
所以,在使用回归和神经网络模型工具之前必须对缺失值进行处理。EM处理缺失值的工具是Replacement节点
(1)
将Replacement节点拖到工作区中,放在Data Partition节点右侧,连接Data Partition节点到Replacement节点
(2)
双击Replacement节点,出现Replacement窗口,默认出现的是Defaults和General标签
EM在运行Replacement节点的时候,首先会生成一个训练数据的随机样本,在这个样本的基础上,按照如下规则替换缺失值:
? Interval类型的变量,用样本均值替换缺失值;
? Binary、nominal和ordinal类型的变量,用样本中的高频值替换缺失值。 有些数据存储,采用特殊值代替缺失值,比如所有的缺失值都用999代替,这种情况下,我们可以通过选择Replace before imputation,同时在Constant values二级标签里面进行缺失值替换规则设臵,本例中不涉及到替换规则的改变
(3)
单击Create imputed indicator variables选项左侧的方框,选择此框后,当运行Replacement节点的时候,系统会生成一系列以M为前缀的Binary类型的变量,当某个观测中的某个变量为缺失值的时候,那么系统会将与缺失值变量相关联的以M开头的Binary变量的值赋成?1?,这样,对于回归模型和神经网络模型,就可以用这些替代值来建模了。
(4) 3.4 建模
本例中我们建立的是响应模型,一般来讲,回归模型和决策树模型是建立定位模型的比较适合的工具。
3.4.1 回归模型
EM实现回归建模的工具是Regression节点。回归包括线性回归和逻辑回归,当目标变量为ordinal 或者 binary类型的数据的时候,即目标变量为非连续变量的时候,所以我们应该采用逻辑回归建模。
(1)
将Regression节点拖到工作区中放到Replacement节点的下方,连接Replacement节点到Regression节点。 关闭Replacement窗口,保存修改。
(2)
双击Regression节点出现Regression窗口,默认出现的是Variables标签。由于Regression节点的默认模型是逻辑回归,所以无需再对Model Options标签进行设臵,此处要设臵的是Selection Method标签。
常用的三种逐步回归法:
FORWARD前进法:从模型中没有变量开始,每次将一个最显著的变量引入模型,直
到模型以外的变量不再有显著的下值为止;
BACKWAND后退法:从模型中含所有自变量开始,每次从模型中剔除一个贡献最小的变量,直到模型中只剩下均为显著的变量为止;
STEPWISE逐步法:每次引入模型一个最显著的变量,然后考虑从模型中剔除一个最不显著的变量,直到既没有变量引入也没有变量剔除为止。
(3)
单击Selection Method标签,出现如下窗口,单击Method右侧的下拉键头,选择Stepwise。
当选择Stepwise以后,会发现Effect Hierarchy变为可选状态,当我们不考虑数据集中两个或两个以上的变量会联合作用于目标变量的时候,则无需对Effect Hierarchy进行设臵。
(4)
关闭Regression窗口,在弹出对话框中选择?是?保存设臵,此时会弹出Save Model As窗口,在Model Name域输入StepReg,在Model Description 域输入Stepwise Logistic Regression,单击?OK?。
到此,我们就已经完成了回归的建模,下面我们先完成决策树的建模之后,在一同比较两个模型的运行结果。
3.4.2 决策树模型
采用决策树建模的最大的好处就是其结果易于理解,EM建立决策树模型的工具是Tree 节点。