数据挖掘与预测分析(第2版)


大数据应用与技术丛书
数据挖掘与预测分析
(
2 )
[ ] Daniel T. Larose
Chantal D. Larose

王念滨 宋敏 裴大茗 译
北 京
Daniel T. Larose, Chantal D. Larose
Data Mining and Predictive Analytics, Second Edition
EISBN:978-1-118-11619-7
Copyright © 2015 by John Wiley & Sons, Inc.
All Rights Reserved. This translation published under license.
本书中文简体字版由 Wiley Publishing, Inc. 授权清华大学出版社出版。未经出版者书面许可,不得以任何
方式复制或抄袭本书内容。
北京市版权局著作权合同登记号 图字: 01-2015-5032
Copies of this book sold without a Wiley sticker on the cover are unauthorized and illegal.
本书封面贴有 Wiley 公司防伪标签,无标签者不得销售。
版权所有,侵权必究。侵权举报电话:010-62782989 13701121933
图书在版编目(CIP)数据
数据挖掘与预测分析:第 2 版 / (美) 丹尼尔·T.拉罗斯 (Daniel T.Larose) 等著;王念滨,宋敏,
裴大茗 译. —北京:清华大学出版社,2017
(2018.4 重印)
(大数据应用与技术丛书)
书名原文:Data Mining and Predictive Analytics, Second Edition
ISBN 978-7-302-45987-3
Ⅰ. ①数… Ⅱ. ①丹… ②王… ③宋… ④裴… Ⅲ.①数据采集 Ⅳ. ①TP274
中国版本图书馆 CIP 数据核字(2016)第 312858 号
责任编辑: 王 军 于 平
封面设计: 孔祥峰
版式设计: 牛静敏
责任校对: 牛艳敏
责任印制: 李红英
出版发行: 清华大学出版社
网 址: http://www.tup.com.cn,http://www.wqbook.com
地 址: 北京清华大学学研大厦 A 座 邮 编: 100084
社 总 机: 010-62770175 邮 购: 010-62786544
投稿与读者服务: 010-62776969,c-service@tup.tsinghua.edu.cn
质 量 反 馈: 010-62772015,zhiliang@tup.tsinghua.edu.cn
印 装 者 :清华大学印刷厂
经 销 :全国新华书店
开 本 :185mm×260mm 印 张 :47 字 数 :1144 千字
版 次 :2017 年 2 月第 1 版 印 次 :2018 年 4 月第 3 次印刷
印 数 : ~
定 价 :128.00 元
—————————————————————————————————————————————
产品编号:064482-02

译 者 序
《数据挖掘与预测分析(第 2 版)》一书从解决现实世界的问题出发,介绍了当前被广
泛应用于现实世界数据集合中的数据挖掘和预测分析技术。本书对数据挖掘与预测分析的
讲解是以数据准备、统计分析、分类、关联规则、强化模型性能、案例研究为线索,根据
技术的适用情况,结合相应的案例开展研究工作,帮助读者了解并掌握各种算法的操作和
细微差异,让读者真正理解算法思想和适用环境。
本书提出的方法和技术全面、深入,几乎涵盖了当前应用中常见的各类挖掘与分析方
法。对方法的介绍从概念、算法、评价等部分着手,深入浅出地加以介绍。在介绍方法的
章节中增加了 R 语言开发园地,帮助读者利用 R 语言开展实际设计和开发工作,获得章节
中涉及内容的结果,便于读者掌握所学内容。
本书的第Ⅰ、Ⅳ、Ⅶ部分由王念滨翻译,第Ⅱ、Ⅲ部分由裴大茗翻译,第Ⅴ、Ⅵ部分
由宋敏翻译,王红滨负责 R 语言开发园地的翻译工作,周连科负责各章练习的翻译工作,
博士研究生王瑛琦、何鸣、宋奎勇负责全书图表及附录的翻译工作。另外,硕士研究生孙
静、李丝然等参加了本书的校对工作,在此一并致谢。
译者在翻译此书的过程中发现,数据挖掘与预测分析领域的许多术语国内的专家们尚
未达成共识,因此在翻译过程中,主要参考了互联网释义。由于本书体量庞大,不少算法
的细微之处译者尚未开展深入研究,翻译中的错误和不当之处在所难免,恳请读者批评
指正。
译 者

致 谢
致谢——Daniel
首先我要感谢我的导师,杰出的统计学教授、康涅狄格大学文理学院副院长 Dipak K.
Dey 博士,以及韦斯特菲尔德州立大学数学系统计学教授 John Judge 博士。我将终生感谢
你们对我的教诲。我还要感谢我在中央康涅狄格州立大学数据挖掘项目组的同事:Chun Jin
博士、Daniel S. Miller 博士、Roger Bilisoly 博士、Darius Dziuda 博士以及 Krishna Saha 博
士。感谢我的女儿 Chantal,感谢我的孪生子 Tristan Spring 及 Ravel Renaissance,感谢你们
让我体验到生活的真谛。
Daniel T. Larose 博士
中央康涅狄格州立大学,数据挖掘及统计学的教授
致谢——Chantal
首先我要感谢我的博士生导师、康涅狄格大学统计系的杰出教授 Dipak Dey 博士和副
教授 Ofer Harel 博士。他们的洞察力及理解力都深深体现在我们令人激动的研究项目及我
的博士论文
Model-Based Clustering of Incomplete Data (基于模型的不完整数据聚类)中。感
谢我的父亲 Daniel,将我带入值得一生探究的数据分析领域,感谢我的母亲 Debra,感谢
她对统计学的关注。最后,感谢我的兄弟姐妹们:Ravel 和 Tristan,感谢他们的洞察力、
音乐及友谊。
Chantal D. Larose 硕士
康涅狄格大学统计系

前 言
什么是数据挖掘?什么是预测分析
数据挖掘是从大型数据集中发现有用的模式和趋势的过程。
预测分析是从大型数据集中抽取信息以便对未来的情况做出预测和估计的过程。
由 Daniel Larose 和 Chantal Larose 合著的《数据挖掘与预测分析(第 2 版)》一书能够
确保读者成为这一前沿且大有前途的领域的专家。
为什么需要本书
根据 MarketsandMarkets 研究公司的调查,从 2013 年~2018 年,全球大数据市场有望
以每年 26%的速度增长,将从 2013 年的 148.7 亿美元增加到 2018 年的 463.4 亿美元
1 。世
界范围内的公司和团体正在学习如何应用数据挖掘和预测分析以增加利润。尚未应用数据
挖掘和预测分析的公司将会在 21 世纪经济的全球竞争中落伍。
在大多数领域中,人类都被数据所淹没。遗憾的是,这些花费庞大成本收集得到的数
据多数都被遗弃在数据仓库中。问题是,缺乏足够的、受过良好训练的、具备将这些数据
转换为人类需要的知识并就此将分类树转换为智慧的分析人员。这也是编写本书的目的
所在。
McKinsey Global Institute 报告指出
2
公司在利用大数据的技能需求方面将会存在人才短缺现象。从大数据中获取价值的制
约主要体现在缺乏必要的人才,特别是缺乏那些掌握统计和机器学习专门知识的人才,缺
乏能够使用从大数据中获取的见识来运营公司的管理人员和分析人员。我们认为对大数据
世界开展分析工作的职位比目前能够提供的缺少大约 140 000~190 000 个。此外,我们认
为在美国额外还将需要 150 万位能够提出正确问题并能够有效利用大数据分析结果的管理
和分析人员。
本书试图帮助解决数据分析人员短缺的问题。
数据挖掘得到越来越广泛的应用,因为它有助于增强公司从其已有的数据集合中发现
有利的模式和趋势的能力。公司和团体花费了大量的金钱,收集到海量的数据,但是未能
很好地利用隐藏在其数据仓库中的有价值的和可操作的信息。然而,随着数据挖掘实践变
得越来越广泛,无法应用这些技术的公司将存在落后于市场的危险,将逐渐失去市场份额,
因为他们的竞争对手都在使用数据挖掘,从而赢得竞争优势。
谁将从本书获益
《数据挖掘和预测分析(第 2 版)》一书通过逐步动手解决现实世界的现实问题,介绍
了当前广泛运用于现实世界数据集合中的数据挖掘技术,这一方式将吸引管理人员、首席
信息官、首席执行官、首席财务官、数据分析人员、数据库分析人员以及其他需要了解最
新方法以提高投资回报率的群体的注意。
利用《数据挖掘与预测分析(第 2 版)》,你将学习什么类型的分析能够从数据中发现最
有益的知识,同时避免进入可能会导致公司投入大量资金而不能带来相应利益的误区。你
将通过真正实践数据挖掘和预测分析来学习数据挖掘和预测分析。
危险!数据挖掘容易被搞砸
能够开展数据挖掘工作的新的现有软件平台不断涌现,这将带来新的危险。这些应用
处理数据非常方便,强大的数据挖掘算法以黑盒方式嵌入到软件中,导致滥用情况出现的
比例更高,从而带来巨大的危险。
简言之,数据挖掘工作不容易做好。将强大的模型应用于海量数据时,一知半解特别
危险。例如,对未经过预处理的数据开展分析工作可能会得出错误的结论,或者对数据集
采用不适当的分析方法,又或者模型构建基于完全不正确或似是而非的假设之上。如果进
行了部署,分析中存在的这些错误可能会让你付出昂贵的代价。《数据挖掘与预测分析(第
2 版)》一书有助于使你成为一名能够避免进入这些昂贵陷阱的精明的分析人员。

