spss软件 决策树.docx
- 文档编号:11463011
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:41
- 大小:579.04KB
spss软件 决策树.docx
《spss软件 决策树.docx》由会员分享,可在线阅读,更多相关《spss软件 决策树.docx(41页珍藏版)》请在冰豆网上搜索。
spss软件决策树
Chapter2使用决策树的预测建模
2.1问题和数据探索2-3
2.2建模问题和数据难点2-20
2.3生成和解释决策树2-46
2.1问题和数据探索
内容:
问题和数据
初步数据探索
问题和数据
a.预测建模问题
一家金融服务公司为其客户提供房屋净值信贷额度。
该公司曾把该项贷款扩展给了数千客户,其中的许多接收者(大约20%)有贷款欺诈行为。
该公司希望使用地理信息、人口信息、和经济状况信息变量建立一个模型预测一个申请人将来会不会欺诈。
b.输入数据源
在对数据进行了分析之后,该公司选择了12个预测变量来建立每一个申请人是否欺诈的模型。
输出变量(或目标)变量(BAD)表示申请人在房屋净值信贷中是否有欺诈活动。
这些变量及其模型角色、测量水平、变量描述列表如下。
表2.1SAMPSIO.HMEQ数据集合的变量
Name
ModelRole
MeasurementLevel
Description
BAD
Target
Binary
1=defaultedonloan,0=paidbackloan
REASON
Input
Binary
HomeImp=homeimprovement,DebtCon=debtconsolidation
JOB
Input
Nominal
Sixoccupationalcategories
LOAN
Input
Interval
Amountofloanrequest
MORTDUE
Input
Interval
Amountdueonexistingmortgage
VALUE
Input
Interval
Valueofcurrentproperty
DEBTINC
Input
Interval
Debt-to-incomeratio
YOJ
Input
Interval
Yearsatpresentjob
DEROG
Input
Interval
Numberofmajorderogatoryreports
CLNO
Input
Interval
Numberoftradelines
DELINQ
Input
Interval
Numberofdelinquenttradelines
CLAGE
Input
Interval
Ageofoldesttradelineinmonths
NINQ
Input
Interval
Numberofrecentcreditinquiries
需要的结果-信用评分模型
该信用评分模型给每一个贷款申请人计算还贷欺诈的概率。
在此要设定一个阈值,欺诈概率超过阈值的那些申请人将建议不批准。
建立项目和数据初步探索
建造简单的过程流(Flow)
1.假定MyProject项目的Project1框图是开着的,通过从工具条上(或Tools标签)拖动InputDataSource节点到diagram工作区把节点加到Project1框图中。
2.把Multiplot节点工作区InputDataSource节点的右边.你的框图看起来如下图
注意现在选中的是Multiplot节点(有虚线环绕),而不是InputDataSource节点.如果你在工作区的空白地方点击一下,所有的节点都被放开。
除了把一个节点拖到工作区,另外还有两个方法把节点加入到流中。
(Youcanright-clickintheworkspacewhereyouwantthenodetobeplacedandselectAddnodefromthepop-upmenu,oryoucandouble-clickwhereyouwantthenodetobeplaced.Ineithercase,alistofnodesappears,enablingyoutoselectthedesirednode.)
当把光标放在节点上面时,它就像一只小手。
要在工作区内移动节点,
1.把光标放在节点上面直到小手出现
2.压下鼠标左边,把节点拖到期望的位置
3.放开鼠标左边.
连接工作区的两个节点:
1.确保InputDataSource节点没有被选定.如果这个起始节点是被选定的,在工作区的空白区点击一下解除选定。
2.把光标放在表示InputDataSource节点的图标的边缘(直到十字号出现).
3.按住鼠标左边,立即向Multiplot节点方向拖动.(如果你按住鼠标左边不立即拖动,你就会选定这个节点。
拖动一个选定的节点一般就是移动这个节点,即没有连线)
4.在到达终端节点图标后释放鼠标.
5.在线外点击一下,完成的箭头线显示如下
开始时 最后
调用输入数据
这个例子使用SAMPSIO文件夹的HMEQ数据集合.
1.要指定数据集合,双击InputDataSource节点,或右击该节点并选择Open….Data标签处于激活状态.你的窗口如下:
2.点击Select…来选择数据集合.或者把数据集合的名称键入进来。
3.SASUSER文件夹是缺省文件夹.要浏览SAMPSIO文件夹的数据集合,点击
并从这些文件夹里选择SAMPSIO
4.从SAMPSIO文件夹的数据集合里选择HMEQ然后选OK.下面的对话框打开:
5.可以看到该数据集合里有5,960个观测(行)和13个变量(列).SAMPSIO.HMEQ是源数据.注意在右下角指示的是metadata(元数据)样本大小为2,000.
所有分析包必须决定在分析中如何使用变量.EM使用元数据对如何使用每一个变量作一个初步的评估。
按缺省方式,它从感兴趣的数据集合里随机抽取2,000个观测记录,并使用这里的信息为每一个变量确定其模型中的作用和变量类型。
要抽取一个较大的样本,你得选择对话框右下角Change…按钮.
1.点击Variables标签可看到所有的变量及其相关的指定.
2.点击第一列的标头,Name,这些变量就按名称的顺序排列。
把窗口拉大你会看到所有的变量。
下表显示了13个变量的部分信息.
注意有两列显灰色。
这些列代表这个节点里不能改变的SAS数据集合的信息。
Type或者是字符型(char)或者是数值型(num),它对一个变量如何被使用有影响。
2,000元数据样本的Type的值和不重复数值个数用于确定模型以及测量水平.
第一个变量BAD是目标变量.尽管BAD是数据集合里的一个数值变量,EM把它认作binary(二元变量)因为在元数据样本里它只有两个不同的非缺失值。
所有二元变量的模型角色的缺省设置都是输入变量(input)。
在做分析之前你需要把BAD的模型角色改为目标变量。
Thenextfivevariables(CLAGEthroughDEROG)havethemeasurementlevelintervalbecausetheyarenumericvariablesintheSASdatasetandhavemorethan10distinctlevelsinthemetadatasample.Themodelroleforallintervalvariablesissettoinputbydefault.
ThevariablesJOBandREASONarebothcharactervariablesinthedataset,buttheyhavedifferentmeasurementlevels.REASONisbinarybecauseithasonlytwodistinctnonmissinglevelsinthemetadatasample.ThemodelroleforJOB,however,isnominalbecauseitisacharactervariablewithmorethantwolevels.
Forthepurposeofthisanalysis,treattheremainingvariablesasintervalvariables.
Attimes,variablessuchasDEROGandDELINQwillbeassignedthemodelroleofordinal.Avariableislistedasordinalwhenitisanumericvariablewithmorethantwobutnomorethantendistinctnonmissinglevelsinthemetadatasample.Thisoftenoccurswithcountingvariables,suchasavariableforthenumberofchildren.Becausethisassignmentdependsonthemetadatasample,themeasurementlevelofDEROGorDELINQforyouranalysismightbesettoordinal.Allordinalvariablesaresettohavetheinputmodelrole;however,youtreatthesevariablesasintervalinputsforthepurposeofthisanalysis.
确定目标变量
BAD是这个分析的反应变量,因此要把BAD的模型作用改为target.
要改变模型作用信息,方法如下:
1.把光标头指向BAD行的ModelRole一栏并右击。
2.从弹出菜单选择SetModelRoletarget.
检查分布
你可以检查元数据样本里每一个变量的数值分布。
要查看BAD的分布:
1.把光标头指向BAD变量Name栏.
2.右击鼠标,你可以按名称给变量排序、找变量、或者查看BAD的分布.
3.选择ViewDistributionofBAD查看BAD的分布
Toobtainadditionalinformation,selectthetheViewInfotool,
fromthetoolbaratthetopofthewindowandclickononeofthebars.EnterpriseMinerdisplaysthelevelandtheproportionofobservationsrepresentedbythebar.Theseplotsprovideaninitialoverviewofthedata.Forthisexample,approximately20%oftheobservationswereloanswheretheclientdefaulted.Becausetheplotsarebasedonthemetadatasample,theymayvaryslightlyduetothedifferencesinthesampledobservations,butthebarforBAD=1shouldrepresentapproximately20%ofthedata.ClosetheVariableHistogramwindowwhenyouarefinishedinspectingtheplot.Youcanevaluatethedistributionofothervariablesasdesired.
修改变量信息
保证余下变量的模型作用和测量水平信息是正确的。
如果必要,可以把DEROG的测量水平改为interval.要修改测量水平信息:
1.把光标头指向DEROG行的测量(Measurement)栏,并右击鼠标
2.从弹出菜单选择SetMeasurementinterval
查看描述统计量
元数据可用来计算描述统计量。
选择IntervalVariables标签
你可以查看连续变量的最小值、最大值、均值、标准差、缺失记录的百分数、偏度和峰度。
根据数据的商务知识,查看最小值和最大值指的是有没有异常值。
注意DEBTINC变量的缺失值百分数很高(21%).
选择类别变量ClassVariables标签
查看数据的水平级数、缺失值百分数、以及变量的排序方式。
注意BAD变量是降序,而其它变量是升序。
这是因为它是二元目标变量。
通常对于二元变量当事件发生时编码为1否则为0。
降序排序使得1成为第一个水平,是二元变量的目标变量。
在回归模型里把其它类似编码的二元变量按降序排列对于解释参数估计也是有用的。
关闭InputDataSource节点,并存储这些改变。
其它的数据探索
EM的其它工具可让你进一步探索数据。
工具之一是Multiplot(多图)节点.Multiplot节点建立一系列的直方图和条形图可使你检查输入变量和二元目标变量的关系。
1.右击Multiplot节点并选择Run.
2.在出现的弹出框里选Yes浏览结果.
通过使用键盘上的PageDown,你可以浏览关于该数据的直方图。
从这个直方图你可以知道许多的欺诈贷款是由债务收入比高或者债务收入比未知的购房者造成的。
当EM打开一个项目框图时,在该框图上会放一把锁以避免两个以上的人同时改变这个框图。
如果EM或SAS不正常终止,锁文件没有被删除,锁仍然对框图起作用。
如果这种情况发生,你必须删除这个锁文件以操作框图。
删除锁文件的步骤:
1.右击工作区diagrams标签的项目名并选择Explore….
2.在打开的explorer窗口工具条上点击
.
3.在Searchforfilesorfolders(搜索文件或文件夹)区域,键入*.lck.
4.选择
.
5.一旦找到锁文件,右击该文件名并选择Delete.
这样锁文件就被删除了,项目处于可操作状态。
2.2数据划分
了解DataPartition(数据划分)节点
查看数据划分节点的缺省设置
1.把DataPartition节点放到框图里.
2.把DataPartition节点和CRSSAMP.HMEQ节点连起来.
3.打开DataPartition节点,或者通过双击节点或者右击鼠标并选择Open….
选择标签左上部的划分方法.
∙按缺省方式,EM在输入数据中抽取简单随机样本并划分为训练数据、验证数据和测试数据.
∙如要进行分层抽样,选择Stratified圆钮并使用Stratified标签中的选择项建立各个层次.
∙如要进行用户自定义的抽样,选择UserDefined圆钮并使用UserDefined标签中的选择项挑选出数据集合中的某个变量,该变量确定划分.
在启动抽样过程前你可以在标签的左下部分指定一个随机种子。
计算机程序的随机化过程经常始于某种种子。
如果你在不同的挖掘流程使用相同的数据集合和相同的种子,你会得到相同的数据划分。
注意对数据的重新排序会导致数据的不同的顺序,因此导致不同的数据划分,这有可能会产生不同的挖掘结果.
该标签的右边你可以指定数据划分到训练数据、验证数据和测试数据的百分数.
划分HMEQ数据集合用于建模.根据现有的数据创建训练数据和验证数据集合,忽略测试数据.
4.分布设置Train,Validation,和Test为67,33,和0.
5.关闭DataPartition节点,选择Yes把所做的改动存起来.
2.3生成和解释决策树
目标:
学习EM可用的决策树模型类型
生成决策树模型
检查模型结果和解释这些结果
理论和实证角度选择决策阈值
要完成第一个框图的第一阶段,需把一个Tree节点和一个Assessment节点加到工作区并连接如下:
检查决策树的缺省设置.
1.双击打开Tree节点.
2.查看Variables标签以确保所有的变量具有适当的状态、模型作用以及测量水平.
如果变量的模型角色或者测量水平信息不正确,在这个节点里是不能修改的。
你必须返回到输入数据源(inputdatasource)节点去修正.
3.选择Basic.
以前讨论的生成决策树的选择项均在此标签中.
可用的裂分标准依赖于目标变量的测量水平。
对于二元或者名义目标变量,缺省的裂分标准是chi-square检验,显著性水平为0.2.如果不用缺省设置,你可以用entropy减少或者Gini(基尼数)减少的方法作为裂分标准。
对于有序目标变量,只有entropy或者基尼数方法。
对于连续型目标变量,你有两个裂分标准供选择:
缺省F检验或者方差减少。
这一标签的其它选择项影响树的生长和大小。
按照缺省,只有二元裂分可用,树的最大深度是6个层次,树叶中最小的观测记录数是1.然而,还有一个节点裂分所需要的观测记录数的设置。
这个数值的缺省值是训练数据里所有的记录数除以100.
ThereareadditionaloptionsavailableintheAdvancedtab.AlloftheoptionsarediscussedingreaterdetailintheDecisionTreeModelingcourse.
4.关闭Tree节点.
5.从Tree节点运行框图。
右击Tree节点并选择Run.
6.选择弹出框的Yes查看结果.
当查看树节点的结果时,All标签处于活动状态,界面展示了后面几个子标签的总结。
从右下角的图形我们知道训练数据集合最初生成的是18个树叶的树,然后根据验证数据集合被修剪成有8个树叶的树。
左下角的表告诉我们这个8个树叶的树在验证数据上的精度是89.02%.
7.通过选择菜单条ViewTree查看树.
以下是树的一部分.
尽管这棵树应该有8个树叶,但这些树叶并不都能看到。
根据缺省,决策树浏览器只显示3层.
要修改可浏览的层数,操作如下:
1.选择ViewTreeOptions….
2.在Treedepthdown区域键入6.
3.选择OK.
4.检查一下所有8个树叶是否都能看到.
Thecolorsinthetreeringdiagramandthedecisiontreeitselfindicatenodepuritybydefault.Ifthenodecontainsallonesorallzeros,thenodeiscoloredred.Ifthenodecontainsanequalmixofonesandzeros,itiscoloredyellow.
Youcanchangethecoloringschemeasfollows:
1.SelectToolsDefineColors.
2.SelecttheProportionofatargetvalueradiobutton.
3.Select0intheSelectatargetvaluetable.Selectingzeroasthetargetvaluemakestheleaveswithallzerosgreenandthosewithnozeros(thatis,allones)red.Inotherwords,leavesthatincludeonlyindividualswhowilldefaultontheirloanwillbered.
4.SelectOK.
Inspectthetreediagramtoidentifytheterminalnodeswithahighpercentageofbadloans(coloredred)andthosewithahighpercentageofgoodloans(coloredgreen).
你还可以改变树节点统计量的显示.
1.选择ViewStatistics….
2.要关闭Countperclass(每类别的数量),右击Countperclass行的Select列。
在弹出菜单里选择SetSelectNo.
3.同样方法关闭Ninnode,PredictedValue,TrainingData,以及NodeID行,你的屏幕上可以看到更多的树叶.
4.选择OK.
注意第一次裂分发生在DEBTINC变量上。
以下步骤可用来决定哪一个分枝包含缺失值:
1.把光标头指在树图根节点下的变量名DEBTINC上.
2.右击并选择Viewcompetingsplits….CompetingSplits(可选择裂分)窗口打开。
该表列出了按worth的测量值排列的前5个可考虑用于裂分的变量.
3.选择DEBTINC.
4.选择Browserule.ModifyIntervalVariableSplittingRule(修正连续变量裂分法则)窗口打开.
该表给出了每一个分枝的变量数值范围以及包含缺失值的分枝号。
在目前情况下,包含>45.1848的变量值的分枝包含缺失值.
5.关闭ModifyIntervalVariableSplittingRule窗口,CompetingSplits窗口,以及树图.
YoucanalsoseesplittinginformationusingtheTreeRingtabintheResults-Treewindow.UsingtheViewInfotool,youcanclickonthepartitionsinthetreeringplottoseethevariableandcutoffvalueusedforeachsplit.Thesizesoftheresultingnodesareproportional
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- spss软件 决策树 spss 软件