版权信息 书名:IBM SPSS Modeler 18.0数据挖掘权威指南
ISBN:978-7-115-50759-4
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
编 著 张浩彬 周伟珠
责任编辑 王峰松
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线: (010)81055410
反盗版热线: (010)81055315
内容提要 本书是一本以数据挖掘应用为主导,以SPSS Modeler为实践框架的应用指南,内容涵盖数据挖掘方法论、数据读取、数据处理、数据可视化、统计分析与检验、数据挖掘算法、自动建模、集成与扩展、模型部署以及性能优化等,力求帮助读者全面掌握数据挖掘项目的主要内容以及实践细节。除了操作层面,本书也尽可能地把专业晦涩的数据挖掘知识及商业应用内容以通俗易懂的方式传递给读者,同时所有场景会结合IBM SPSS工具进行实现并提供样例学习,方便读者在学习的同时加深巩固和理解。如果你是在校学生、刚刚从事数据分析的大学毕业生、数据分析爱好者、市场营销人员、产品运营人员或者数据分析师,如果你希望提升自己的数据挖掘技术,那么就适合阅读本书。
前言 当人民邮电出版社编辑王峰松找到我和伟珠时,问我们要不要写一本关于SPSS Modeler的图书,我当时还是有一些迟疑的。第一点迟疑是,我之前已经写了一本关于数据挖掘算法的图书,虽然关于SPSS Modeler的操作只占了其中100页左右的篇幅,但作为一本彩色印刷的算法图书,这真的不少了。第二点迟疑是,正是因为写过一本书,所以才知道写作的艰辛,尤其是这类和数学及工具应用密不可分的书籍。我问王编辑,为什么还要再写一本书?王编辑反问了我一句:“你第一本书是主要讨论算法的,那你觉得你在IBM作为SPSS 工程师的这段时间,关于SPSS Modeler的话已经说完了吗?”真是一个让人难以拒绝的反问,我内心有一个声音简直要脱口而出:“当然没有。”就这样,我和伟珠两个人就开始了这本书的写作,我们希望写一本“纯粹的SPSS Modeler工具书”。
不开玩笑地说,这本书在最开始写作的时候,名字就暂定为《IBM SPSS Modeler最强工具书》。当然,这么“土”的名字通过性也不大,倒是因为这个初衷,我和伟珠两个人吃了不少苦头,因为我们是真的想把这些年关于Modeler的使用经验和使用感悟都写下来,告诉每一个喜欢和使用这个工具的读者。还记得,本书第一稿写完的时候一共包括了23章,页数一度接近900页。
本书现在的名字叫《IBM SPSS Modeler 18.0数据挖掘权威指南》,是一本以数据挖掘应用为主导、以SPSS Modeler为实践框架的应用指南,内容涵盖数据挖掘方法论、数据读取、数据处理、数据可视化、统计分析与检验、数据挖掘算法、自动建模、集成与扩展、模型部署以及性能优化等,力求帮助读者全面掌握数据挖掘项目的主要内容以及实践细节。除了操作层面,本书也尽可能地把专业晦涩的数据挖掘知识及商业应用内容以通俗易懂的方式传递给读者,同时所有场景会结合IBM SPSS工具进行实现并提供样例学习,方便读者在学习的同时加深巩固和理解。简单来说,如果你是在校学生、刚刚从事数据分析的大学毕业生、数据分析爱好者、市场营销人员、产品运营人员或者数据分析师,如果你希望提升自己的数据挖掘技术,就适合阅读本书。
本书特色 本书第一个特色是“全”。作为一本“SPSS字典”,从本书结构来看,23章的内容中涵盖了数据挖掘方法论、数据读取、数据处理、数据可视化、统计分析与检验、数据挖掘算法、自动建模、集成与扩展、模型部署以及性能优化等,全面覆盖在数据挖掘项目中用户可能遇到的内容。
本书的第二个特色是“透”。本书的每一章内容,既包括理论的讲解,又涵盖应用的实践,而且在工具介绍上尽可能涵盖每一个选项的内容和应用形式,力求让读者“吃透”该章节的内容。
本书的第三个特色是“重实践”。从本书的内容上看,作为数据挖掘算法与工具操作相结合的图书,实践是少不了的。更进一步的是,本书每章都附有对应的实战技巧,每个实战技巧都是由我和伟珠两个人多年的应用经验总结而成。
致谢 感谢“探数寻理”的读者关注与支持。感谢IBM大中华区分析事业部刘咏梅、龙力辉、钟云飞、秦思等多位领导及同事的帮助和建议,是你们的大力支持让本书变得更加完善。感谢刘建平教授、陈光慧教授、朱斌董事长、梁勇总经理等多位书评作者,感谢你们能够在百忙之中抽出时间阅读书稿,并提出宝贵的意见和建议。感谢人民邮电出版社编辑王峰松的大力支持和辛勤工作,让本书能够顺利出版。
联系方式和电子资源 由于作者水平有限,本书难免会出现纰漏和不足之处,恳请各位读者批评指正。如果读者有任何意见和建议,欢迎在微信中搜索“wetalkdata”并关注“探数寻理”公众号,与本书作者进行互动和沟通。
读者可以通过关注公众号,回复“指南案例数据”获取本书所有章节对应的数据文件以及数据模型文件。
资源与支持 本书由异步社区出品,社区(https://www.epubit.com/)将为您提供相关资源和后续服务。
配套资源 本书提供如下资源:
要获得以上配套资源,请在异步社区本书页面中单击 ,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。
提交勘误 作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”标签,输入勘误信息,单击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
与我们联系 我们的联系邮箱是contact@epubit.com.cn。
如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。
如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
关于异步社区和异步图书 “异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。
“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、人工智能、软件测试、前端、网络技术等。
异步社区
微信服务号
第1章 IBM SPSS Modeler基本介绍 IBM SPSS Modeler(以下简称SPSS Modeler)是一款强大且易用的数据挖掘软件。它的设计遵循CRISP-DM方法论,在功能上能够覆盖整个数据挖掘生命周期的使用,不但内置丰富稳健的数据挖掘算法,而且提供了各种不同的数据处理方式以及多种生动的图形展现方式。
1.1 SPSS简介 SPSS最初称为“Statistical Package for the Social Sciences”,即社会科学统计软件包。1968年,SPSS由斯坦福3 个学生所开发,它是世界上最早的统计分析软件。在1984年,SPSS公司推出全球第一个统计分析软件微机版本(SPSS/PC+),并使其能很快地应用于自然科学、技术科学、社会科学的各个领域。之后在1999年,SPSS公司收购了Clementine产品线,并将其改名为SPSS Modeler。随着这次收购,以及SPSS产品能力和服务范围的扩展,SPSS公司将英文全称改为Statistical Product and Service Solutions,即统计产品与服务解决方案,这也标志着公司战略方向和产品设计的重大转型。在2009年,SPSS公司被IBM收购,而直到现在,IBM SPSS产品线下最主要的两款产品依然为IBM SPSS Statistics以及IBM SPSS Modeler,前者定位于为统计分析工具,后者则定位为数据挖掘工具。到2018年为止,IBM已经发布了SPSS Statistics 25.0以及SPSS Modeler 18.1.1。
由于写作期间,Modeler还没更新到18.1.1,而且目前来看18.1.1属于18.0的小版本更新,因此全书的操作实现均基于SPSS Modeler 18.0版本。
1.2 SPSS Modeler的特点 SPSS Modeler作为一款数据挖掘利器,它的优势(见图1-2-1)主要表现在4方面:专业性、易用性、扩展性以及高性能。
图1-2-1 SPSS Modeler的优势
1.专业性 (1)覆盖整个数据挖掘生命周期:SPSS Modeler提供数据处理、分析探索、模型创建、评估及部署整个数据挖掘流程功能。
(2)高效的数据处理:SPSS Modeler提供一系列数据处理功能,包括数据合并、导出、抽样、筛选和汇总等。当用户的连接数据源为数据库的时候,数据处理过程中生成的SQL可直接通过SQL Pushback技术将生成的SQL回推到数据库端运行,减少数据I/O处理时间,从而提高运行速率。
(3)丰富、稳健的数据挖掘模型:SPSS Modeler提供一系列高级数据挖掘技术,专为满足各种数据挖掘应用程序所需而设计,包括40种常用的分类算法、聚类算法和关联规则,其中有12种支持Spark基于内存计算。
2.易用性 (1)图形化操作界面:如图1-2-2所示,SPSS Modeler支持图形化界面、菜单驱动和拖拉式的操作。SPSS Modeler提供了数据源、记录处理、字段处理、图形、模型、输出和导出 7 大类节点,在数据挖掘过程中,只需要把相关节点通过鼠标拖拉的方式连接在一起即可完成整个过程,而无须任何编程操作。
图1-2-2 SPSS Modeler图形化操作界面
(2)自动建模算法:如图1-2-3所示,SPSS提供了自动分类、自动数值等自动建模节点帮助用户快捷便利地进行模型选择。例如,自动分类节点能够自动运行所有分类模型,按准确率和运行时间等指标排序,选择最优模型,同时也支持混合多个模型进行组合投票。
(3)便捷的参数调整:各个建模节点中都带有默认模式和专家模式。一般情况下,默认模式能够帮助初学者快速开始数据挖掘过程。而进一步的专家模式,则使得用户能够根据建模目标及实际业务数据特征等进行参数调整,如图1-2-4所示。
(4)丰富清晰的中文帮助文档:帮助文档提供了从数据挖掘整个过程点对点的详细说明及应用举例。同时帮助文档提供关键词搜索,可以获取需要的各种问题解答说明。
图1-2-3 SPSS Modeler自动建模算法
3.扩展性 (1)多种数据源的集成:SPSS Modeler支持与多种不同数据源的连接,支持传统关系型数据库(如Oracle、DB2和SQL Server等)、Hadoop分布式架构数据、分隔符隔开的文本文件和固定宽度的文本文件、SPSS Statistics文件、Excel等各种数据源。
图1-2-4 SPSS Modeler C5.0算法参数调整界面
(2)在开源工具上更好的扩展和支持:SPSS Modeler在开源技术上一直有很好的支持。SPSS Modeler 15版本开始集成R语言,SPSS Modeler 16版本开始集成Python,SPSS Modeler 17版本集成Spark。来到SPSS Modeler 18版本后,SPSS Modeler在集成上更进一步,以往在集成Python及Spark上需要SPSS Modeler Analytics Server组件的支持,现在能够直接在SPSS Modeler的客户端上集成Python,并且能够把相关的R语言代码/Python代码直接集成为一个建模节点,如图1-2-5所示。
(3)全新的扩展中心:除了通过在SPSS Modeler中嵌入相关的R/Python代码定制相关节点外,IBM公司也开发了更多的功能在GitHub上,现在用户可以直接在SPSS Modeler上下载应用相关的功能节点。新的扩展功能包括天气数据获取、GIS集成和地理空间应用等。SPSS Modeler的扩展中心如图1-2-6所示。
图1-2-5 Modeler用于扩展的定制对话框(R/Python的集成)
图1-2-6 SPSS Modeler扩展中心
4.高性能 作为一款功能强大的商业化软件,为满足用户对企业化生产环境及分布式计算的需求,SPSS Modeler提供了对应的服务器版本以及Analytics Server,通过Analytics Server可以直接连接Hadoop分布式数据源。同时,提供了多种可以在Hadoop上运行的算法,直接转换成Map Reduce或Spark在Hadoop上运行,从而大大提升计算性能。
1.3 CRISP-DM方法论 在实际的商业挖掘项目中,数据挖掘绝不仅仅是拿到一份数据后建立模型这么简单,要做好一个数据挖掘项目,需要将丰富的业务知识、高质量的数据以及科学的算法理论进行结合。更具体地说,它是一个从商业问题中来、到商业应用中去的过程,而在一个典型的商业数据挖掘项目过程中如何界定商业问题、怎么获取高质量数据、怎么完成对数据的清洗、如何建立合适的模型、怎么把模型结果应用到商业领域当中都是这个过程的核心要素。因此,为了能够在整个数据挖掘项目过程中更加专业化及标准化,SPSS Modeler遵循跨行业数据挖掘标准流程(Cross Industry Standard Process for Data Mining,CRISP-DM)方法论进行设计。
如图1-3-1所示,在CRISP-DM方法论中,它把一个数据挖掘项目划分为6个阶段:商业理解、数据理解、数据准备、建立模型、模型评估及结果部署。
图1-3-1 CRISP-DM方法论
1.商业理解 在数据收集及建立模型之前,应该先完成对商业目标的界定。在这个阶段,需要与相关业务及技术人员对数据挖掘目标的达成、对现有资源的评估及对计划的制定进行充分讨论。商业理解阶段是整个数据挖掘过程路线图的基础所在。在商业理解阶段,需要完成以下工作:
确定业务目标;
评估情况;
确定数据挖掘目标;
制定项目计划。
2.数据理解 在数据理解阶段,需要深入理解可用于数据挖掘项目的相关数据资源。只有完成对数据资源的充分掌握,才能避免在下一阶段(数据准备)中发生意外问题,因此可以利用表格、图形或统计指标对数据进行进一步的数据探索。在数据理解阶段,需要完成以下工作:
收集初始数据;
描述数据;
探索数据;
验证数据质量。
3.数据准备 在数据准备阶段,需要花费大量的时间对数据进行清洗,以保证在建模时具备高质量的数据基础。在实际的数据挖掘项目中,数据准备阶段的工作往往占整个项目工作的50%~70%。值得高兴的是,假如用户在商业理解及数据理解阶段投了足够多的精力,将能有效地减少在此阶段不必要的返工。在数据准备阶段,需要完成以下工作:
选择数据;
清理数据;
构建新数据;
集成数据;
格式化数据。
4.建立模型 建立模型是整个数据挖掘项目中的核心阶段,通过前面的数据准备,用户已经获得可用于数据建模的高质量数据,接下来就是通过构建合适的模型从数据中获得真正的洞察。在建立模型阶段,可能会需要进行多次迭代,以找到一个能够圆满解决商业问题的模型。在建立模型阶段,需要完成以下工作:
选择建模技术;
生成测试设计;
构建模型;
评估模型。
5.模型评估 模型评估是验证用户的工作是否获得成功的关键。在此阶段,除了需要对算法模型进行技术上的评估外,还需要根据在业务理解阶段设定的目标进行业务评估,以确保项目成果能满足实际的业务需求。在模型评估阶段,需要完成以下工作:
6.结果部署 结果部署是最终结果的运用过程。在此阶段,需要把在数据中获得的洞察应用到具体业务中,以求实现最终的商业价值。在结果部署阶段,需要完成以下工作:
指定部署计划;
计划监视和维护;
生成最终报告;
执行最终项目审核。
1.4 SPSS Modeler 下载与安装 SPSS Modeler的客户端支持Windows及Mac OS操作系统,SPSS Modeler服务器端支持Windows及Linux操作系统。考虑到数据挖掘过程中需要消耗大量的资源,IBM官方建议对应的系统配置内存应大于或等于4GB,并且至少有20GB的硬盘空间。
1.SPSS Modeler试用下载 步骤1: 首先登录IBM SPSS官方网站。在该官网上提供了SPSS Modeler的下载链接,并支持30天试用。链接地址为:
https://www.ibm.com/analytics/cn/zh/technology/spss/
步骤2: 在单击图1-4-1所示的“SPSS最新版本下载”按钮后,将弹出如图1-4-2所示的对话框。在此处,选择“SPSS Modeler免费试用”选项。如果用户此前没有注册过IBMid(IBM账号),那么在下载前会要求用户注册并登录。
图1-4-1 IBM SPSS官方网站下载界面
图1-4-2 下载SPSS Modeler 试用版
步骤3: 在选择“SPSS Modeler免费试用”选项后,将会来到IBM官网上的“产品与服务”页面,如图1-4-3所示。在此处,已经看到SPSS Modeler的试用已经被添加到个人管理页面,此时可以单击“下载”按钮。
图1-4-3 单击“下载”按钮进行下载
步骤4: 根据需要,选择对应的操作系统进行下载,如图1-4-4所示。下载完成后,即可开始进行安装。
图1-4-4 选择合适的版本下载
2.SPSS Modeler客户端的安装 安装介质下载后,双击安装程序,即可开始安装。
步骤1: 在安装介质下载后,双击安装程序,可以开始安装。在弹出的如图1-4-5所示的“安装前的说明”界面中,单击“下一步”按钮。
步骤2: 在弹出的如图1-4-6所示的“欢迎”界面中单击“下一步”按钮。
图1-4-5 SPSS Modeler 安装前说明
图1-4-6 “欢迎”界面
步骤3: 在弹出的如图1-4-7所示的“软件许可协议”界面,选择“我同意许可协议中的条款”单选按钮,然后单击“下一步”按钮。
步骤4: SPSS Modeler默认的安装目录是C:\Program Files\IBM\SPSS\Modeler\18.0,这里可以根据个人实际情况进行修改,然后单击“下一步”按钮,如图1-4-8所示。
图1-4-7 “软件许可协议”界面
图1-4-8 更换安装路径
步骤5: 在弹出的如图1-4-9所示的“已做好安装程序的准备”界面中单击“安装”按钮。
步骤6: 在弹出的如图1-4-10所示的界面中单击“完成”按钮即可。
图1-4-9 “已做好安装程序的准备”界面
图1-4-10 单击“完成”按钮完成安装过程
1.5 SPSS Modeler的主界面及基本操作 1.5.1 主界面介绍 启动SPSS Modeler,在弹出的操作界面中可看到SPSS Modeler的主界面非常简洁。事实上,SPSS Modeler的设计初衷就是能够尽可能屏蔽算法及编程的复杂性,希望让使用者能够把主要精力都聚焦于业务场景,以及如何选择合适的数据挖掘技术去解决当前的业务问题。
如图1-5-1所示,SPSS Modeler主界面可以分为4个区域:数据流构建区(又称作画布),节点区,流、输出和模型管理区,数据挖掘项目管理区。
图1-5-1 SPSS Modeler主界面
1.数据流构建区 数据流构建区是数据分析建模人员的主要工作区域,在SPSS Modeler中又称为画布。在节点区中,通过把一个个节点添加到数据流构建区,并把节点进行相互连接,最终组成一个完整的分析过程,这个过程称为“流”,即stream,因此SPSS Modeler保存的文件是以扩展名“.str”结尾的。图1-5-2展示了一个简单的数据分析流,该流一共由4个节点连接而成,分别是变量文件节点、类型节点、C5.0节点及分析节点。
图1-5-2 数据流构建区
2.节点区 如果说数据流构建区是分析师的“工作室”,那么节点区(见图1-5-3)就是构建数据流的“弹药室”了。数据流构建区中的所有节点均是从节点区中添加而来的,只需要在节点区中进行拖曳或者双击,即可完成节点的添加过程。
图1-5-3 节点区
在SPSS Modeler中,可以把所有节点分为3大类。
起始节点:起始节点是整个数据流的开端,一般用作数据读取。该类节点等同于实际类别的源节点,之前不能再连接其他节点。
中间节点:中间节点往往是数据挖掘过程的一个中间步骤,在它之前以及之后都可以连接其他类型的节点。
终端节点:终端节点代表了数据流的一个分支的结束。图形、输出、导出节点都属于终端节点,这类节点后面不能再接其他类型的节点。值得注意的是,一个数据流中可能包括多个结束分支。
在SPSS Modeler中,每一个节点都用来执行某一清晰而明确的过程。考虑到使用方便,SPSS Modeler在节点区中,进一步把所有节点划分为9大类节点以及收藏夹。
(1)源节点:属于起始节点。通过源节点,可以导入多种不同格式存储的数据文件,如可以通过数据库节点直接读取数据库数据,通过Excel节点导入扩展名为.xls或者.xlsx的文件数据,如图1-5-4所示。
图1-5-4 源节点选项卡
(2)记录选项节点:属于中间节点。记录选项节点提供了对数据进行记录级别的处理,即对数据从行的角度的处理,如图1-5-5所示。例如,要对包含100名男、女学生成绩记录的数据进行分析,可以使用“选择”节点帮助用户从100个包含记录当中选择其中的男性记录进行单独研究分析。
图1-5-5 记录选项节点选项卡
(3)字段选项节点:属于中间节点。字段选项节点提供了对数据进行字段层面的处理,即对数据从列的角度的处理,如图1-5-6所示。例如,要对包含100名学生成绩记录的数据进行分析,其中每名学生的成绩由语文、数学及英语成绩组成,可以使用“过滤器”节点只选择其中的语文成绩进行单独研究分析。
图1-5-6 字段选项节点选项卡
(4)图形节点:属于终端节点。在数据理解和数据准备阶段,经常需要使用图表对数据进行探索性分析。图形节点选项卡为用户提供了多种图形功能,如图1-5-7所示。在SPSS Modeler中,散点图、直方图和网络图等常用图形在图形节点选项卡中会有专门的节点来完成。考虑到图形比较多,SPSS Modeler还提供了“图形板”节点,可以根据用户选择的数据类型自动过滤出适用图形。
图1-5-7 图形节点选项卡
(5)建模节点:属于终端节点。建模节点选项卡为用户提供了各种机器学习和统计学的建模方法。通过这些建模方法,可以使用数据进行一系列的分析预测。值得注意的是,在SPSS Modeler中,建模节点属于终端节点,即在建模节点后面不再连接任何节点。在建模节点中,可以对具体的数据挖掘方法进行参数调整。一旦确认参数,可以运行该建模节点,运行结束后,会生成一个金黄色的“模型节点”,而该节点属于中间节点,可以供用户后续调用。在SPSS Modeler中,建模节点分为4大类:Analytic Server节点、分类节点、关联节点及细分节点(聚类),分别如图1-5-8~图1-5-11所示。
值得注意的是,在SPSS Modeler中,有3个自动节点,即自动分类器、自动数值及自动聚类。在该类型节点中,一个节点包含了多种类型算法,如自动分类器包含了所有的分类算法。自动节点可以在“全部”子选项卡中找到,通过自动节点,可以在一次建模中同时运行多个算法,如用户选择自动分类节点,则可以同时选择多个分类算法,并各自设置参数进行批量运行。
图1-5-8 Analytic Server节点
图1-5-9 分类节点
图1-5-10 关联节点
图1-5-11 细分节点
(6)输出节点:属于终端节点。输出节点选项卡为用户提供了多种用于获取数据或模型相关结果信息的方法,如表格、矩阵、交叉表、统计结果等,如图1-5-12所示。
图1-5-12 输出节点选项卡
(7)导出节点:属于终端节点。导出节点提供与源节点帮助用户读取数据相反的能力,使得用户能够把数据结果导出到各种格式的文件进行保存,如回写数据库和导出为Excel文件等,如图1-5-13所示。
导出节点与输出节点虽然名字类似,但是输出节点是用不同方式在SPSS Modeler上展示结果,而导出节点则是导出数据结果为文件进行保存。
图1-5-13 导出节点选项卡
(8)Statistics节点:对SPSS Modeler数据挖掘功能的补充。Statistics节点选项卡(见图1-5-14)的各种节点可以使得用户很方便地调用Statistics的相关统计分析功能。并且,对于高级用户来说,Statistics节点还提供了命令语法的方式以帮助用户进一步进行修改定制。(要使用该面板功能,需要有SPSS Statistics授权码授权。)
图1-5-14 Statistics节点选项卡
(9)Text Analytics节点:在安装SPSS Modeler Premium后,节点区将增加Text Analytics节点选项卡,如图1-5-15所示。Text Analytics节点提供了强大的文本分析功能,使用该节点可以帮助用户快速对非结构化的文本数据进行分析。
图1-5-15 Text Analytics节点选项卡
(10)收藏夹:在节点区还有一个“收藏夹”选项卡,如图1-5-16所示。在该选项卡下,可以放入常用的功能节点,以便日常使用。
图1-5-16 “收藏夹”选项卡
节点区的选项板内容可以根据需要进行修改。右键单击节点的空白区域,在弹出的快捷菜单中选择“管理选项板”选项(或者依次选择菜单栏中的“工具”→“管理选项板”命令),即可对节点区选项板进行定制。在选项板管理器中,用户可以修改收藏夹中的节点,可以调整每个选项卡的顺序,可以隐藏或新增某个选项卡,如图1-5-17所示。
图1-5-17 管理选项板
3.流、输出和模型管理区 在SPSS Modeler主界面的右上方有一个针对建模过程的管理区,包含“流”“输出”和“模型”选项卡,如图1-5-18所示。
(1)“流”选项卡:在“流”选项卡中,可以新建、打开、切换、保存及删除流,在同时打开多个流的情况下,在“流”选项卡进行切换是最方便的。
(2)“输出”选项卡:在运行流的过程中会输出多种结果,包括图片、表格等内容。在输出选项卡中,可以显示、重命名、删除及“另存为”结果。
(3)“模型”选项卡:流中建立的所有模型都将出现在“模型”选项卡中,可以通过该选项卡查看、重命名及保存模型。如果用户不小心在画布中把模型删除了,那么可以在模型管理区中直接把模型重新添加到流中,而不必重新生成。
图1-5-18 流、输出和模型管理区
4.数据挖掘项目管理区 在SPSS Modeler主界面的右下方就是数据挖掘项目管理区,如图1-5-19所示。数据挖掘项目管理区为用户提供了管理数据挖掘项目过程中的相关文件,还分别提供了CRISP-DM视图及类视图。
正如前面所提到的,SPSS Modeler的建模方法论依托于CRISP-DM方法论。在用户进行数据挖掘过程的各个阶段,可能都会有不同的项目文件。例如,在商业理解过程中,用户用Word文档的方式记录业务需求;在数据准备过程中,构建两个数据流用作数据清洗;在建立模型阶段,生成两个模型。通过这个项目管理区,用户就可以很方便地把相应的内容(无论是扩展名为.str的文件、模型和分析结果,还是Word文档)都归纳进来,对号入座。在每次开展或者继续项目的时候,就可以很容易地进行查看操作,非常方便分析人员进行管理。
当然,除了CRISP-DM视图,也可以按照创建对象的类别把上述内容分别放到类视图当中。
图1-5-19 项目管理区
1.5.2 鼠标基本操作 作为一款以图形化界面为主的数据挖掘工具,在使用SPSS Modeler的过程中,鼠标操作占到了总操作数的70%以上。因此,以日常使用的鼠标为例,介绍一些典型功能。
(1)左键:用于节点选择,按住此键可以将节点进行拖动。
(2)右键:用于调出快捷菜单,快捷菜单中包含一系列(诸如连接、编辑、复制和删除等)选项。
(3)滚轮:按住此滚轮并移动鼠标可以实现节点间连接。
1.6 SPSS Modeler连接服务器端 步骤1: 打开SPSS Modeler后,单击界面左下角的“服务器:本地服务器”,如图1-6-1所示。
步骤2: 在弹出的“服务器登录”对话框中,单击“添加...”按钮,如图1-6-2所示。
步骤3: 在弹出的“服务器登录:添加/编辑服务器”对话框中输入SPSS Modeler的服务器信息后,单击“确定”按钮,如图1-6-3所示。
图1-6-1 单击“服务器:本地服务器”
图1-6-2 添加服务器
图1-6-3 添加/编辑服务器登录信息
步骤4: 回到“服务器登录”对话框,此时看到SPSS Modeler已经添加了新的服务器,这时选择新的服务器,并在下方“设置凭证”区域填写相关用户标识和密码信息(注:该用户标识和密码为服务器的登录账号和密码),填写完成后,单击“确定”按钮即可完成登录,如图1-6-4所示。
步骤5: 返回SPSS Modeler主界面,若主界面左下角显示如图1-6-5所示的信息,说明登录成功。
图1-6-4 设置凭证
图1-6-5 显示服务器登录信息
1.7 从SPSS Modeler中获取帮助 在前面SPSS Modeler的易用性相关介绍中,提到SPSS Modeler提供了详尽且清晰的帮助文档。当用户在使用SPSS Modeler的过程中,可以通过两种方式获取帮助:从帮助主题中调出所有帮助文档;通过节点中的“帮助”按钮,自动定位帮助。
1.帮助主题 可以通过SPSS Modeler主界面菜单栏中的“帮助”→“帮助主题”命令调出SPSS Modeler的帮助文档系统,如图1-7-1所示。
图1-7-1 帮助主题
然后,将会在浏览器中显示所有帮助文件,如图1-7-2所示。帮助文件介绍如下。
图1-7-2 帮助文件浏览
SPSS Modeler CRISP-DM指南:CRISP-DM是一种业界认可的用于指导数据挖掘工作的方法。该文档记录了CRISP-DM方法论的详细内容,并以案例的形式具体阐述 CRISP-DM中每一步应该注意的内容。
SPSS Modeler Entity Analytics帮助:Entity Analytics,即实体分析,是SPSS Modeler Premium版本中的高级功能,该文档详细介绍了应该如何使用实体分析来识别身份的一致性及连贯性。
SPSS Modeler Text Analytics帮助:Text Analytics,即文本分析,是SPSS Modeler Premium版本中的高级功能,该文档详细介绍了该如何使用文本挖掘功能来对非结构化的文本数据进行分析。
SPSS Modeler帮助:SPSS Modeler中最重要的帮助文档之一。该文档详细介绍了Modeler中的基本设置以及Modeler中每个节点的参数说明,更像是对每个功能的详细说明和讲解。
SPSS Modeler教程:SPSS Modeler中最重要的帮助文档之一。该文档详细介绍了Modeler中自带的Demo文件中的示例流,包括案例的数据文件、数据说明、流文件和操作说明。
SPSS Modeler扩展:R及Python的扩展功能说明文档。
SPSS Modeler社交网络分析用户指南:社交网络分析,是SPSS Modeler Premium版本中的高级功能,该文档详细介绍了应该如何使用SNA节点完成数据的组分析及传播分析。
2.通过节点自动定位帮助 通过“帮助”菜单查看帮助确实能够在更大范围内找到所需的资料,但是有时用户面对的是非常具体的节点参数问题,通过菜单查找就显得有些费劲了。
假设在使用Excel源节点的过程中对于“对于空行”选项不太了解,可以单击右上方的 按钮,如图1-7-3所示,SPSS Modeler将根据用户跳转的节点自动跳转到帮助文档的相应区域。
图1-7-3 关于Excel源节点帮助的使用按钮
通过定位的帮助,我们就可以知道“对于空行”的选项是指对于数据读取过程中遇到空行的处理方式,如图1-7-4所示。在“对于空行”下拉列表框中选择“停止读取”选项时,SPSS Modeler在遇到空行后,将在空行处结束;选择“返回空白行”时,SPSS Modeler在遇到空行后依然会检索后面的数据,其中的空白行将以“$null$”显示。
图1-7-4 空行处理的“帮助”说明
1.8 实战技巧 本章的实战技巧主要是针对整体配置上的技巧,具体内容包括以下几项。
1.提高使用内存,增强数据处理能力 考虑到计算资源有限,SPSS Modeler默认通过限制其进程的最大内存使用量以减少计算机的资源消耗,但有时在建模过程中我们会遇到数据量比较大或者模型比较复杂的情形,如果还是按照默认配置,就可能会导致SPSS Modeler 报出“内存不足”的错误。
事实上,如果需要处理的数据量比较大,那么可以重新指定最大内存使用量来避免报错。系统默认使用的最大内存为1024MB,如果需要更改,那么可在菜单栏中依次选择“工具”→“选项”→“系统选项”命令,在弹出的如图1-8-1所示的“系统选项”对话框中可以设置SPSS Modeler的最大使用内存。当在针对大量数据进行建模时,这样设置能够提高运算速度。
图1-8-1 系统选项
2.使用缓存,提高操作效率 在实际构建一个数据流的时候,不仅需要加入很多不同的节点,并且由于数据挖掘是一个不断探索的过程,因此也需要用户不断地重复进行测试验证,如果每次测试的时候都需要从数据源节点开始运行就会耗费大量的时间。试想一下,一个包含了 100 个节点的数据流现在需要调整测试第99个节点中的参数,如果每次只是修改该节点的一个参数,但是却要从起始节点开始运行,这就会耗费大量不必要的时间。
为了避免这种情况的出现,SPSS Modeler提供了节点的缓存功能。只要用户在某个节点中选择启用缓存,SPSS Modeler就会把到该节点为止的结果保留在内存中,以后再执行数据流将直接从该节点之后开始执行,大大提高了效率。要对某个节点启用缓存的话,可以右键单击需要缓存的节点,然后在弹出的快捷菜单中依次选择“缓存”→“启用”命令,如图1-8-2所示。启用缓存后,节点右上方会出现一个标记。
图1-8-2 启用缓存
启用缓存并执行后,节点右上方标记变为绿色,表示相应的结果已经生成临时文件并保存。值得注意的是,当位于缓存节点之前的节点发生改变或者关闭SPSS Modeler后,缓存也会消失。如果用户想在关闭以后继续使用,就可以在右键快捷菜单中选择“缓存”→“保存缓存”命令,SPSS Modeler会生成文件并保存在指定位置,下次使用的时候只需要在同样的节点中单击右键,在弹出的快捷菜单中选择“缓存”→“加载缓存”命令即可继续使用,如图1-8-3所示。
图1-8-3 加载缓存
3.使用超节点,模型流更加简洁、清晰 一个数据流中往往包含很多节点。图1-8-4展示的就是一个流失分析数据挖掘项目中的“数据处理流”。这时可以看到大量的节点分布在整个版面上,显得比较凌乱,而且大量的节点也不容易很快地分辨出每个节点的用途。
图1-8-4 节点过多
为避免出现主界面布局混乱、流程不清的情况,可以使用超节点帮助用户对界面进行简化。超节点通过封装数据流中的某个部分,将多个节点封装为一个节点,不但可以使整个流变得更加简洁和清晰,而且直接将超节点复制导出将能更方便地重复使用。
如图1-8-5所示,选中要封装的节点,右键单击,在弹出的快捷菜单中选择“创建超节点”命令,或者直接单击工具栏中的“创建超节点”图标,即可创建超节点。
图1-8-5 简洁的“超节点”界面
经过超节点的封装,这个数据流变得更加简洁和清晰了。一般来说,用户可以把实现功能相对一致的节点进行封装。另外,对节点进行封装后,如果要查看超节点的具体内容,可以右键单击超节点,在弹出的快捷菜单中选择“放大”命令,将进入超节点内部查看具体细节,如图1-8-6所示;选择“展开”选项,会拆开超节点,恢复原来的状态。
图1-8-6 放大超节点——查看细节
4.使用注释——更好地理解数据流,方便共享 有时候,用户可能需要在建立模型后与别人进行分享,或者建模完成的一段时间后对模型进行回顾。在整个流比较复杂的情况下,由于大量的节点承担了不同的工作,即使使用超节点将整个数据流变得更加直观与清晰,建模工程师往往事后也需要大量时间才能回顾整个建模逻辑。
因此,为了更好地对流进行共享及回顾,用户可以使用注释功能,如图1-8-7所示。要对某一个或多个节点添加注释,只需要选中某个需要的节点,右键单击,然后在弹出的快捷菜单中选择“新注释”命令即可生成并进行编辑,同时可根据需要随意改变注释的位置。
图1-8-7 节点的注释
第2章 数据读取——源节点 2.1 数据的身份(存储类型、测量级别和角色) 变量也被称为属性或者字段,是对于一个对象的抽象描述。在数据挖掘过程中,每一条记录可以看成一个对象。例如,在学生的信息记录表中,学生A就是一个对象,有身高、体重这些属性。一条记录可以用一个或多个变量进行描述。具体而言,一个变量可以有 3个角度的划分:存储类型、测量级别和角色。
2.1.1 变量的存储类型 变量的存储类型表示了其在计算机中的存储方式,不同存储类型所需要的字节数并不相同,一般来说,常用的数据存储类型有3种:数值型、字符型和时间日期型。在SPSS Modeler中,变量的存储类型在通过源节点导入后会自动确定,当然,用户可以在后续的数据操作过程中进行更改。SPSS Modeler对变量存储类型划分得更为细致,具体如下。
整数型:值为整数的字段,如“1,2,3,4”。
实数型:值为包含小数(不限于整数)的字段,如“1.2,2.5,3.7”。
字符串型:值为由数字、字母、下划线组成的一串字符,如“A,B,C1,Level2”。对于纯数字的字段,SPSS Modeler会将其自动识别为整数型或实数型,不过可以在数据处理中更改为字符型。需要注意的是,即使是纯数字的字符串,在SPSS Modeler中也不能将其用于计算。
日期型:值为标准日期格式的数据,如2017-01-01。在SPSS Modeler中,日期的标准格式可以有多种,具体可以在“类型”节点中的日期格式中进行设置。
时间戳型:值为标准时间戳格式的数据,如00:00:00。在SPSS Modeler中,时间戳的标准格式可以有多种,具体可以在“类型”节点中的时间格式进行设置。
时间型:值为表示持续时间的数据,如00:00:10。在格式上与时间戳型非常相似,10:20:30如果存储为时间型,则表示时间持续了10小时20分钟30秒钟;如果表示为时间戳型,则表示是早上10点20分30秒。
列表型:值为表示单个记录中包含多个值。列表型是在SPSS Modeler 17.0版本中随着“地理空间”和“集合”两种新的测量级别而新加入的存储类型,如坐标[2,3]。
SPSS Modeler存储类型图标如表2-1-1所示。
表2-1-1 SPSS Modeler存储类型图标
存储类型
Modeler存储类型标识
整数型
实数型
字符串型
日期型
时间戳型
时间型
列表型
2.1.2 变量的测量级别 变量的存储类型往往只是表明它在计算机中的存储格式,而在数据挖掘过程中,用户往往需要更有业务含义的方式进行表达,因此,接下来,需要理解变量的测量级别。简单来说,变量的测量级别可以划分为数值型变量及分类型变量,而SPSS Modeler相对而言也会划分得更为细致,具体如下。
默认型:当变量的类型为未知时,将被设为默认型。
连续型:用于描述年龄、收入、销量等数值型变量。
分类型:当变量的存储类型为字符串型,但取值范围未知时,则显示为分类型。当取值范围已知的情况下,分类型将被进一步确定为标记型,名义型或者有序型;
标记型:用于描述具有两个不同标记的变量类型,如性别分为男和女。
名义型:用于描述具有多个不同标记的变量类型,如婚姻状况分为已婚、单身和离异。
有序型:用于描述具有多个不同标记的变量类型,并且这些变量存在固有的顺序,如血压水平分为低、中和高。注意,该顺序由数据元素的自然排序决定。例如,1、3、5是整数集的默认排序,而 high(高)、medium(中)、low(低)(按字母升序排列)是字符串值的顺序。因此,当字段定义为有序时,需确保该字段的类别排序正确。
地理空间型:地理空间型的数据使用的是“列表”存储类型。值得注意的是,列表是具有深度的,深度范围介于0与2之间。如深度为0的列表[2,3],深度为1的列表[[2,3],[5,8]]。
集合型:集合实际上是深度为零的列表字段。
无类型:不与以上任何度量级别相符的数据将被设为无类型。当选择了无类型作为一个字段的度量级别时,字段的角色会自动设置成“无”,这将意味着该字段不再用于建模。
变量的测量级别对应图标如表2-1-2所示。
表2-1-2 变量的测量级别对应图标
测量级别类型
测量级别标识
默认型
连续型
标记型
名义型
有序型
分类型
集合型
地理空间型
无类型
2.1.3 变量的角色 在确认好变量的测量级别后,还需要指定该变量的用法,如在建模阶段中,该变量是预测变量还是输入自变量。
在SPSS Modeler中,可以设定的角色包括以下几项。
输入: 该字段用作机器学习算法的输入,也称作自变量。
目标: 该字段作为机器学习算法的输出,也称作因变量。
任意: 该字段既是输入也是目标的角色,只适用于关联规则算法,其他算法节点将忽略设置为任意的字段。
无: 机器学习算法将忽略被设置为无的字段。
分区: 该字段用于标识数据是属于训练集还是测试集。在数据挖掘过程中,往往需要将数据集划分成 2 个或者 3 个独立的样本集,以便用于训练、测试和验证。该字段只能具有 2 个或 3 个可能值,第一个值表示训练样本,第二个值表示测试样本,第三个值表示验证样本。
拆分: 仅分类(标志、名义、有序)字段能够被设置为拆分。指定为拆分,那么SPSS Modeler将为该字段的每个可能值建立一个模型。例如,把性别设定为拆分,则机器学习算法将分别针对男性样本及女性样本分别建立模型。
频率: 仅数值字段能被设置为频率,并且应为正整数。设置频率角色后,该字段将被用作记录的频率权重因子。线性模型、C&R树、CHAID和QUEST支持该功能。
记录标识: 即记录的ID,该字段将用作唯一的记录标识作为样本标识之用。一旦某字段被设为记录标识,除了受线性模型支持,绝大部分其他算法节点都将忽略该字段。
2.2 数据读取 商业理解是数据项目的第一步,数据读取则是用户开始操作的第一步。SPSS Modeler在“源节点”选项卡下提供了上十个不同的源节点,帮助用户导入各种存储格式的数据文件,这里面包括了常用的Excel文件、变量文件、Statistics(.sav)文件、数据库等。
SPSS Modeler本身已经提供了足够多的案例,本书将尽可能沿用软件自带的数据文件。如果用户在安装的时候使用的是默认路径,应该可以在如下目录中找到Demo文件夹:C:\Program Files\IBM\SPSS\Modeler\18.0\Demos。
本章示例可以参考本书附带的案例文件“C2_数据读取.str”。
2.2.1 读取Excel文件数据 Excel格式文件是常用的数据存储格式,用户可以使用Excel源节点从Microsoft Excel中读取数据,Excel源节点支持.xls以及.xlsx两种数据格式。
在SPSS Modeler Demos目录下,有一份名为“bank_customer_data.xlsx”的Excel数据文件。该数据文件记录了2000名银行客户的基本信息,现在使用Excel源节点对这份数据进行读取。在节点区中的源节点选项卡找到Excel节点,并将其添加到数据流构建区中。双击打开节点,可以看到Excel源节点中包括“数据”“过滤器”“类型”以及“注解”选项卡。
1.“数据”选项卡 一般来说,在源节点中,数据读取的大部分操作基本都在“数据”选项卡中完成,通过Excel源节点读取“bank_customer_data.xlsx”数据,具体设置如图2-2-1所示。
图2-2-1 Excel节点-“数据”选项卡
文件类型:选择读取的Excel文件类型,包括.xls及.xlsx两种格式。
导入文件:选择需要导入Excel文件的路径地址和名称。
使用指定的范围:如果在Excel文件中定义了范围,那么可以通过此选项来选择Excel工作簿中特定的命名工作范围。一旦选择了此项,将禁用下面的“选择工作表”及“工作表范围”功能。
选择工作表:若Excel文件中包括多Excel工作表,则可以通过“按索引”或者“按名称”来指定需要读取的工作表。
工作表范围:选中需要的工作表,用户也能进一步指定工作表的数据读取范围。一般可以选取“范围从第一个非空行开始”;当然,用户也可以在“单元格的显示范围”中指定范围,第一个数值为指定范围的左上角单元格地址,第二个数值应为指定范围的右下角单元格地址,如“a1,c10”则是选中工作表前3列的10行数据记录;特别地,如果用户使用的是SPSS Modeler的旧版本,请确保使用大写方式输入位置,例如 A3 和 E6,否则将无法识别。在新版本中,大小写均没有问题。
对于空行:读取数据过程中,遇到空行的处理方式。选择“停止读取”时,SPSS Modeler在遇到空行后,将在空行处结束。选择“返回空白行”时,SPSS Modeler在遇到空行后依然会检索后面的数据,其中空白行将以$null$显示。
第一行存在列名称:选中后,SPSS Modeler将以第一行的内容作为列名称。如果没有选中此项,SPSS Modeler会自动对每列赋予变量名,如C1、C2。
2.“过滤器”选项卡 如图2-2-2所示,“过滤器”选项卡提供了与过滤器节点相同的功能,一般来说,用户可以在“过滤器”选项卡中实现对字段的移除及字段的重命名。有关“过滤器”选项卡或过滤器节点的进一步详细介绍,可以参考3.2节。
图2-2-2 Excel源节点-“过滤”选项卡
3.“类型”选项卡 如图2-2-3所示,“类型”选项卡提供了与类型节点相同的功能,一般来说,用户可以在“类型”选项卡中实现对字段测量级别以及字段角色的定义。有关“类型”选项卡或“类型”节点的进一步介绍,可以参考3.1节。
4.“注解”选项卡 如图2-2-4所示,“注解”选项卡可以为节点添加必要的注解及关键字。前面谈到,数据挖掘过程中,需要多个节点组成一个完整的数据挖掘流。考虑到有些类型的节点会被重复使用以及未来团队合作的需求,为主要的节点添加适当的注解是十分必要的。考虑到每个节点的“注解”选项卡基本一致,因此后续其他节点的“注解”选项卡也不再介绍。
Excel源节点的“注解”选项卡具体选项说明如下。
名称:指定该节点的命名。默认情况下,由SPSS Modeler自动命名,在此处,将其命名为“银行客户数据”。
工具提示文本:创建提示文本,在数据流构建区中,当用户把鼠标移到该节点时,将会自动显示出工具提示文字。
关键字:用于对节点搜索中的关键字识别,每个关键字间用“;”相隔。
说明文本:空白卡用于对节点进行详细的文字说明。
如图2-2-5所示,对该Excel源节点进行设置后,用户可以在数据流构建区中看到对应的注解结果。
图2-2-3 Excel源节点-“类型”选项卡
图2-2-4 Excel源节点-“注解”选项卡
图2-2-5 节点注解结果提示
2.2.2 读取变量文件数据 除了使用Excel格式文件进行数据存储,也经常使用扩展名为.txt及.csv等格式的自由字段文本文件进行数据存储和交换。在自由字段文本文件中,用户应保证每一行记录都包含同样数量的字段数。在SPSS Modeler中,可以使用“变量文件”节点从这些自由字段文本文件中读取数据。
在SPSS Modeler Demos目录下,有一份名为“DRUG1n”的数据文件,该数据文件记录了200名患有同种疾病的病人身体情况以及对应的有效治疗用药。
在节点区中的“源”节点选项卡找到“变量文件”节点,并将其添加到数据流构建区当中。双击打开节点,可以看到“变量文件”源节点中包括“文件”“数据”“过滤器”“类型”以及“注解”选项卡。由于“过滤器”“类型”以及“注解”选项卡与前面介绍的类似,这里不再复述,后面章节同样如此。
1.“文件”选项卡 如图2-2-6所示,与Excel节点不同,在“变量文件”节点中,使用“文件”选项卡设定读取方式及读取内容。
图2-2-6 “变量文件”节点-“文件”选项卡
文件:选择导入文件的路径地址及文件名。
从文件中读取字段名:默认为选中状态。选中后,SPSS Modeler将以第一行的内容作为列名称。如果没有选中此项,SPSS Modeler会自动对每列赋予变量名,如field1、field2。
指定字段数:默认情况下,SPSS Modeler能够根据换行情况来自动匹配字段的数量;但是在此处,用户也能手动指定每个记录中的字段数量。
跳过标题字符:指定忽略第一个记录前的多少个起始字符。
EOL注解字符:指定注释字符。在指定注释字符后,如#或!,则该字符后,直到新的一行记录前的所有字符都将被标识为注释,这些注释内容将在读取时被忽略。
无效字符:选择对无效字符的处理方式,包括丢弃或替换为指定的内容。在此处,无效字符为空字符或指定的编码方法中不存在字符。
编码:选择文本的编码格式,包括系统缺省值、流缺省值和UTF-8。
小数符号:指定文本中的小数符号,包括流缺省值、句号“.”和逗号“,”。
行定界符是换行字符:把换行符作为新的记录换行,而非作为字段分隔的识别。
列和类型的扫描行数:为确定数据类型,指定SPSS Modeler需要扫描的行数和列数。
自动识别日期和时间:选中此项,SPSS Modeler尝试将类似01-01-2017之类的数据识别为日期。
将方括号作为列表处理:选中此项,SPSS Modeler将把方括号的所有内容识别为一个值,而不管方括号中是否已有逗号作为分隔符。一般对于地理空间类型数据,可以选中此项。
字段定界符:复选框组,用于指定字符作为字段的分隔,默认包括“换行字符”及“逗号”,当然可以在此处指定用户需要的定界符。
引号:选择对单引号或双引号的处理方式,选择“丢弃”则直接丢弃引号,“成对丢弃”则需匹配一对引号再进行丢弃(如果引号不匹配将会报错),“包含为文本”则是把引号以及里面的内容都作为内容进行读取。
2.“数据”选项卡 如图2-2-7所示,“变量文件”的“数据”选项卡与其他节点的“数据”选项卡略有不同,在此处,用户可以修改变量的存储类型和输入格式。
图2-2-7 “变量文件”节点-“数据”选项卡
一般来说,从源节点读取数据后,SPSS Modeler将自动确认数据的存储格式。但是对于“固定文件”节点、“变量文件”节点、“XML”节点和“用户输入”节点,SPSS Modeler额外提供了“数据”选项卡,可以对其变量指定存储类型。
要对指定的变量更改存储方式,可以在“覆盖”一列上进行打钩,之后在“存储”中选择指定的存储类型即可。对于Excel节点、“Statistics文件”节点,尽管没有直接提供更改存储类型的方式,但是用户可以在导出节点中使用转换函数(如 to_integer)进行转换。
3.“过滤器”“类型”和“注解”选项卡 变量文件的“过滤器”“类型”和“注解”选项卡分别如图2-2-8~图2-2-10所示,基本设置与Excel节点相同,这里不再详述。
图2-2-8 “变量文件”节点-“过滤器”选项卡
图2-2-9 “变量文件”节点-“类型”选项卡
图2-2-10 “变量文件”节点-“注解”选项卡
2.2.3 读取SPSS(.sav)文件数据 作为专业的数据分析及数据挖掘软件,SPSS也有其专有的数据文件格式,其扩展名为.sav。相比于普通格式的文件,.sav文件中除了是一张数据表格外,它还带有对每个变量属性的进一步描述,包括名称、类型、宽度、小数位数、标签、值、缺失等。图2-2-11所示为.sav文件在SPSS Statistics中的变量视图。
图2-2-11 SPSS Statistics中的变量视图
在SPSS Modeler Demos目录下,有一份名为“telco.sav”的SPSS数据文件。该数据文件记录了1000名电信客户登记,现在使用Statistics文件源节点对这份数据进行读取。在节点区中的“源”节点选项卡找到“Statistics文件”节点,并将其添加到数据流构建区当中。双击打开节点,可以看到“Statistics文件”源节点中包括“数据”“过滤器”“类型”以及“注解”选项卡。
1.“数据”选项卡(见图2-2-12) 作为SPSS的标准数据文件,对.sav文件的读取不需要进行太多的设置,一般来说只需要设置好文件路径即可。
导入文件:选择需要导入Statistics文件的路径地址和名称。
文件经过密码加密:作为SPSS的专有格式,.sav文件支持加密功能。如果读取的Statistics文件受到密码保护,就需要在此处输入密码。同样地,用户也可以在SPSS Modeler中导出sav文件,并对其进行加密。
变量名:在标准的Statistics文件中,包含了对变量名和对应值的说明,这些说明被称作标签。例如,对于该数据文件的第2个变量“任职时间”,名称为“tenure”,对应的标签为“Months with service”。如果选择“读取名称和标签”,那么“tenure”将作为变量名,标签依然作为标签;如果选择“读取标签作为名称”,那么“Months with service”将作为变量名。
值:与变量名同理,例如对于该数据文件的第7个变量“ed”,其变量对应的值分别为“1,2,3,4,5”,对应的标签分别为“Did not complete high school”“High school degree”“Some college”“College degree”以及“Post-undergraduate degree”。如果选择“读取数据和标签”,那么“1,2,3,4,5”将作为变量取值,标签依然作为标签。如果选择“读取标签作为数据”,那么“Did not complete high school”等标签将作为变量取值。
图2-2-12 Statistics文件节点-“数据”选项卡
使用字段格式信息确定存储类型:此复选框主要是针对整数的处理方式。如果在.sav文件中,某个字段已经被定义为整数格式,例如变量“ed”,其取值分别为“1,2,3,4,5”,那么选中此复选框,由于该字段已被定义为整数存储,因此SPSS Modeler将使用整数存储导入。如果取消此复选框,那么除字符串外的所有数值将使用实数存储导入。
2.“过滤器”“类型”和“注解”选项卡 “Statistics文件”节点的“过滤器”“类型”和“注解”选项卡分别如图2-2-13~图2-2-15所示,基本设置与Excel节点类似,这里不再详述。
图2-2-13 “Statistics文件”节点-“过滤器”选项卡
图2-2-14 “Statistics文件”节点-“类型”选项卡
图2-2-15 “Statistics文件”节点-“注解”选项卡
3.标签提示 前面提到,在读取.sav数据的时候会读取变量名和变量取值,也会读取变量标签以及变量取值的标签。当用户把数据输出到屏幕时,只需要把鼠标放到对应的变量或变量取值区域,将会直接显示标签的提示文字,如图2-2-16~图2-2-17所示。
考虑到使用方便,无论选择读取实际数据还是标签,在SPSS Modeler 的输出节点中,只要把鼠标放在对应的数值区域,就都会在该值的旁边显示对应的标签文字。
图2-2-16 .sav文件的变量标签
图2-2-17 .sav文件的值标签
2.2.4 读取数据库数据 利用数据库数据进行分析挖掘应该是实际工作中最常见的做法。尽管数据库的种类繁多,但都能通过ODBC(Open Database Connectivity,开放数据库连接)进行互访。在SPSS Modeler中,相比于前面谈到的Excel、变量文件等数据,用户要访问数据库则需要两个主要阶段:定义ODBC数据源,通过ODBC数据源访问数据库。
由于SPSS Modeler的Demo数据中并未包含数据库文件,因此用户可以使用本书附带的数据文件“1995-2014GDP_data.mdb”。该数据文件记录了我国1995~2014年国内生产总值相关情况。
1.定义ODBC数据源 在Windows操作系统中,系统自带有Microsoft Access Driver以及Microsoft SQL Server的ODBC驱动程序,因此当用户需要访问Access或SQL Server时只需要直接在ODBC数据源管理器中定义即可。当用户需要访问其他数据库时,例如Oracle数据库,需要额外安装对应的ODBC驱动程序。尤其是考虑到使用方便,IBM SPSS 官方插件IBM® SPSS® Data Access Pack打包集成了常用数据库的ODBC驱动程序。
步骤1: 依照操作开始定义ODBC数据源。打开控制面板,依次双击选择管理工具→ODBC数据源。在打开的ODBC数据源管理器界面中找到“系统DSN”标签并单击,如图2-2-18所示,单击“添加”按钮。
步骤2: 在弹出的创建新数据源窗口中,选择对应的数据库驱动程序,在本例中选择“Microsoft Access Driver(*.mdb,*.accdb)”,如图2-2-19所示。
步骤3: 双击选择驱动程序后,按照图2-2-20的次序,先定义“数据源名”,再单击“数据库”选项框中的“选择”按钮,然后选取目标数据并确认。
图2-2-18 通过ODBC数据源管理器添加系统DSN
图2-2-19 选择数据源驱动程序
图2-2-20 数据源驱动程序的数据源设置
完成上述操作后即可完成ODBC设置,回到ODBC数据源管理器界面,如图2-2-21所示。现在可以看到“系统DSN”中已经添加好新的系统数据源“GDP”。确认好添加数据源后,单击“确定”按钮,完成操作。
2.数据库数据读取 接下来,回到SPSS Modeler主界面。在节点区中的“源”节点选项卡找到“数据库”节点,并将其添加到数据流构建区当中。双击打开“数据库”节点,如图2-2-22所示,可以看到“数据库”源节点中包括“数据”“过滤器”“类型”以及“注解”选项卡。接下来,只对“数据”选项卡进行介绍。
图2-2-21 ODBC数据源GDP设置完成
图2-2-22 “数据库”节点-“数据”选项卡
模式:“表格”,可以通过对话框的方式选择表格进行连接,“SQL查询”,可以通过SQL语句的方式进行查询连接。
数据源:选择已经定义好的ODBC数据源。第一次连接时,单击三角按钮后,请选择“添加新数据库连接”。
表名称:选择需要在数据库中读取的表格。
“数据库”节点的“过滤器”“类型”选项卡,分别如图2-2-23~图2-2-24所示,基本设置与“Excel”节点类似,这里不再详述。
图2-2-23 “数据库”节点-“过滤器”选项卡
图2-2-24 “数据库”节点-“类型”选项卡
在2.1节“数据的身份”介绍中,用户可以了解到字段类型非常重要,这关系到在后续建模中处理该字段的方式。一般可以在各个“源”节点中的“类型”选项卡中定义字段类型,也可以在下方的字段选项面板中选择“类型”节点进行设置。“类型”控制每个字段的属性:测量、值、缺失和角色。在此处还有检查功能,开启该功能时,可检查字段以确保符合指定的设置,例如检查字段内的所有值是否在指定的范围内。该选项在单次操作中清除所有的数据集非常有用。
由于在前面的部分中已经详尽地介绍了数据的存储类型、测量级别和角色,因此不再重述。这里介绍如何在“类型”选项卡中完成实例化的操作。如图2-2-25所示,在选择数据文件后,SPSS Modeler会自动识别数据的存储类型,因此当用户进入“类型”选项卡后,就自动进入半实例化状态。
图2-2-25 “类型”选项卡-半实例化状态
可以看到半实例化的状态还没获取到各个字段的取值范围,尽管在原始数据中“地区”“婚姻状况”“性别”等字段是以整数进行表示,但是实际上这是一个名义字段,因此需要在测量级别中进行修改。在根据需要对数据的测量级别和角色进行修改后,如图2-2-26所示,单击“读取值”按钮即可完成对数据的实例化。
图2-2-26 “类型”选项卡-完全实例化状态
小技巧
选项卡中还有“清除值”和“清除所有值”按钮。“清除值”是指清除数据的“值”选项内容,即取值范围,但是保留对测量级别的修改;“清除所有值”则会清除“测量”和“值”选项内容。
2.3 实战技巧 1.Demo目录,快速定位 在SPSS Modeler中,为了使用方便,在读取数据的时候提供了对常用目录的访问快捷键。例如,当用户需要使用Demo数据时,用户就可以使用快捷按钮直接选择。
如图2-3-1所示,用户在源节点中进行文件选择的时候,只需要单击 图标按钮,就将自动弹出SPSS Modeler安装目录、Demo文件夹以及最近的使用路径。
图2-3-1 利用图标按钮快速打开Demo文件
2.数据预览,确认数据 在使用源节点读取数据后,用户往往需要把数据输出到屏幕上进行检查,以确认数据在读取的过程中是否存在问题。为了确认这一点,用户当然可以使用“输出”选项卡中的“表格”节点进行检查,但是对于包含大量记录的数据文件,假如都需要对数据进行全部输出,不但十分浪费计算资源,同时也十分耗时。因此为了能够提升检查效率,在SPSS Modeler的源节点、记录选项节点以及字段选项节点中都提供了预览功能。
在源节点、记录选项节点以及字段选项节点的节点面板左上角均有一个“预览”按钮。如图2-3-2所示,在设定好读取配置或者完成数据操作后,单击“预览”按钮,即可预览前10条数据记录。
图2-3-2 数据预览
“预览”选项默认对数据前10行进行预览检查,更改数据源后,可以单击“刷新”按钮进行相应的数据更新。如图2-3-3所示,如果需要修改预览的记录数量,可以单击SPSS Modeler页面右下角的 图标按钮,对“显示流消息”选项中的“在数据预览中显示的最大行数”进行修改。
图2-3-3 预览数据中显示的最大行数
3.工作目录,方便共享 在使用SPSS Modeler的过程中,用户经常需要相互协作,但在相互协助的过程中经常会由于数据文件的路径不一致闹出不少问题。如图2-3-4所示,该数据流读取了较多的数据文件,由于不同成员间存放数据文件的位置可能并不一样,因此每次进行数据流协助交换的时候总是需要花费不少时间在更改文件路径上。
图2-3-4 多数据源
实际上,这个问题可以利用相对路径来解决。简单来说,用户可以设置好默认目录,并且把SPSS Modeler流文件中的数据都放在默认目录下,在读取的时候直接输入文件名就可以了。可以在上方的菜单栏中选中“文件”→“设置目录”,然后在弹出的对话框中设置默认目录,如图2-3-5所示。
如图2-3-6所示,设置目录后,当文件存在于默认目录中时,只需要在源节点读取数据的时候直接输入文件名即可。
图2-3-5 设置目录
图2-3-6 使用相对路径读取文件