“白盒”方法
了解基本算法和模型结构
数据挖掘和预测分析出现问题的症结在于盲目采用“黑盒”方法,避免代价昂贵错误
的最佳方法是转而采用“白盒”方法,白盒方法强调要求对软件中基本算法和统计模型结
构的了解。
《数据挖掘与预测分析(第 2 版)》通过如下方式应用白盒方法:
● 明确地揭示为什么需要运用某一特定方法或算法。
● 让读者了解某个算法或方法是如何工作的,采用实例(小型数据集)解释,以便读者
逐步了解其中的逻辑关系,从而以白盒方法了解方法或算法的内部工作模式。
● 提供将方法应用于大型、现实世界数据集的实例。
● 通过练习测试读者对概念和算法的理解程度。
● 为读者提供将数据挖掘应用于大型数据集的经验。
算法概览
《数据挖掘与预测分析(第 2 版)》将利用小型数据集,指引读者学习各种算法的操作
和细微差异,让读者真正理解算法的内部工作情况。例如,在第 21 章中,我们将逐步利用
小型数据库,应用 BIRCH 聚类算法(BIRCH 是层次聚类的一种方法)学习平衡迭代消减和
聚类,精确地展示 BIRCH 如何针对数据集选择优化的聚类解决方法。正如我们所知,此
类演示是本书针对 BIRCH 算法的独特方法。同样,在第 27 章中,我们将通过使用选择、
交叉和变异操作算子,针对小型数据集逐步发现优化解决方案,以便读者能够更好地理解
所涉及的过程。
将算法和模型应用到大型数据库
《数据挖掘与预测分析(第 2 版)》提供了大量将数据分析方法应用于大型数据库的示
例。例如,第 9 章通过利用实际数据库,解析了营养等级与谷物含量之间的关系。在第 4
章中,我们将主成分分析应用于实际的加利福尼亚州的人口普查数据中。所有数据集均可
从本书网站 www.dataminingconsultant.com 中获得。
章节练习:检查并确认读者是否了解了本章内容
《数据挖掘与预测分析(第 2 版)》一书的各章中包含大约 750 个练习,有助于读者了
解自己对各章提供材料的理解程度,并从中体验与数字和数据打交道的乐趣。这些练习包
含概念辨析类型的练习,可帮助读者进一步梳理清楚数据挖掘中某些更具有挑战性的概念;
利用数据开展工作的练习,帮助读者将特定数据挖掘算法应用到小型数据集中,从而能够
逐步实现较好的解决方案。例如,在第 14 章中,我们要求读者通过该章提供的数据集获得
最大后验分类。
动手实践:通过实际编写数据挖掘算法学习数据挖掘
本书大多数章节为读者提供了动手实践分析问题,为读者提供了运用新学的数据挖掘
专业知识,解决大型数据集实际问题的方法。许多人都喜欢边学边做,而《数据挖掘与预
测分析(第 2 版)》为读者提供了一个边学边做的框架。例如,在第 13 章中,读者将采用实
际的信用卡审批分类数据集,构建自己的最佳 logistic 回归模型,尽可能利用从该章中学习
到的方法,提供对模型强大的、可解释的支持,包括对获取的变量及标识变量的解释。
令人兴奋的新主题
《数据挖掘与预测分析(第 2 版)》一书还提供大量令人兴奋的新主题,主要包括:
● 通过利用数据驱动的误分类开销实现成本-效益分析
● 独立或多元分类模型的成本-效益分析
● 分类模型的图形化评估方法
● BIRCH 聚类
● 分段模型
● 集成方法:bagging 和 boosting 方法
● 模型投票与趋向平均
● 缺失数据的填补方法
R 语言开发园地
R 语言是一种探索及分析数据集的功能强大的开源语言。使用 R 语言的分析人员可以
利用大量免费的程序包、例程和图形用户界面来解决大多数数据分析问题。本书大多数章
节中都为读者提供 R 语言开发园地,用 R 语言获得章节中涉及内容的结果,以及部分输出
的截图。
附录:数据汇总与可视化
一些读者可能不大容易理解某些统计和图形化概念,这些概念通常会在统计课程中学
习。《数据挖掘与预测分析(第 2 版)》一书提供了介绍常见概念和术语的附录,为读者更好

地理解本书的相关材料奠定基础。
案例研究:分析方法汇总
《数据挖掘与预测分析(第 2 版)》最后提供了详细的案例研究。通过对案例的研究,
读者能够了解怎样将自己从书中学习到的方法融会贯通,以建立可操作的、有益的解决方
案。详细的案例研究包括在以下 4 章中:
● 第 29 章 案例研究,第 1 部分:业务理解、数据预处理和探索性数据分析。
● 第 30 章 案例研究,第 2 部分:聚类与主成分分析。
● 第 31 章 案例研究,第 3 部分:建模与评估性能和可解释性。
● 第 32 章 案例研究,第 4 部分:高性能建模与评估
案例研究中包含大量图形、探索数据分析、预测模型、客户分析,并提供针对不同用
户需求的解决方案。采用定制的数据驱动成本效益表的模型评估方法,反映分类误差的真
正开销,而不是采用常见的诸如总体误差率等评估方法。因此,分析人员能够使用每位客
户接触的开销对模型进行比较工作,给予接触客户的数量,预测模型能够实现多少利润。
本书组织结构
《数据挖掘与预测分析(第 2 版)》一书的组织结构有助于读者直接发现相关的逻辑。
共设 32 章,包含 8 个主要部分:
● 第Ⅰ部分是数据准备,包含有关数据预处理、探索性数据分析、降维方法等章节。
● 第Ⅱ部分是统计分析,提供开展数据分析工作常见的经典统计方法,包括单变量统
计分析及多元变量统计分析、简单及多元线性回归方法、为构建模型准备数据、
模型构建等章节。
● 第Ⅲ部分是分类,包含 9 章,是本书涉及内容最多的部分:其中包含
k -最近邻算
法、决策树、神经元网络、logistic 回归、朴素贝叶斯与贝叶斯网络、模型评估技术、
基于数据驱动成本的成本-效益分析、二元及
k 元分类模型、分类模型的图形化评
估等。
● 第Ⅳ部分是聚类,包含层次聚类和
k- 均值聚类、Kohonen 网络、BIRCH 聚类、度
量簇的优劣等。
● 第Ⅴ部分是关联规则,本部分仅包含一章内容,涵盖 A Priori 关联规则以及广义规
则归纳。
● 第Ⅵ部分是模型性能强化,提供细分模型、集成方法:bagging 和 boosting、模型投
票与趋向平均等章节。
● 第Ⅶ部分介绍针对预测建模的其他方法,包括缺失数据填补以及遗传算法等。

X 数据挖掘与预测分析(第 2 版)
● 第Ⅷ部分是案例研究:针对直邮市场的预测响应,包括 4 章,给出如何从直邮市场
营销活动中获取最大利润的完整案例分析方法。
软件
本书使用的软件包括:
● IBP SPSS Modeler 数据挖掘软件套件
● R 开放源代码统计分析软件
● SAS Enterprise Miner
● SAS 统计分析软件
● Minitab 统计分析软件
● Weka 开放源代码数据挖掘软件
IBM SPSS Modeler 是数据挖掘领域应用最广泛的数据挖掘软件套件,该软件由 SPSS
开发(www-01.ibm.com/software/analytics/spss/products/modeler/),本书采用了其基本软件。
SAS Enterprise Miner 比 IBM Modeler 功能更强大,但学习该软件比较困难。SPSS 可以获
得免费试用版(通过 Google 搜索“spss”即可下载)。Minitab 是简单易用的统计软件包,可
以在该公司提供的网站 www.minitab.com 下载试用版。
Weka:开源软件
Weka 机器学习平台是一种基于 GNU 通用公共许可证发布的开源软件,它包括实现多
数数据挖掘任务所需要的工具集合。《数据挖掘与预测分析(第 2 版)》利用 Weka 3.6 开发动
手实践、一步一步实例教程等,该软件可从本书的相关网站 www.dataminingconsultant.com
获得。读者可以使用 Weka 执行如下类型的分析:logistic 回归(见第 13 章)、朴素贝叶斯分
类(见第 14 章)、贝叶斯网络分类(见第 14 章)、遗传算法(见第 27 章)。有关 Weka 的更多信
息可参考 www.cs.waikato.ac.nz/ml/weka。作者非常感谢 James Steck 提供了大量的 Weka 实
例和练习。James Steck(jame_steck@comcast.net)是 2005 年康涅狄格州州立中央大学最早获
得数据挖掘学科硕士学位的学生之一,也是最早获得研究生学术研究奖的学生。
本书网站 www.dataminingconsultant.com
读者可以获得由 Daniel Larose 和 Chantal Larose 撰写的、Wiley InterScience 出版的数
据挖掘书籍相关材料。通过该网站,或扫描本书封底的二维码,可以下载本书用到的大多
数数据集,方便读者动手实践开发各种本书提到的分析方法和模型。网站还包括勘误表和
比较完整的数据挖掘相关资源,涉及数据集链接、数据挖掘研究组链接以及相关的研究论

