1、IBM SPSS Modeler 教程1IBM SPSS Modeler 说明数据挖掘和建模数据挖掘是一个深入您的业务数据,以发现隐藏的模式和关系的过程。数据挖掘解决了一个常见的问题:您拥有的数据越多,就越难有效地分析并得出数据的意义,并且耗时也越长。金矿无法开采,通常是由于缺乏人力、时间或专业技术。数据挖掘使用清晰的业务流程和强大的分析技术,快速、彻底地探索大量的数据,抽取并为您提供有用且有价值的信息,这正是您所需要的“商务智能”。尽管您数据中的这些以前未知的模式和关系本身很有趣,但一切并不止于此。如果您可以使用这些过去行为的模式来预测未来可能发生的事情,那又会怎样?这就是建模的目标 -模型
2、,它包含一组从源数据中抽取的规则、公式或方程式,并允许您通过它们生成预测结果。这正是预测分析的核心。关于预测分析预测分析是一个业务流程,其中包含一组相关技术,通过从您的数据中总结出有关当前状况与未来事件的可靠结论,帮助制定有效的行动措施。它是以下方面的组合:高级分析决策优化高级分析使用多种工具和技术,分析过去与现在的事件,并预测未来的结果。决策优化确定您的哪些措施可以产生最好的可能结果,并确保这些建议措施能够最有效地融入到您的业务流程中。有关预测分析如何工作的深入信息,请访问公司网站建模技术建模技术基于对算法的使用,算法是解决特定问题的指令序列。您可以使用特定算法创建相应类型的模型。有三种主要
3、的建模技术类别,IBM SPSS Modeler 为每种类别提供了一些示例:Classification关联细分(有时称为“聚类”)分类模型使用一个或多个输入字段的值来预测一个或多个输出(或目标)字段的值。这些技术的部分示例为:决策树(C&R 树、QUEST、CHAID 和 C5.0 算法)、回归(线性、logistic、广义线性和 Cox 回归算法)、神经网络、Support Vector Machine (SVM) 和贝叶斯网络。关联模型查找您数据中的模式,其中一个或多个实体(如事件、购买或属性)与一个或多个其他实体相关联。这些模型构建定义这些关系的规则集。数据中的字段可以作为输入和目标。
4、您可以手动查找这些关联,但关联规则算法可以更快速地完成,并能探索更多复杂的模式。Apriori 和 Carma 模型是使用此类算法的示例。另一种类型的关联模型是序列检测模型,后者可以在按时间建立结构的数据中查找顺序模式。细分模型将数据划分为具有类似输入字段模式的记录段或聚类。细分模型只对输入字段感兴趣,没有输出或目标字段的概念。细分模型的示例为 Kohonen 网络、K-Means 聚类、两步聚类和异常检测等。我如何知道使用哪种技术?有这样种类繁多的技术摆在面前,很难知道从哪里开始解决您的特定问题。幸运的是,IBM SPSS Modeler 可以通过自动化建模形式替您做出其中的部分决定。这是一
5、种功能强大的技术,它能评估和比较多种不同建模方法,并按有效性顺序对它们进行排序。这样,您可以在单次建模运行中尝试多种方法。自动建模使用说明要启动该应用程序,请从 Windows“开始”菜单的 SPSS Inc 程序组中选择IBM SPSS Modeler14.1。几秒钟后,屏幕上将显示主窗口。在数据挖掘过程中的每一个阶段,均可通过 IBM SPSS Modeler 易于使用的界面来邀请特定业务的专家。建模算法(如预测、分类、细分和关联检测)可确保得到强大而准确的模型。模型结果可以方便地部署和读入到数据库、IBM SPSS Statistics 和各种其他应用程序中。使用 SPSS Modele
6、r 即处理数据的三个步骤。首先,将数据读入 SPSS Modeler,然后,然后通过一系列操纵运行数据,最后,将数据发送到目标位置。这一操作序列称为数据流,因为数据以一条条记录的形式,从数据源开始,依次经过各种操纵,最终到达目标(模型或某种数据输出)流工作区是 IBM SPSS Modeler 窗口的最大区域,也是您构建和操纵数据流的位置。通过在界面的主工作区中绘制与业务相关的数据操作图表来创建流。每个操作都用一个图标或节点表示,这些节点通过流链接在一起,流表示数据在各个操作之间的流动。在 SPSS Modeler 中,可以在同一流工作区或通过打开新的流工作区来一次处理多个流。会话期间,流存储
7、在 SPSS Modeler 窗口右上角的“流”管理器中。IBM SPSS Modeler 中的大部分数据和建模工具位于节点选项板中,该选项板位于流工作区下方窗口的底部。例如,可以使用“记录选项”选项板选项卡中包含的节点对数据记录执行操作,如选择、合并和追加等。要将节点添加到工作区,请在节点选项板中双击图标或将其拖放到工作区。随后可将各个图标连接以创建一个表示数据流动的流。每个选项板选项卡均包含一组不同的流操作阶段中使用的相关节点,如:源。此类节点可将数据引入 SPSS Modeler。记录选项。此类节点可对数据记录执行操作,如选择、合并和追加等。字段选项。此类节点可对数据字段执行操作,如过滤
8、、导出新字段和确定给定字段的测量级别等。图形。此类节点可在建模前后以图表形式显示数据。图形包括散点图、直方图、网络节点和评估图表。建模。此类节点可使用 SPSS Modeler 中提供的建模算法,如神经网络、决策树、聚类算法和数据排序等。数据库建模。节点使用 Microsoft SQL Server、IBM DB2 和 Oracle 数据库中可用的建模算法。输出。节点生成可在 SPSS Modeler 中查看的数据、图表和模型等多种输出结果。导出。节点生成可在外部应用程序(如 IBM SPSS Data Collection 或 Excel)中查看的多种输出。SPSS Statistics。节
9、点将数据导入 IBM SPSS Statistics 或从中导出数据,以及运行 SPSS Statistics 过程。随着对 SPSS Modeler 的熟悉,您也可以自定义供自己使用的选项板内容。可以使用“流”选项卡打开、重命名、保存和删除在会话中创建的流。“输出”选项卡中包含由 IBM SPSS Modeler 中的流操作生成的各类文件,如图形和表格。您可以显示、保存、重命名和关闭此选项上列出的表格、图形和报告。“模型”选项卡是管理器选项卡中功能最强大的选项卡。该选项卡中包含所有模型块,这些模型块包含针对当前会话在 SPSS Modeler 中生成的模型。这些模型可以直接从“模型”选项卡上
10、浏览或将其添加到工作区的流中。窗口右侧底部是工程工具,用于创建和管理数据挖掘工程(与数据挖掘任务相关的文件组)。有两种方式可查看您在 IBM SPSS Modeler 中创建的工程 - 类视图或 CRISP-DM 视图。依据“跨行业数据挖掘过程标准”,这一业内认可且无所属的方法理论,“CRISP-DM”选项卡提供了一种组织工程的方式。不论是有经验的数据挖掘人员还是新手,使用 CRISP-DM 工具都会使您事半功倍。“类”选项卡提供了一种在 SPSS Modeler 中按类别(即,按照所创建对象的类别)组织您工作的方式。此视图在获取数据、流、模型的详尽目录时十分有用。IBM SPSS Model
11、er 中最常见的鼠标用法如下所示:单击。使用鼠标左键或右键选择菜单选项,打开上下文相关菜单以及访问其他各种标准控件和选项。单击并按住按键可移动和拖动节点。双击。双击鼠标左键可将节点置于流工作区并编辑现有节点。中键单击。单击鼠标中键并拖动光标可在流工作区中连接节点。双击鼠标中键可断开某个节点的连接。如果没有三键鼠标,可在单击并拖动鼠标时通过按 Alt 键来模拟此功能。建模简介模型是一组规则、公式或方程式,可以用它们根据一组输入或变量来预测输出。例如,一家财务机构可根据对过往申请人的已知信息,使用模型预测贷款申请人可能存在优良还是不良风险。能够预测结果是预测性分析的中心目标,并且了解建模过程是使用
12、 IBM SPSS Modeler 的关键。本示例使用决策树模型,该模型使用一系列决策规则对记录进行分类(并预测响应),例如:如果收入 = 中等并且卡 “优良”本示例使用 CHAID(卡方自动交互效应检测)模型时,旨在进行常规的介绍,大部分概念会广泛应用于 SPSS Modeler 中的其他建模类型。无论要了解哪种模型,均需要首先了解进入该模型的数据。此示例中的数据包含有关银行客户的信息。其中使用了下列字段:字段名描述Credit_rating信用评价:0=不良,1=优良,9=丢失值年龄Age in years收入收入水平:1=低,2=中,3=高Credit_cards持有的信用卡数量:1=少
13、于五张,2=五张或更多教育教育程度:1=高中,2=大学Car_loans贷款的汽车数量:1=没有或一辆,2=超过两辆银行可维护一个包含银行贷款客户历史信息,包括这些客户是正在还贷(信用评价 = 优良)还是在拖欠贷款(信用评价 = 不良)的数据库。银行希望使用现有的数据建立一个模型,允许他们预测未来贷款申请人拖欠贷款的可能性。使用决策树模型,您可分析两组客户的特征,并预测拖欠贷款的可能性。本示例使用了名为modelingintro.str的流,该流位于streams子文件夹下的Demos文件夹中。数据文件是tree_credit.sav。请参阅 主题Demos 文件夹详细信息。我们来看一下流。从
14、主菜单中选择下列选项:文件 打开流单击“打开”对话框的工具栏上的金色模型块图标,然后选择 Demos 文件夹。双击streams文件夹。双击名为modelingintro.str的文件。构建流要构建流以创建模型,至少需要三个元素:一个从某些外部源读取数据的源节点,在本示例中为 IBM SPSS Statistics 数据文件。一个指定字段属性的源节点或“类型”节点,字段属性包括测量级别(字段包含的数据类型)以及每个字段在建模过程中的角色是目标还是输入等。一个在运行流时生成模型块的建模节点。在本例中,我们使用 CHAID 建模节点。CHAID,或卡方自动交互效应检测,是一种通过使用称作卡方统计量
15、的特定统计类型识别决策树中的最优分割来构建决策树的分类方法。如果在源节点中指定了测量级别,则可以去掉单独的“类型”节点。从功能上来说,结果是一样的。该流中还包含“表”节点和“分析”节点,创建模型块并将其添加到流中后,将使用这两个节点查看评分结果。Statistics 文件源节点从tree_credit.sav数据文件读取 SPSS Statistics 格式数据,该文件安装在Demos文件夹中。(名为$CLEO_DEMOS的特殊变量用于引用位于当前 IBM SPSS Modeler 安装下的该文件。这样,无论当前的安装文件夹或版本是什么,均可以确保路径有效。)类型节点指定每个字段的测量级别。测
16、量级别是一种指示字段中数据类型的类别。我们的源数据文件使用三种不同的测量级别。连续字段(例如年龄字段)包含连续的数字值,而名义字段(例如信用评价字段)有两个或多个不同值,例如不良、优良或无信用历史。有序字段(例如收入水平字段)用于描述具有顺序固定的不同值的数据,在本例中为低、中和高。对于每个字段,类型节点还指定角色,以指示每个字段在建模中扮演的部分。将字段信用评价的角色设置为目标,此字段指示指定的客户是否拖欠贷款。这是目标,或者是要预测其值的字段。对于其他字段,将角色设置为输入。输入字段有时也称为预测变量,或建模算法用其值来预测目标字段值的字段。CHAID 建模节点生成模型。在建模节点的“字段
17、”选项卡中,已选中使用预定义角色,这意味着将按在类型节点中的指定使用目标和输入。我们可以在此处更改字段角色,但本例中我们不做任何更改使用这些角色。单击“构建选项”选项卡。此处包含的选项可以用于指定要构建的模型类型。由于我们想要一个全新的模型,因此使用默认选项构建新模型。我们还要求它为单个标准决策树模型,并且不包含任何增强,因此保留默认目标选项构建单个树。我们可以选择启动允许对模型进行微调的交互建模会话,本示例只使用默认设置生成模型来生成模型对于此示例,我们希望保持树的结构简单,因此通过增加用于父节点和子节点的最小个案数限制树的增长。在“构建选项”选项卡上,从左侧的导航器窗格选择停止规则。选择使
18、用绝对值选项。将父分支中的最小记录数设置为 400。将子分支中的最小记录数设置为 200。在本例中,我们可以使用所有其他默认选项,因此单击运行以创建模型。(另外,也可以右键单击该节点,然后从上下文菜单中选择运行,或选择节点,并从“工具”菜单中选择运行。)浏览模型执行完成后,模型块将添加到应用程序窗口右上角的“模型”选项板中,它还会置于流工作区中,并带有指向创建它的建模节点的链接。要查看模型的详细信息,右键单击模型块并选择浏览(在模型选项板上)或编辑(在工作区上)。对于 CHAID 模型块,“模型”选项卡以规则集的形式显示详细信息,规则集实际上是可根据不同输入字段的值将各个记录分配给子节点的一组
19、规则。对于每个决策树终端节点-意味着那些树节点没有进一步拆分-返回优良或不良的预测值。对于落在该节点内的记录,所有个案中的预测均由模式或最常见的响应决定。在规则集的右侧,“模型”选项卡显示预测变量重要性图表,该图表显示评估模型时每个预测变量的相对重要性。通过这一点,我们看到收入水平在此个案中最显著,而其他唯一显著的因子是信用卡数量。模型块中的“查看器”选项卡以树的形式显示相同的模型,每个决策点上都有一个节点。可使用工具栏上的缩放控件放大特定节点,或缩小节点以查看更完整的树。查看树的上部分,第一个节点(节点 0)为我们提供数据集中所有记录的摘要。数据集中超过 40% 的个案分类为不良风险。这是相
20、当高的比例,因此让我们看看树是否能为我们提供哪些因子负责的任何线索。我们可以看到第一个分割是根据收入水平。收入水平位于低类别的记录被指定到节点 2,并且看到此类别包含贷款拖欠人的最高百分比不足为奇。我们可以很明显地了解,此类别中的客户具有高风险。但是,此类别中的 16% 客户实际上没有拖欠,因此预测并非始终准确。没有模型能够预测每一个响应,但好的模型能够根据可用数据预测对每一个记录作出的最常见的响应。同样,如果我们查看高收入客户(节点 1),我们看到绝大部分 (89%) 是优良风险。但是在这些客户中 10 位中有超过 1 位也会拖欠。我们能精炼自己的贷款标准以便将此处的风险最小化吗?注意模型如
21、何根据持有的信用卡数量,将这些客户分成两个子类别(节点 4 和节点 5)。对于高收入客户,如果我们只向那些信用卡少于 5 张的客户贷款,则可以将我们的成功率从 89% 提高到 97%-甚至更满意的结果。但中等收入类别(节点 3)中的那些客户是什么情况?他们更加均匀地划分为优良和不良评价。子类别(此情况中是节点 6 和 7)仍然能帮助我们。这次,只向那些信用卡少于 5 张的中等收入客户贷款,可将优良评价的百分比从 58% 提高到 85%,这是显著的改进。因此,我们了解到输入此模型的每项记录都将被分配到一个特定节点,并且根据该节点最常见的响应分配优良或不良的预测值。为各个记录分配预测值的这一过程称
22、为评分。通过对用于评估该模型的相同记录进行评分,可以评估该模型执行训练数据(我们知道结果的数据)的准确度。让我们看看如何做到这一点。评估模型我们浏览了模型以了解评分方式。但是,如果要评估模型的准确度,则需要对一些记录进行评分,并将模型预测的响应与实际结果进行比较。接下来对用于评估该模型的相同记录进行评分,以将观察到的响应与预测响应进行比较。要查看分数或预测值,请将表节点添加到模型块,然后双击“表”节点,并单击运行表在名为$R-Credit rating的字段中显示预测分数,该字段由模型创建。我们可以将这些值与包含实际响应的原始信用评价字段进行比较。按照惯例,在评分过程中生成的字段的名称基于目标
23、字段,但是要加上标准前缀,例如$R-表示预测值,$RC-表示置信度值。不同的模型类型使用不同的前缀集。置信度值是模型自己的评估,尺度从 0.0 到 1.0,表示每个预测值的精确程度。与预期的一样,预测值与大多数(并非全部)记录的实际响应相匹配。原因是每个 CHAID 终端节点均有混合响应。预期值与最常见的响应相匹配,但对于该节点中的其他响应,该预期值是错误的。(记住,16% 的少部分低收入客户没有拖欠。)若要避免出现此情况,应继续将树分割为更小的分支,直到每个节点都是不含混合响应的 100% 纯节点为止即全部为优良或不良。但是,这样的模型可能会非常复杂,并且不易推广到其他数据集。要查看具体有多
24、少预测值正确,我们可通读表格,并计算预测字段$R-Credit rating的值匹配信用评价的值的记录数量。幸运的是,这里有更简单的方式-我们可使用分析节点,它自动进行此项操作。将模型块连接到分析节点。双击“分析”节点,然后单击运行。分析表明,2464 个记录中有 1899 个记录(超过 77%)的模型预测值与实际响应相匹配。此结果受到评分的记录和用于评估模型的记录相同的事实的限制。在真实情况中,可使用分区节点将数据分割为培训和评估的单独示例。通过使用一个样本分区生成模型并使用另一个样本对模型进行检验,您会得到该模型推广到其他数据集的情况。通常分析节点,可以针对已知道其实际结果的记录来检验模型
25、。下一阶段介绍如何使用模型对我们不知道结果的记录进行评分。例如,这可能包括当前不是银行客户的人员,但他们是促销邮寄的潜在目标。对记录评分之前,我们对用于评估模型的相同记录进行了评分,以评价模型准确程度。现在,我们要查看如何对和用于创建模型不同的记录集进行评分。这是使用目标字段进行建模的目标:研究已知道其结果的记录,以标识您可以从中预测未知结果的模式。可以更新 Statistics 文件源节点,使它指向其他数据文件,也可以添加一个新的源节点,从它读取要评分的数据。无论采用哪种方式,新数据集包含的输入字段必须与模型(年龄、收入水平、教育等)所使用的相同,但不包含目标字段信用评价。另外,也可以将模型
26、块添加到包含预期的输入字段的任何流中。无论是读取文件还是数据库,只要字段名和类型与模型使用的相匹配,源类型都无关紧要。也可以将模型块保存为单独的文件、将模型导出为 PMML 格式以用于其他支持此格式的应用程序,或将模型存储到 IBM SPSS Collaboration and Deployment Services 存储库中,这样可以在企业范围对模型进行部署、评分和管理。无论使用何种基础结构,模型自身都按相同的方式工作。摘要本示例演示创建、评估模型以及对模型评分的基本步骤。建模节点通过研究已知道其结果的记录来评估模型,并创建模型块。这有时称为训练模型。可将模型块添加到包含预期字段的任何流中,
27、以对记录进行评分。通过对已知道其结果的记录(如现有客户)进行评分,可以评估模型的运行情况。如果您对模型的运行情况感到满意,则可以对新数据(如准客户)进行评分,以预测他们的响应。用于训练或评估模型的数据可以称为分析数据或历史数据;评分数据也可以称为操作数据。对客户响应建模(自动分类器)通过“自动分类器”节点,您可以为标志(例如某个客户是否很可能拖欠贷款或者是否会对特定的报价做出响应)或名义(集合)目标自动创建和比较大量的不同模型。在本例中,我们将查找标志(是或否)结果。在一个相对简单的流中,节点生成一组候选模型并对它们进行排序,选择最有效的模型,然后将它们合并为一个汇总(整体)模型。此方法将自动
28、化操作的方便性与组合多个模型的优势融为一体,从而产生任何单一模型所不能带来的更为准确的预测。本示例以某虚构的公司为例,该公司希望通过为每个客户提供最适用的报价以获取更丰厚的收益。本示例使用安装在streams目录下 Demo 文件夹中的流pm_binaryclassifier.str。所使用的数据文件为pm_customer_train1.sav。文件pm_customer_train1.sav的历史数据可跟踪过去的营销活动中为特定客户提供的报价,由campaign字段的值表示。Premium account活动中的记录数最大。campaign字段的值在数据中实际编码为整数(例如2 = Pre
29、mium account)。稍后,您可为这些值定义标签以用于给出更有意义的输出。此文件还包含一个响应字段,该字段表明所提供的报价是否被接受(0 =否,1 =是)。这将是您希望预测的目标字段或值。此外,其中还包括若干包含每位客户的相关人口统计和财务信息的字段。这些字段可用于构建或“训练”一个可基于类似收入、年龄或每月交易次数等特征预测单个用户或用户群响应率的模型。构建流添加指向pm_customer_train1.sav的 Statistics 文件源节点,该文件位于 IBM SPSS Modeler 安装程序的Demos文件夹中。(您可以在文件路径中指定$CLEO_DEMOS/作为引用此文件夹
30、的快捷方式。请注意,路径中必须使用正斜线而非反斜线,如上文所示。)添加类型节点,然后选择响应作为目标字段(“角色”为目标)。将此字段的“测量”设置为标志。对于以下字段,应将角色设置为无:customer_id、campaign、response_date、purchase、purchase_date、product_id、Rowid和X_random。当您构建模型时,将忽略这些字段。单击类型节点的读取值按钮以确保值获得实例化。从前文看出,我们的源数据包含有关四项不同活动的信息,每个活动针对不同类型的客户帐户。这些活动在数据中编码为整数,以方便记住每个整数所代表的帐户类型,让我们为每一个都定义标
31、签。在活动字段的行上,单击值列中的条目。从下拉列表选择指定。在标签列中,键入活动字段四个值中每个值所显示的标签。单击确定。现在您可在输出窗口中显示标签而非整数了。将表节点附加到类型节点。打开“表”节点,然后单击运行。在输出窗口上,单击显示字段和值标签工具栏按钮以显示标签。单击确定关闭输出窗口。尽管数据包含有关四项不同活动的信息,但每一次的分析应集中关注其中一项活动。由于 Premium account 活动(在数据中编码为campaign=2)中的记录数最大,因此可以使用选择节点实现仅在流中包含这些记录。生成和比较模型附加一个自动分类器节点,然后选择总体精确性作为对模型进行排序的度量。将要使用的模型数设置为 3。这意味着在执行节点时将构建三
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1