文等。
然而,本网站真正强大的原因还在于可供讲授本书的教师使用,提供的资源包括:
● 所有练习的答案,包括动手实践分析。
● 各章的 PPT,可方便教学工作。
● 示例数据挖掘课程项目,由作者亲自编写,可以在你的课程讲授中采用。
● 实际的数据集,可用于课程学习参考。
● 每章所涉及的网络资源。
作为教材的《数据挖掘与预测分析(第 2 版)》
《数据挖掘与预测分析(第 2 版)》自然适合作为 1 学期或 2 学期课程的课本,2 学期课
程内容可分为数据挖掘介绍和中级数据挖掘。教师在授课时可获得如下好处:
● 数据挖掘过程介绍。
● “白盒”方法,强调理解基本算法的结构:
利用玩具数据集讲授算法概览。
将算法应用于大型数据集。
超过 300 幅图、275 张表。
包含 750 道章节练习和动手实践分析。
● 大量令人兴奋的新专题,例如基于数据驱动误分类开销的成本-效益分析。
● 详细的案例研究,有助于融会贯通前 28 章介绍的内容。
● 附录:数据汇总与可视化,包含读者可能比较生疏的统计和图形方面的概念综述。
● 对应 Web 网站,提供了上述内容详细的资源列表。
《数据挖掘与预测分析(第 2 版)》可作为本科高年级或研究生课程内容。若先有选修
统计方面的课程更好,但并非必需。读者不需要具备计算机编程经验或数据库的专门知识。

目 录
第Ⅰ部分 数据准备
第 1 章 数据挖掘与预测分析概述 ··········· 3
1.1 什么是数据挖掘和预测分析
········· 3
1.2 需求:数据挖掘技术人员
············· 4
1.3 数据挖掘离不开人的参与
············· 5
1.4 跨行业数据挖掘标准过程:
CRISP-DM
······································ 6
1.5 数据挖掘的谬误
····························· 8
1.6 数据挖掘能够完成的任务
············· 9
1.6.1 描述 ........................................... 9
1.6.2 评估 ......................................... 10
1.6.3 预测 ......................................... 11
1.6.4 分类 ......................................... 11
1.6.5 聚类 ......................................... 13
1.6.6 关联 ......................................... 14
R 语言开发园地
···································· 15
R 参考文献
············································ 16
练习
························································ 16
第 2 章 数据预处理
······························· 17
2.1 需要预处理数据的原因
··············· 17
2.2 数据清理
······································· 18
2.3 处理缺失数据
······························· 19
2.4 识别错误分类
······························· 22
2.5 识别离群值的图形方法
··············· 22
2.6 中心和散布度量
··························· 24
2.7 数据变换
······································· 26
2.8 min-max 规范化
··························· 26
2.9 Z-score 标准化
····························· 27
2.10 小数定标规范化
························· 28
2.11 变换为正态数据
························· 28
2.12 识别离群值的数值方法
············· 34
2.13 标志变量
····································· 35
2.14 将分类变量转换为数值变量
····· 35
2.15 数值变量分箱
····························· 36
2.16 对分类变量重新划分类别
········· 37
2.17 添加索引字段
····························· 37
2.18 删除无用变量
····························· 38
2.19 可能不应该删除的变量
············· 38
2.20 删除重复记录
····························· 39
2.21 ID 字段简述
······························· 39
R 语言开发园地
···································· 39
R 参考文献
············································ 45
练习
························································ 45
第 3 章 探索性数据分析
······················· 49
3.1 假设检验与探索性数据分析
······· 49
3.2 了解数据集
··································· 49
3.3 探索分类变量
······························· 52
3.4 探索数值变量
······························· 58
3.5 探索多元关系
······························· 62
3.6 选择感兴趣的数据子集作进一步
研究
·············································· 64
3.7 使用 EDA 发现异常字段
············· 64
3.8 基于预测值分级
··························· 65
3.9 派生新变量:标志变量
··············· 67
3.10 派生新变量:数值变量
············· 69
3.11 使用 EDA 探测相关联的预测
变量
············································ 70
3.12 EDA 概述 ··································· 73
R 语言开发园地
···································· 73
R 参考文献
············································ 80
练习
······················································· 80
第 4 章 降维方法
·································· 83
4.1 数据挖掘中降维的必要性
··········· 83
4.2 主成分分析
··································· 84
4.3 将主成分分析应用于房屋
数据集
·········································· 87
4.4 应提取多少个主成分
··················· 91
4.4.1 特征值标准 .............................. 91
4.4.2 解释变异的比例标准 ............... 92
4.4.3 最小共性标准 .......................... 92
4.4.4 坡度图标准 .............................. 92
4.5 主成分描述
··································· 94
4.6 共性
··············································· 96
4.7 主成分验证
··································· 97
4.8 因子分析法
··································· 98
4.9 因子分析法在成年人数据集中的
应用
·············································· 99
4.10 因子旋转
··································· 101
4.11 用户自定义合成
······················· 104
4.12 用户自定义合成的示例
··········· 105
R 语言开发园地
·································· 106
R 参考文献
·········································· 110
练习
······················································ 111
第 5 章 单变量统计分析 ····················· 117
5.1 数据知识发现中的数据挖掘
任务
············································ 117
5.2 用于估计和预测的统计方法
····· 117
5.3 统计推理
····································· 118
5.4 我们对评估的确信程度如何
····· 119
5.5 均值的置信区间估计
················· 120
5.6 如何减少误差范围
····················· 121
5.7 比例的置信区间估计
················· 122
5.8 均值的假设检验
························· 123
5.9 拒绝零假设的证据力度的
评估
············································ 125
5.10 使用置信区间执行假设检验
··· 126
5.11 比例的假设检验
······················· 127
R 语言开发园地
·································· 128
R 参考文献
·········································· 129
练习
····················································· 129
第 6 章 多元统计
································ 133
6.1 描述均值差异的两样例 t-检验
方法
············································ 133
6.2 判断总体差异的两样例
Z-检验
········································· 134
6.3 比例均匀性的测试
····················· 135
6.4 多元数据拟合情况的
卡方检验
···································· 137
6.5 方差分析
····································· 138
R 语言开发园地
·································· 141
R 参考文献
·········································· 143
练习
···················································· 143
第 7 章 数据建模准备
························· 145
7.1 有监督学习与无监督学习
········· 145
7.2 统计方法与数据挖掘方法
········· 146
7.3 交叉验证
····································· 146
7.4 过度拟合
····································· 147
7.5 偏差-方差权衡
··························· 148
7.6 平衡训练数据集
························· 150
7.7 建立基线性能
····························· 151
R 语言开发园地
·································· 152
R 参考文献
·········································· 153
练习
···················································· 153
第 8 章 简单线性回归
························· 155
8.1 简单线性回归示例
····················· 155
8.2 外推的危险
································· 161
目 录 XV
8.3 回归有用吗?系数的确定 ········· 162
8.4 估计标准误差
····························· 166
8.5 相关系数 r
·································· 167
8.6 简单线性回归的方差分析表
····· 169
8.7 离群点、高杠杆率点与有影响
的观察点
···································· 170
8.8 回归方程概括
····························· 178
8.9 回归假设验证
····························· 179
8.10 回归推理
··································· 184
8.11 x 与 y 之间关系的 t-检验
········· 185
8.12 回归直线斜率的置信区间
······· 187
8.13 相关系数 ρ 的置信区间
··········· 188
8.14 给定均值的置信区间
··············· 190
8.15 给定随机选择值的预测区间
···· 191
8.16 获得线性特性的变换
··············· 194
8.17 博克斯-考克斯变换
················· 199
R 语言开发园地
·································· 199
R 参考文献
·········································· 205
练习
····················································· 205
第 9 章 多元回归与模型构建
·············· 213
9.1 多元回归示例
····························· 213
9.2 总体多元回归方程
····················· 218
9.3 多元回归推理
····························· 219
9.3.1 y 与 x i 之间关系的 t - 检验 ....... 219
9.3.2 营养等级与含糖量之间关系
的 t
- 检验 ................................ 220
9.3.3 营养等级与纤维含量之间
关系的 t
- 检验 ........................ 220
9.3.4 总体回归模型显著性的
F
- 检验 ................................... 221
9.3.5 营养等级与含糖量和纤维
含量之间关系的 F
- 检验 ........ 222
9.3.6 特定系数 β i 的置信区间 ........ 223
9.3.7 ( 在给定 x 1 , x 2 ,…, x m 的情况下 ) y
的均值的置信区间
................ 223
9.3.8 ( 在给定 x 1 , x 2 ,…, x m 的情况下 )
随机选择的 y 值的预测区间 .... 223
9.4 利用指示变量的包含范畴型预测
变量的回归
································ 224
9.5 调整 R
2 :惩罚包含无用预测变量
的模型
········································ 230
9.6 序列平方和
································· 231
9.7 多重共线性
································· 233
9.8 变量选择方法
····························· 239
9.8.1 有偏 F - 检验 ........................... 239
9.8.2 前向选择过程 ........................ 240
9.8.3 反向删除过程 ........................ 241
9.8.4 逐步选择过程 ........................ 241
9.8.5 最佳子集过程 ........................ 241
9.8.6 “所有可能子集”过程 ......... 242
9.9 油耗数据集
································· 242
9.10 变量选择方法的应用
··············· 243
9.10.1 应用于油耗数据集的前向
选择过程
........................... 244
9.10.2 应用于油耗数据集的后向
删除过程
........................... 245
9.10.3 应用于油耗数据集的逐步选
择过程
............................... 246
9.10.4 应用于油耗数据集的最佳子
集过程
............................... 246
9.10.5 Mallows’ C
p 统计量 ............ 247
9.11 将主成分作为预测变量进行
多元回归
··································· 251
R 语言开发园地
·································· 255
R 参考文献
·········································· 265
练习
····················································· 265
第Ⅲ部分 分类
第 10 章 K -最近邻算法 ······················· 273
10.1 分类任务
··································· 273
10.2 k-最近邻算法
···························· 274
XVI 数据挖掘与预测分析(第 2 版)
10.3 距离函数 ··································· 276
10.4 组合函数
··································· 279
10.4.1 简单权重投票方式 ............ 279
10.4.2 加权投票 ........................... 279
10.5 量化属性的相关性:轴伸缩
···· 280
10.6 数据库方面的考虑
··················· 281
10.7 将 k-最近邻算法用于评估和
预测
·········································· 281
10.8 k 值的选择
································ 282
10.9 利用 IBM/SPSS 建模工具应用
k-最近邻算法
··························· 283
R 语言开发园地
·································· 284
R 参考文献
·········································· 286
练习
···················································· 286
第 11 章 决策树
·································· 289
11.1 决策树是什么
··························· 289
11.2 使用决策树的要求
··················· 291
11.3 分类与回归树
··························· 291
11.4 C4.5 算法
·································· 297
11.5 决策规则
··································· 302
11.6 比较 C5.0 和 CART 算法应用
到实际的数据
·························· 303
R 语言开发园地
·································· 306
R 参考文献
·········································· 307
练习
···················································· 308
第 12 章 神经元网络
··························· 311
12.1 输入和输出编码
······················· 312
12.2 神经元网络用于评估和预测
··· 313
12.3 神经元网络的简单示例
··········· 314
12.4 sigmoid 激活函数
····················· 316
12.5 反向传播
··································· 317
12.6 梯度下降法
······························· 317
12.7 反向传播规则
··························· 318
12.8 反向传播示例
··························· 319
12.9 终止条件
··································· 320
12.10 学习率
····································· 321
12.11 动量项
····································· 322
12.12 敏感性分析
····························· 323
12.13 神经元网络建模应用
············· 324
R 语言开发园地
·································· 326
R 参考文献
·········································· 328
练习
···················································· 328
第 13 章 logistic 回归
·························· 331
13.1 logistic 回归简单示例
·············· 331
13.2 最大似然估计
··························· 333
13.3 解释 logistic 回归的输出
········· 334
13.4 推理:这些预测有显著性吗
···· 335
13.5 概率比比率与相对风险
··········· 337
13.6 对二分 logistic 回归预测的
解释
·········································· 339
13.7 对应用于多元预测变量的
logistic 回归的解释
·················· 342
13.8 对应用于连续型预测变量的
logistic 回归的解释
·················· 346
13.9 线性假设
··································· 351
13.10 零单元问题
····························· 353
13.11 多元 logistic 回归
··················· 355
13.12 引入高阶项处理非线性
········· 359
13.13 logistic 回归模型的验证
········ 366
13.14 WEKA:应用 logistic 回归的
实践分析
································ 370
R 语言开发园地
·································· 374
R 参考文献
·········································· 380
练习
···················································· 380
第 14 章 朴素贝叶斯与贝叶斯网络
····· 385
14.1 贝叶斯方法
······························· 385
14.2 最大后验(MAP)分类
··············· 387
14.3 后验概率比
······························· 391
14.4 数据平衡
··································· 393
14.5 朴素贝叶斯分类
······················· 394
目 录 XVII
14.6 解释对数后验概率比 ··············· 397
14.7 零单元问题
······························· 398
14.8 朴素贝叶斯分类中的数值型
预测变量
·································· 399
14.9 WEKA:使用朴素贝叶斯开展
分析
·········································· 402
14.10 贝叶斯信念网络
····················· 406
14.11 衣物购买示例
························· 407
14.12 利用贝叶斯网络发现概率
····· 409
R 语言开发园地
·································· 413
R 参考文献
·········································· 417
练习
···················································· 417
第 15 章 模型评估技术
······················· 421
15.1 用于描述任务的模型评估
技术
·········································· 421
15.2 用于评估和预测任务的模型
评估技术
·································· 422
15.3 用于分类任务的模型评估
方法
·········································· 423
15.4 准确率和总误差率
··················· 425
15.5 灵敏性和特效性
······················· 426
15.6 假正类率和假负类率
··············· 427
15.7 真正类、真负类、假正类、
假负类的比例
·························· 427
15.8 通过误分类成本调整来反映
现实关注点
······························ 429
15.9 决策成本/效益分析
·················· 430
15.10 提升图表和增益图表
············· 431
15.11 整合模型评估与模型建立
····· 434
15.12 结果融合:应用一系列
模型
········································ 435
R 语言开发园地
·································· 436
R 参考文献
·········································· 436
练习
···················································· 437
第 16 章 基于数据驱动成本的
成本-效益分析
······················ 439
16.1 在行调整条件下的决策
不变性
······································ 439
16.2 正分类标准
······························· 440
16.3 正分类标准的示范
··················· 442
16.4 构建成本矩阵
··························· 444
16.5 在缩放条件下的决策不变性
···· 445
16.6 直接成本和机会成本
··············· 446
16.7 案例研究:基于数据驱动误
分类成本的成本-效益分析
····· 446
16.8 再平衡作为误分类成本的
代理
·········································· 450
R 语言开发园地
·································· 452
R 参考文献
·········································· 455
练习
···················································· 455
第 17 章 三元和
k 元分类模型的成本-
效益分析
······························ 459
17.1 三元目标的分类评估变量
······· 459
17.2 三元分类评估度量在贷款审批
问题中的应用
··························· 462
17.3 三元贷款分类问题的数据驱动
成本-效益分析
························· 466
17.4 比较使用/不使用数据驱动误分
类成本的 CART 模型
·············· 467
17.5 一般的 k 元目标的分类评估
度量
·········································· 470
17.6 k 元分类中评估度量和数据驱动
误分类成本的示例
··················· 472
R 语言开发园地
·································· 474
R 参考文献
·········································· 475
练习
···················································· 475
第 18 章 分类模型的图形化评估
········ 477
18.1 回顾提升图表和增益图表
······· 477
18.2 使用误分类成本的提升图表
和增益图表
······························ 477
XVIII 数据挖掘与预测分析(第 2 版)
18.3 响应图表 ··································· 479
18.4 利润图表
··································· 479
18.5 投资回报(ROI)图表
················· 482
R 语言开发园地
·································· 482
R 参考文献
·········································· 484
练习
···················································· 484
第Ⅳ部分 聚类
第 19 章 层次聚类和 k -均值聚类 ········ 489
19.1 聚类任务
··································· 489
19.2 层次聚类方法
··························· 491
19.3 单一链聚类
······························· 492
19.4 完全链聚类
······························· 493
19.5 k-均值聚类
······························· 494
19.6 k-均值聚类实操示例
················ 495
19.7 k-均值算法执行中 MSB、MSE
和伪-F 的行为
·························· 498
19.8 SAS Enterprise Miner 中 k-均值
算法的应用
······························ 499
19.9 使用簇成员关系来预测客户
流失
·········································· 501
R 语言开发园地
·································· 502
R 参考文献
·········································· 503
练习
···················································· 504
第 20 章 Kohonen 网络
······················ 505
20.1 自组织映射
······························· 505
20.2 Kohonen 网络
··························· 507
20.3 Kohonen 网络学习示例
··········· 508
20.4 簇有效性
··································· 511
20.5 使用 Kohonen 网络进行聚类
应用
·········································· 511
20.6 解释簇
······································· 512
20.7 将簇成员关系作为下游数据
挖掘模型的输入
······················ 517
R 语言开发园地
·································· 518
R 参考文献
·········································· 520
练习
···················································· 520
第 21 章 BIRCH 聚类
························· 521
21.1 BIRCH 聚类的理论基础
·········· 521
21.2 簇特征
······································· 522
21.3 簇特征树
··································· 523
21.4 阶段 1:构建 CF 树
················· 523
21.5 阶段 2:聚类子簇
···················· 525
21.6 BIRCH 聚类示例之阶段 1:
构建 CF 树
································ 525
21.7 BIRCH 聚类示例之阶段 2:
聚类子簇
·································· 530
21.8 候选聚类解决方案的评估
······· 530
21.9 案例研究:在银行贷款数据集
上应用 BIRCH 聚类
················ 531
21.9.1 案例研究第 1 课:对于
任意聚类算法避免高度
相关的输入
....................... 532
21.9.2 案例研究第 2 课:不同的
排序可能会导致不同的
簇数目
............................... 535
R 语言开发园地
·································· 537
R 参考文献
·········································· 538
练习
···················································· 538
第 22 章 度量簇的优劣
······················· 541
22.1 度量簇优劣的基本原理
··········· 541
22.2 轮廓方法
··································· 541
22.3 轮廓值示例
······························· 542
22.4 Iris 数据集的轮廓值分析
········ 544
22.5 伪-F 统计方法
·························· 547
22.6 伪-F 统计示例
·························· 549
22.7 将伪-F 统计应用于 Iris
数据集
······································ 550
22.8 簇验证
······································· 551
22.9 将簇验证方法应用于贷款
数据集
······································ 551
R 语言开发园地 ·································· 554
R 参考文献
·········································· 556
练习
···················································· 557
第Ⅴ部分 关联规则
第 23 章 关联规则 ······························ 561
23.1 亲和度分析与购物篮分析
······· 561
23.2 支持度、可信度、频繁项集和
先验属性
·································· 564
23.3 先验算法工作原理(第 1 部
分)—— 建立频繁项集
············· 565
23.4 先验算法工作原理(第 2 部
分)—— 建立关联规则
············· 566
23.5 从标志数据扩展到分类数据
···· 569
23.6 信息理论方法:广义规则推理
方法
·········································· 570
23.7 关联规则不易做好
··················· 571
23.8 度量关联规则可用性的方法
···· 573
23.9 关联规则是监督学习还是
无监督学习
······························ 574
23.10 局部模式与全局模型
············· 574
R 语言开发园地
·································· 575
R 参考文献
·········································· 575
练习
···················································· 576
第Ⅵ部分 增强模型性能
第 24 章 细分模型 ······························ 581
24.1 细分建模过程
··························· 581
24.2 利用 EDA 识别分段的细分
建模
·········································· 583
24.3 利用聚类方法识别分段的
细分建模
·································· 585
R 语言开发园地
·································· 589
R 参考文献
·········································· 591
练习
···················································· 591
第 25 章 集成方法:bagging 和
boosting
······························· 593
25.1 使用集成分类模型的理由
······· 593
25.2 偏差、方差与噪声
··················· 594
25.3 适合采用 bagging 的场合
········ 595
25.4 bagging
······································ 596
25.5 boosting
····································· 599
25.6 使用 IBM/SPSS 建模器应用
bagging 和 boosting
·················· 602
参考文献
·············································· 603
R 语言开发园地
·································· 604
R 参考文献
·········································· 605
练习
···················································· 606
第 26 章 模型投票与趋向平均
············ 609
26.1 简单模型投票
··························· 609
26.2 其他投票方法
··························· 610
26.3 模型投票过程
··························· 611
26.4 模型投票的应用
······················· 612
26.5 什么是趋向平均
······················· 616
26.6 趋向平均过程
··························· 616
26.7 趋向平均的应用
······················· 618
R 语言开发园地
·································· 619
R 参考文献
·········································· 621
练习
···················································· 622
第Ⅶ部分 更多主题
第 27 章 遗传算法 ······························ 627
27.1 遗传算法简介
··························· 627
27.2 基因算法的基本框架
··············· 628
27.3 遗传算法的简单示例
··············· 629
27.3.1 1 次迭代 ....................... 629
27.3.2 2 次迭代 ....................... 631
27.4 改进及增强:选择
··················· 631
27.5 改进及增强:交叉
··················· 633
27.5.1 多点交叉 ······························ 633
27.5.2 通用交叉 ........................... 634
27.6 实值变量的遗传算法 ··············· 634
27.6.1 单一算术交叉 .................... 635
27.6.2 简单算术交叉 .................... 635
27.6.3 完全算术交叉 .................... 635
27.6.4 离散交叉 ........................... 635
27.6.5 正态分布突变 .................... 635
27.7 利用遗传算法训练神经元
网络
·········································· 636
27.8 WEKA:使用遗传算法进行
分析
·········································· 640
R 语言开发园地
·································· 646
R 参考文献
·········································· 647
练习
···················································· 647
第 28 章 缺失数据的填充
··················· 649
28.1 缺失数据填充的必要性
··········· 649
28.2 缺失数据填充:连续型变量
···· 650
28.3 填充的标准误差
······················· 653
28.4 缺失值填充:范畴型变量
······· 653
28.5 缺失的处理模式
······················· 654
参考文献
·············································· 655
R 语言开发园地
·································· 655
R 参考文献
·········································· 657
练习
···················································· 658
第Ⅷ部分 案例研究:对直邮营
销的响应预测
第 29 章 案例研究,第 1 部分:业务
理解、数据预处理和探索性
数据分析
································· 661
29.1 数据挖掘的跨行业标准
··········· 661
29.2 业务理解阶段
··························· 662
29.3 数据理解阶段,第一部分:
熟悉数据集
······························ 663
29.4 数据准备阶段
··························· 667
29.4.1 消费金额为负值的情况 ..... 667
29.4.2 实现正态性或对称性的
转换
................................... 669
29.4.3 标准化 ............................... 671
29.4.4 派生新变量 ....................... 671
29.5 数据理解阶段,第二部分:
探索性数据分析
······················· 674
29.5.1 探索预测因子和响应之间
的关系
............................... 674
29.5.2 研究预测因子间的相关性
结构
................................... 679
29.5.3 逆转换对于解释的
重要性
............................... 682
第 30 章 案例研究,第 2 部分:聚类与
主成分分析
··························· 685
30.1 数据划分
··································· 685
30.2 制定主成分
······························· 686
30.3 验证主成分
······························· 689
30.4 主成分概括
······························· 691
30.5 利用 BIRCH 聚类算法选择最优
聚类数
······································ 694
30.6 利用 k 均值聚类算法选择最优
聚类数
······································ 695
30.7 k-均值聚类应用
························ 696
30.8 验证聚类
··································· 697
30.9 聚类概括
··································· 698
第 31 章 案例研究,第 3 部分:建模与
评估性能和可解释性
············ 699
31.1 选择性能最佳模型,还是既要
性能又要可解释性
··················· 699
31.2 建模与评估概述
······················· 700
31.3 利用数据驱动开销开展损益
分析
·········································· 700
31.4 输入到模型中的变量
··············· 702
31.5 建立基线模型性能
··················· 703
31.6 利用误分类开销的模型
··········· 704
31.7 需要用代理调整误分类开销
的模型
······································ 705
31.8 采用投票和趋向平均方法
合并模型
·································· 706
目 录 XXI
31.9 对利润最佳模型的解释 ··········· 707
第 32 章 案例研究,第 4 部分:高性能
建模与评估
·························· 709
32.1 输入到模型中的变量
··············· 709
32.2 使用误分类开销的模型
··········· 710
32.3 需要作为误分类开销代理
调整的模型
······························ 710
32.4 使用投票和趋向平均的合并
模型
·········································· 711
32.5 经验总结
··································· 713
32.6 总结
··········································· 713
附录 A 数据汇总与可视化
·················· 715
第Ⅰ部分
数 据 准 备
第 1 章 数据挖掘与预测分析概述
第 2 章 数据预处理
第 3 章 探索性数据分析
第 4 章 降维方法

1
数据挖掘与预测分析概述
1.1 什么是数据挖掘和预测分析
最近,计算机制造商 Dell 对提高其销售人员的工作效率非常感兴趣。为此,公司利用
数据挖掘和预测分析方法分析其潜在客户数据库,以发现那些最有可能真正成为其客户的
人群。通过利用 LinkedIn 及其他能够提供大量丰富潜在客户信息的类似网站,研究潜在客
户的社会网络行为,Dell 就能为其客户开发出更具个性化的销售方式。以上案例是通过挖
掘客户数据,帮助识别潜在客户市场行为类型的实例,它基于客户的个人档案记录。这一
工作能获得什么样的效益呢?可以将需要联系的预期人群数量减少 50%,只与那些最有可
能成为客户的人群联系,销售人员的效率和效益提高一倍左右,同时 Dell 的营业额也获得
了类似的增长
1
美国麻省州政府以预测分析为工具,大大减少了全州的医疗福利诈骗案件。当医疗索
赔发生时,州政府立即将相关信息实时发送到预测分析模型,执行异常检测。据麻省州医
疗福利欺诈中心负责人 Joan Senatore 透露,在投入使用的前 6 个月期间,该系统“发现了
涉及大约两百万美元的不应支付的款项,避免了大量欺诈索赔金额的支付”。
2
麦肯锡全球研究所(MGI)报告 3 称大多数雇员超过 1000 人的美国公司平均有至少 200
1 How Dell Predicts Which Customers Are Most Likely to Buy , by Rachael King, CIO Journal, Wall Street
Journal, December 5, 2012.
2
How MassHealth cut Medicaid fraud with predictive analytics , by Rutrell Yasin, GCN, February 24, 2014.
3
Big data: The next frontier for innovation, competition, and productivity , by James Manyika et al.,
Mckinsey Global Institute, www.mckinsey.com, May, 2011. Last accessed March 16, 2014.

TB 的数据存储。麦肯锡全球研究所认为在世界范围内,数据产生的总量将以每年 40%的
速度增长,对公司来说,这将带来有利可图的机会,它们可以利用其数据减少开销并增加
利润。例如,按照 MGI 的报告,能够最大限度地利用这些“大数据”的零售商可使其营业
额毛利增长 60%以上。
《福布斯》杂志报告
4 表明,利用数据挖掘和预测分析,可发现那些具有最严重危险的
充血性心脏衰竭病人。IBM 收集了涉及 350 000 位病人的 3 年数据,包括超过 200 个参数
的数据度量值,如血压、体重以及处方药等。利用预测分析,IBM 发现可能会死于充血性
心脏衰竭的风险最大的 8500 位病人。
《MIT(麻省理工学院)技术导报》报告
5 声称,正是由于奥巴马竞选团队有效利用了数
据挖掘技术,帮助奥巴马于 2012 年赢得了与对手罗姆尼的总统竞选。首先,竞选团队使用
数据挖掘模型确定出潜在的奥巴马支持者,然后确定这些支持者将会参与投票。竞选团队
还使用了单独的数据挖掘模型,按照不同选区预测投票结果。在著名的摇摆选区,即俄亥
俄州汉密尔顿选区,该模型预测奥巴马将获得 56.4%的选票;实际情况是,奥巴马总统在
该选区获得 56.6%的选票,预测值与实际值仅相差 0.2%。这样准确的预测能力使得竞选团
队成员能在分配紧缺资源时获得更高的效率。
数据挖掘是从大型数据集中发现有用的模式和趋势的过程。
预测分析是从大型数据集中获取信息以便对未来结果进行预测和估计的过程。
那么,数据挖掘是什么?预测分析是什么?
当你在大型超市排队等待结账时,是否曾经闭上眼睛倾听?你可能会听到收款台上的
读卡器在扫描读取食品杂货条形码时所发出的嘟嘟声,此时读取的数据都存放到公司的服
务器上。每一次嘟嘟声都意味着向数据库中插入了一条新记录,表明收集到包含新“观察
值”的信息,这些信息涉及你的家庭以及其他通过收款台的家庭所具有的购买习惯。
显然,可以收集到大量的数据。然而,我们能够从所有这些数据中学习到什么呢?将
会从所有这些数据中得到何种新知识呢?现实情况是,可能没有你想象的那样多,原因在
于有经验的数据分析人员严重短缺。
1.2 需求:数据挖掘技术人员
早在 1984 年,在《大趋势》一书 6 中,约翰·奈斯比特注意到“我们被大量信息淹没,
4 IBM and Epic Apply Predictive Analytics to Electronic Health Records , by Zina Moukheiber, Forbes
magazine, February 19, 2014.
5
How President Obama’s campaign used big data to rally individual voters , by Sasha Issenberg, MIT
Technology Review, December 19, 2012.
6
Megatrends , John Naisbitt, Warner Books, 1984.
但却缺乏知识”。当前,这一问题不在于我们没有足够的数据或信息流。事实上,目前多数
领域都存在大量的数据。问题在于,我们缺乏擅长于将所有这些数据转换为知识的足够分
析人员,他们能够将分类树转为智慧。
数据挖掘和知识发现领域的持续显著成长是源于多种因素幸运交汇的结果:
● 收集到的数据呈爆炸性增长,正如前述超市扫码器的案例所示;
● 将数据存储到数据仓库中,从而整个企业能够访问可靠的、最新的数据库;
● 越来越多的人能够通过网页浏览和内联网访问数据;
● 在经济全球化进程中为增加市场份额所遇到的竞争压力;
● 可用的商业数据挖掘套件的开发;
● 计算能力和存储能力的不断增大。
遗憾的是,McKinsey 报告
7 认为:
企业需要的能够利用大数据的人才存在短缺。因此,想要获取大数据中蕴含的价值将
严重受制于人才的短缺,特别是具有统计和机器学习方面专门知识的专家型人才,以及熟
知如何利用从大数据中获得的知识来运营公司的管理人员和分析师。我们认为对大数据领
域需要的、能够进行深入分析的职位呈现供不应求的状况,短缺将达到 140 000~190 000
个职位。此外,我们认为在美国大约需要额外的 150 万管理人员和分析师,他们能够提出
正确的问题并有效地使用大数据分析的结果,开展管理和分析工作。
本书试图帮助缓解数据分析人员严重短缺的现状。
1.3 数据挖掘离不开人的参与
自动化无法替代人的监督,数据挖掘过程的每个阶段都需要人的积极参与。与其寻找
人员适合在数据挖掘中处理什么工作,不如询问我们如何能够将数据挖掘设计成为人性化
的问题求解过程。
此外,当前可用的强大数据挖掘算法嵌入在黑盒软件中,这会导致大量的误用,从而
产生更大的危险。与其他新的信息技术一样,数据挖掘技术也容易产生不良的效果。例如,
研究人员可能应用不适当的、与正确途径完全不同的方法分析数据集,或者得出的模型建
立在完全似是而非的假设的基础上。因此,需要理解作为软件底层的统计和数学模型的
结构。
7 Big data: The next frontier for innovation, competition, and productivity , by James Manyika et al .,
Mckinsey Global Institute, www.mckinsey.com, May, 2011. Last accessed March 16, 2014.

1.4 跨行业数据挖掘标准过程:CRISP-DM
在一些公司中,由于部门习惯和组织划分,存在着混乱地处理数据挖掘的情况,从而
浪费大量资源,开展重复劳动。因此明显需要建立一种跨行业的标准,该标准应与行业、
工具和应用无关。跨行业数据挖掘标准过程(CRISP-DM
8 )由来自戴姆勒-克莱斯勒、SPSS
和 NCR 的分析人员共同开发。CRISP 提供了一种开放的、可自由使用的数据挖掘标准过
程,使数据挖掘适合于商业或研究单位的问题求解策略。
按照 CRISP-DM 标准,一个数据挖掘项目的生命周期包含 6 个阶段,如图 1.1 所示。注
意阶段顺序是自适应的。这意味着,后一阶段通常依赖于与之相关的前一个阶段的结果。阶
段之间最显著的依赖关系用箭头表示。例如,假设我们目前处于建模阶段。根据模型的
行为和特征,在进入模型评估阶段前,我们可能需要返回到数据准备阶段做进一步的完
善工作。
业务/研究
理解阶段
数据理解
阶段
部署阶段
评估阶段 建模阶段
数据准备阶段

图 1.1 CRISP-DM 是一个迭代的、自适应的过程
CRISP 的迭代特性如图 1.1 中的外圈所示。通常,针对特定业务或研究问题的解决方
案将会产生更为深入的有趣问题,这些问题往往可以使用与之前类似的通用过程加以解决。
8 Peter Chapman, Julian Clinton, Randy Kerber, Thomas Khabaza, Thomas Reinart, Colin Shearer, Rudiger
Wirth,
CRISP-DM Step-by-Step Data Mining Guide , 2000.
从过去的项目中学到的经验教训始终应该作为新项目的输入。以下是对各个阶段的简略描
述(在评估阶段遇到的问题可以由分析人员返回前面的任一阶段开展完善工作)。
CRISP-DM:六阶段概述
1. 业务/研究理解阶段
a. 首先,根据业务或研究单元,从总体上清楚地阐明项目目标和需求。
b. 然后,将这些目标和约束转换为数据挖掘问题定义的公式。
c. 最后,准备实现这些目标的初步策略。
2. 数据理解阶段
a. 首先,收集数据。
b. 然后,通过探索性数据分析熟悉数据,发现浅层见解。
c. 评估数据质量。
d. 最后,如果需要的话,选择可能包含可执行模式的感兴趣数据子集。
3. 数据准备阶段
a. 该阶段需要投入大量的精力,涵盖准备最终数据集的方方面面,这些数据将用
于后续阶段,涉及初始数据、原始数据和脏数据。
b. 选择要分析的案例和变量,为分析做好准备工作。
c. 如果需要的话,对确定的变量进行转换。
d. 对原始数据展开清理工作,为使用建模工具建模打下基础。
4. 建模阶段
a. 选择并应用适当的建模技术。
b. 校准模型设置以优化结果。
c. 通常,对同一个数据挖掘问题可能要应用多种不同的技术。
d. 可能需要返回数据准备阶段,以便使数据形式能够符合特定数据挖掘技术对数
据的特定需求。
5. 评估阶段
a. 建模阶段将发布一个或多个模型。在将这些模型部署到现场进行使用前,必须
对模型质量和效果开展评估工作。
b. 同时要确认模型是否能完成阶段 1 设定的目标集。
c. 确认业务或研究问题的重要组成部分是否未被清楚地解释。
d. 最后,做出有关是否使用数据挖掘结果的决定。
6. 部署阶段
a. 建立了模型并不意味着项目已经完成。需要应用已建立的模型。
b. 简单部署实例:建立报表。
c. 复杂一些的部署实例:在其他部门实现并行数据挖掘过程。
d. 对商业应用来说,客户通常会基于建立的模型开展部署工作。

本书广泛采纳 CRISP-DM,当然有些方面进行了修改。例如,在执行探索性数据分析(第
3 章)前,我们趋向于先清理数据(第 2 章)。
1.5 数据挖掘的谬误
在美国众议院技术、信息政策、政府间关系和人口普查小组委员会以前的发言中,鹦
鹉螺系统公司总裁 Jen Que Louie 描述了对数据挖掘的 4 种常见谬误,其中两种与我们前述
的警告相同:
● 谬误 1:数据挖掘工具可以方便地连接到我们的数据仓库并得出问题的答案。
实际情况是,不存在能够机械式地自动解决你的问题并且你什么都不需要做的自
动化数据挖掘工具。数据挖掘是一个过程,而 CRISP-DM 是一种将数据挖掘过
程融合到整个业务和研究活动中的方法。
● 谬误 2:数据挖掘过程是自动化的过程,几乎不需要人为的监督。
实际情况是,数据挖掘不是魔术。没有训练有素的人员的监督,盲目使用数据挖
掘软件将会带给你错误问题的错误解答,并且运用到错误的数据类型。此外,错
误的分析比不做分析更糟,因为错误分析所产生的策略建议将带给你代价昂贵的
失败。即使部署模型之后,新数据的引入通常也需要对模型进行更新。必须由分
析人员不断地开展质量监督和其他的评估度量工作。
● 谬误 3:数据挖掘很快就会收回投资。
实际情况是,回报率差别很大,这依赖于初始开销、分析人员开销、数据仓库准
备的开销等。
● 谬误 4:数据挖掘软件包直观易用。
实际情况是,易用性也是千差万别的。然而,不要听信一些软件开发商广告的宣
传,你不能仅仅购买数据挖掘软件,安装并袖手旁观,等着它为你解决所有的问
题。例如,算法需要特定的数据格式,这可能需要大量的预处理工作。数据分析
人员必须同时具备分析问题的学科知识,并且熟悉整个业务和研究模型。
除了以上所列的谬误外,我们增加了其他 3 种常见的谬误。
● 谬误 5:数据挖掘将确定我们的业务或研究问题的原因。
实际情况是,知识发现过程将帮助你揭示行为模式。再次强调,确定原因是由人
完成的工作。
● 谬误 6:数据挖掘将自动清理混乱的数据库。
实际情况是,当然不是自动的。作为数据挖掘过程的最初阶段,数据准备阶段通
常用于处理多年来未检验和使用的数据。因此,开始新的数据挖掘操作的组织通

常将面对多年未使用的数据问题。由于多年未被使用,需要对这些数据进行大量
的更新工作。
● 谬误 7:数据挖掘总是会提供正面的结果。
实际情况是,当对数据进行挖掘工作以获得可用知识时,并不能保证获得正面的
结果。数据挖掘不是解决商业问题的灵丹妙药。通过由理解所涉及的模型、数据
需求和项目总体目标的人员适当地使用,数据挖掘的确能够提供有价值的、高效
益的结果。
以上讨论也可称为数据挖掘不能做什么工作。以下内容将转入讨论数据挖掘能做什么
工作。
1.6 数据挖掘能够完成的任务
以下列表展示最常见的数据挖掘任务:
数据挖掘任务
1 描述
2 评估
3 预测
4 分类
5 聚类
6 关联
1.6.1 描述
有时,研究人员和分析人员试图发现隐藏在数据中的模式和趋势描述方法。例如,民
意调查员可能会发现失业人员不大可能在总统选举中支持现任总统的证据。对此类模式和
趋势的描述通常会得出可能的解释。例如,失业人员的财务状况通常比现任总统就任前要
差得多,因此趋向于投票给新的总统候选人。
数据挖掘模型应该尽可能透明。也就是说,数据挖掘模型的结果应该描述清晰的模式,
这些模式服从直觉解释。一些数据挖掘方法比其他数据挖掘方法更适合透明解释。例如,
决策树提供直观的、便于人们理解的解释结果。然而,神经元网络由于模型的非线性和复
杂性,对非专业人士来说其解释相对要模糊得多。
高质量的描述通常能够以探索性数据分析实现,这是一种图形化的方法,对数据进行
探索以搜索模式和趋势。我们将在第 3 章中考察探索性数据分析方法。

1.6.2 评估
对评估来说,我们用一组数字和/或分类预测变量近似估计数字目标变量的值。建立的
模型使用“完整”的记录,这些记录提供了目标变量的值以及预测值。然后,对于新的观
测结果,估计目标变量与预测变量之间值的差异。
例如,我们对评估医院病人的收缩期血压读数感兴趣,该评估基于病人的年龄、性别、
身体质量指数、血钠水平等。收缩期血压与训练集中的预测变量之间的关系将给我们提供
一个评估模型。然后我们可以将该模型应用于新病例中。
业务和研究中涉及的评估任务包括:
● 评估一个随机选择的四口之家在秋季返校前的购物开销情况;
● 评估橄榄球联赛中进攻后卫在膝盖受伤后导致的折返跑动作下降的百分比;
● 评估勒布朗·詹姆斯在加时赛中面对包夹战术时每场比赛的得分情况;
● 基于本科生的 GPA,评估研究生的 GPA。
如图 1.2 所示,散点图表示 1000 名研究生的 GPA 与本科生的 GPA 的情况。按照最小
二乘准则的简单线性回归让我们能够发现这两个变量之间的近似关系。在已知学生本科
GPA 的情况下,图 1.2 所示的回归线用于评估研究生的 GPA。
研究生的 GPA
本科生的 GPA

图 1.2 基于回归线的回归评估
回归线的表达式(由统计软件包 Minitab 产生,图 1.2 也是由该软件包生成的)为
y x ˆ   1.24 0.67 。该公式表明,评估毕业生年级平均成绩等于 1.24 加上 0.67 倍本科生年
级平均成绩。例如,假定你的本科年级平均成绩为 3.0,则毕业生年级平均成绩为
y ˆ    1.24 0.67(3) 3.25 。注意点 ( 3.0, 3.25) x y   ˆ 精确地出现在回归线上,与线性回归预测
的结果完全一致。
统计分析领域提供了几种广泛使用的经典评估方法,包括点评估以及置信区间评估、

简单线性回归和关联、多元回归等。我们将在第 5、6、8、9 等章中介绍这些方法。第 12
章也可用于评估分析。
1.6.3 预测
预测与分类和评估类似,但预测主要是针对未来的情况。商业和研究领域的预测任务
包括:
● 预测未来 3 个月的股票价格;
● 在限速提高后,预测下一年交通死亡人数增加的百分比;
● 根据每个球队的统计结果比较,预测今年秋季世界杯系列赛的冠军;
● 预测药物研发中的某个特定分子是否会给制药公司带来有利可图的新药。
在适当的环境下,所有分类和评估技术使用的方法和技术也可以用于预测。这些方法
包括传统的点评估和置信区间评估、简单线性回归和关联、多元回归等统计方法,将在第
5 章、第 6 章、第 8 章和第 9 章中探讨。还包括数据挖掘和知识发现方法,如
k -最近邻方
法(第 10 章)、决策树(第 11 章)和神经元网络(第 12 章)等。
1.6.4 分类
分类方法与评估方法类似,区别是分类方法的目标变量是类别而不是数字。对分类来
说,包括一个目标分类变量,例如收入档次,该变量可分为 3 个类别或类:高收入、中等
收入和低收入。数据挖掘模型检验大量的数据记录,每个记录包含目标变量的信息以及一
组输入或预测变量。例如,考虑如表 1.1 所示的数据集摘录内容。
1.1 摘录自数据集的分类收入

目标 年龄 性别 职业 收入档次
001 47 软件工程师
002 28 营销顾问 中等
003 35 失业

假设研究人员希望对新个体的收入档次进行分类,该个体目前不在上述数据集中,而
是要基于与该个体相关的其他特征开展分类工作,例如年龄、性别、职业等。这就是典型
的分类任务,非常适合采用数据挖掘方法和技术来解决。
解决该问题的算法简单描述如下。首先,验证数据集中包含的预测变量和(已经分类的)
目标变量,即收入档次。以此方法,算法(软件)“通过学习知道”不同的变量组合与收入
档次的哪个类别关联。例如,年龄稍长的男性可能与高收入类别关联。该数据集称为训
练集。
然后,算法将查询新记录,新记录的收入档次一栏中尚未包含任何信息。基于训练集
中的分类,算法将给新记录分配其所属的类别。例如,63 岁的男性教授可能会被分类到高

收入类别中。
商业和研究领域的分类任务示例如下:
● 确定特定的信用卡交易是否存在欺诈;
● 根据其特定的需求,将新学生放入特定的队列中;
● 评估抵押贷款申请的信用风险;
● 确定遗嘱是否由死者书写,还是被他人篡改;
● 确定一定的财务或个人行为是否预示存在某种恐怖威胁。
例如在医疗领域中,假设我们希望根据病人的特征(如病人的年龄、病人的钠钾比)对
其服用药的类型进行分类。对于包括 200 名病人的样例,图 1.3 给出了病人钠钾比与病人
年龄的散点图。服用的不同药物由图中不同灰度的点表示。浅灰点表示药物 Y,中度灰点
表示药物 A 或 X,深灰点表示药物 B 或 C。图中钠钾比对应 Y(垂直)轴,年龄对应 X(水
平)轴。
钠钾比
年龄

图 1.3 何种药物应该让何种类型的病人服用
假定我们将基于该数据集,为病人开具处方药。
(1) 对于钠钾比高的年轻病人,我们应该推荐何种药物呢?
年轻病人位于图的左边,钠钾比高的病人位于图的上半部分,这表明以前推荐给具有
高钠钾比的年轻病人的药物为 Y(浅灰点)。因此,推荐给该类病人的预测分类药物为 Y。
(2) 对于具有低钠钾比的老年病人,我们应该推荐其服用何种药物呢?
该类病人处于图中右下的位置,已服用不同的药物,由深灰点(药物 B 或 C)或中度灰
点(药物 A 或 X)表示。在没有其他具体信息的情况下,无法获得确定的分类。例如,也许
这些药对 beta 阻滞剂、雌激素水平或其他药物存在不同的影响,或者存在禁忌条件,如哮
喘或心脏病等。
图形和图表有助于理解数据所包含的二维或三维关系。但有些时候,分类需要基于很

多不同的预测属性,并且需要多维图表。因此,我们需要开发更复杂的模型以执行分类任
务。在第 10~14 章中将对用于分类的常见数据挖掘方法开展讨论。
1.6.5 聚类
聚类是一种将相似的记录、观察和案例划分到同一个类别中的方法。聚类中的簇是相
似记录的集合,不相似的记录被划分到不同的簇中。聚类与分类的区别在于,其没有目标
变量。聚类任务不需要分类、评估或预测目标变量的值。相反,聚类算法发现并将整个数
据集划分为相对同质的子集合或簇,簇内的记录相似性最大化,簇外的记录与簇内的记录
相似性最小化。
Nielsen Claritas 公司处理聚类业务,他们提供按照邮政编码划分的全国不同地理区域
的人口统计概貌。该公司所使用的聚类机制之一是 PRIZM 分段系统,该系统描述美国所
有邮政编码区域的独特生活方式类型。表 1.2 展示的是涉及的 66 个不同簇。
1.2 PRIZM 分段系统使用的 66 个簇

01 Upper Crust 02 Blue Blood Estates 03 Movers and Shakers
04 Young Digerati 05 Country Squires 06 Winner’s Circle
07 Money and Brains 08 Executive Suites 09 Big Fish, Small Pond
10 Second City Elite 11 God’s Country 12 Brite Lites, Little City
13 Upward Bound 14 New Empty Nests 15 Pools and Patios
16 Bohemian Mix 17 Beltway Boomers 18 Kids and Cul-de-sacs
19 Home Sweet Home 20 Fast-Track Families 21 Gray Power
22 Young Influentials 23 Greenbelt Sports 24 Up-and-Comers
25 Country Casuals 26 The Cosmopolitans 27 Middleburg Managers
28 Traditional Times 29 American Dreams 30 Suburban Sprawl
31 Urban Achievers 32 New Homesteaders 33 Big Sky Families
34 White Picket Fences 35 Boomtown Singles 36 Blue-Chip Blues
37 Mayberry-ville 38 Simple Pleasures 39 Domestic Duos
40 Close-in Couples 41 Sunset City Blues 42 Red, White and Blues
43 Heartlanders 44 New Beginnings 45 Blue Highways
46 Old Glories 47 City Startups 48 Young and Rustic
49 American Classics 50 Kid Country, USA 51 Shotguns and Pickups
52 Suburban Pioneers 53 Mobility Blues 54 Multi-Culti Mosaic
55 Golden Ponds 56 Crossroads Villagers 57 Old Milltowns
58 Back Country Folks 59 Urban Elders 60 Park Bench Seniors
61 City Roots 62 Hometown Retired 63 Family Thrifts
64 Bedrock America 65 Big City Blues 66 Low-Rise Living

如表 1.2 所示,邮政编码 90210 的加利福尼亚贝弗里山地区的簇如下:
● 簇#01:上流社会
● 簇#03:名流权贵
● 簇#04:青年文人
● 簇#07:富人与老板
● 簇#16:波希米亚人
簇#01:上流社会的描述是“作为国家最独特的地域,上流社会是美国最富裕的生活
方式,年龄在 45~64 岁的空巢夫妇的天堂。其他区段没有像该区域一样具有如此大量年收
入 10 万美元以上且具有硕士学位的居民,也没有如此奢华的生活标准”。
业务和研究领域的聚类任务包括如下示例:
● 为不能投入大量市场预算的小型公司的小众产品确定目标市场;
● 出于财务审计目的,将财务行为划分为良好和可疑类别;
● 当数据集包含大量属性时,可作为一种降维工具;
● 对基因表示聚类,发现大量基因可能具有的相似行为。
聚类通常作为数据挖掘过程的预处理步骤执行,得到的簇当作下游的不同技术的进一
步输入,例如神经元网络等。第 19 章将讨论分层和 K 均值聚类,第 20 章将讨论 Kohonen
网络(一种自组织竞争型神经网络),第 21 章将讨论平衡迭代约简,以及使用层次的聚类方
法(BIRCH 方法)。
1.6.6 关联
数据挖掘的关联任务主要是发现哪些属性“同时出现”。商业领域最流行的方法常称
为关联分析或购物篮分析,其关联的任务是发现规则以量化两个或多个属性之间的关联关
系。关联规则是一些形如“如果存在
前件 ,则产生 结果 ”的规则,与规则有关的度量主要
涉及支持度和可信度。例如,在某个超市中可能会发现,于周四晚上到超市购物的 1000
名客户中有 200 人购买了尿布,在购买了尿布的 200 名顾客中有 50 人购买了啤酒。为此,
产生的关联规则为“如果购买了尿布,则还会购买啤酒”,该规则的支持度为 200/1000=20%,
可信度为 50/200=25%。
商业和研究领域中关联任务的示例包括:
● 调查在订购公司手机计划的客户群体中正面回应服务升级的客户所占的比例;
● 验证父母为其阅读的孩子自己成为优秀阅读者的比例;
● 预测电信网络出现问题的情况;
● 发现超市中哪些商品往往被客户一起购买,哪些商品从未一起购买;
● 确定新药物将显示出危险副作用的案例比例。
在第 22 章,我们将讨论建立关联规则的两种算法:先验算法以及广义规则归纳(GRI)
算法。

R 语言开发园地
R 语言入门
#注释、缩进以及分号
# 以#符号开始的所有字符均为注释
# 注释不会被 R 执行,它们主要用于解释代码将要做什么事情
# 缩进代码(不是注释)只要处于同一行中,就将在 R 中执行
# 由分号隔开的代码将作为不同的行运行
# 使用分号表示行结束
# 打开数据集并显示数据
# 使用你希望打开文件的准确位置替换"c:/…/"
cars <- read.csv(file = "C:/…/cars.txt", stringsAsFactors = FALSE)
cars #为显示整个数据集,应输入数据集名称
head(cars) #显示数据集的前几条记录
names(cars) #显示数据帧的变量名,这是 R 中的一种数据
cars$weight #仅查找在数据帧 cars 中的 weight 变量
# 矩阵
# 建立一个三行、两列的矩阵,将所有元素赋初值为 0.0
mat <- matrix(0.0, nrow = 3, ncol = 2); mat
colnames(mat) <- c("Var 1", "Var 2") #定义矩阵变量名
colnames(mat) #显示矩阵的变量名
# 数据子集化及声明新变量
cars.rsub cars[1:50,] #按行建立数据子集
cars.csub <- cars[,1:3] #按列建立数据子集
cars.rcsub <- cars[c(1,3,5), c(2,4)] #按特定的行和列建立数据子集
cars.vsub <- cars[which(cars$mpg> 30),] #根据逻辑条件建立数据子集
#声明新变量,键入变量名、左向箭头,然后给出变量值
firstletter <-"a"
weight <- cars$weight
# 同时显示一幅或多幅图
par(mfrow=c(1,1)) #画出 1 幅图;这是默认设置
par(mfrow=c(2,3)) #画出 6 幅图:其中 3 幅图画在顶部,另外 3 幅图画在底部
#图形将逐行地填充

# 下载并安装 R 软件包
R 参考文献
Wickham H. ggplot2: Elegant Graphics for Data Analysis . New York: Springer; 2009.
R Core Team. R: A Language and Environment for Statistical Computing. Vienna, Austria:
R Foundation for Statistical Computing; 2012. ISBN: 3-900051-07-0, http://www.R-project.org/.
练习
1. 对以下每个描述,确定与之相关的数据挖掘任务:
a. 波士顿凯尔特人队希望近似预测他们的下一个对手在与他们比赛时会得到多少分。
b. 某军事情报官员希望通过学习了解在某一个特定的战略区域内,两个派别各自
的比例。
c. 北美防空联合司令部的防御计算机必须立刻确定雷达上的光点是一群鹅还是来
袭的核导弹。
d. 政治策略师寻找特定国家/地区的募捐最佳组合。
e. 国土安全局官员希望确定一系列财务和住宅变动是否暗示具有恐怖行动的趋势。
f. 华尔街分析师被要求采用相似价格/收益比找出一系列公司股票价格的预期变化。
2. 对下列每场会议,解释其处于 CRISP-DM 过程的哪个阶段。
a. 项目经理想知道到下周为止是否将开始部署工作。因此,分析师开会讨论他们设
计模型的可用性和准确性。
b. 数据挖掘项目经理与数据仓库项目经理会面讨论如何收集数据。
c. 数据挖掘顾问与市场部副总经理会面,该经理表示他希望推进客户关系管理。
d. 数据挖掘项目经理与产品线管理人员会面,讨论如何实现改变和完善。
e. 分析师开会讨论是否需要应用神经元网络或决策树模型。
3. 讨论数据挖掘中对人的使用问题。描述完全依赖自动化数据分析工具可能带来的后果。
4. CRISP-DM 并不是数据挖掘领域唯一的标准过程。研究可以使用的替代方法(提示:
采样、探索、修改、建模和评估(SEMMA)出自 SAS 联盟的标准过程)。讨论其与 CRISP-DM
的异同。
# 示例:ggplot2, 见第 3 章
install.packages("ggplot2")
# 选择可选的 CRAN 镜像,如右图所示
# 打开新的软件包
library(ggplot2)

购买地址:

http://product.dangdang.com/25275423.html


请使用浏览器的分享功能分享到微信等