首页>参考读物>公共基础课>心理生活

实用预测分析
作者 : [美]拉尔夫·温特斯(Ralph Winters) 著
译者 : 刘江一 陈瑶 刘旭斌 译
出版日期 : 2018-07-13
ISBN : 978-7-111-60335-1
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 389
开本 : 16
原书名 : Practical Predictive Analytics
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书由经验丰富的数据架构师撰写,着眼于提高开发、实行预测分析所需的六项关键实用技能,系统阐述应用预测分析的原理和技术,并通过大量来自市场营销、零售和医疗领域的真实案例,详细讲解使用R、Spark等开源工具进行预测分析的实用方法和技巧。
全书共12章,第1章概述预测分析的发展历史及在各行各业中的应用;第2章讨论两种重要分析方法:CRISP-DM和SEMMA;第3章介绍数据输入和数据探索的各种方法;第4章和第5章分别详细讨论四种核心预测算法,即回归、决策树、聚类和支持向量机(SVM);第6章介绍生存分析技术并展示如何使用生存分析来解释和预测客户流失;第7章介绍关联规则和购物篮分析的概念及其应用;第8章介绍时间序列分析;第9章介绍SparkR;第10章展示如何用Spark R和Spark SQL执行一些探索性数据分析;第11章介绍如何使用Spark实现逻辑回归和聚类;第12章讲解如何使用Stop和Frisk数据集在Spark中运行决策树模型。

图书特色

以真实案例驱动,详细讲解使用R、Spark等开源工具进行预测分析的实用方法和技巧

图书前言

这是另一类关于预测分析的书。我写这本书的初衷是为传统分析人员介绍一些使用开放源码工具的预测分析技术。
不过,我很快意识到,传统分析工具的某些特性可以使新一代数据科学家受益。我曾经在企业数据解决方案方面做了大量工作,我很有兴趣撰写一些不同类型的主题,如分析方法、敏捷、元数据、SQL分析和可重复的研究,这些研究在一些数据科学/预测分析书中经常被忽略,但对分析项目的成功是至关重要的。
我还想写一些很少被提及的分析技术,这些技术超出了标准回归和分类任务的范围,例如使用生存分析来预测客户流失,使用购物篮分析作为推荐引擎。
由于基于云计算的解决方案已经有了很大的进展,我认为增加一些关于云分析(大数据)的内容很重要,所以我加入了一些在Spark环境中开发预测分析解决方案的章节。
本书的重点之一是触类旁通,我希望无论你的技术方向是什么,也无论你如何理解数据科学、预测分析、大数据,甚至是诸如预测这样的术语,都可以在这里找到适合自己需求的内容。
此外,作为数据科学团队的一部分,我要向领域专家们致敬。通常情况下,这些精通领域业务知识的分析师没有耀眼的头衔,但他们对于分析项目的成功至关重要。希望我讨论的一些话题能打动他们的心弦,让他们对预测分析的一些技术概念更感兴趣。
当Packt邀请我写一本关于预测分析的书时,我首先想到的是寻找一种优秀的开源语言,来弥合传统分析与当今数据科学家之间的鸿沟。我认真地考虑过这个问题,是因为每种语言在如何表达问题的解决方案方面都有细微的差别。然而,我决定最终不在意那些细节,因为预测分析这个概念不是依赖于任何一种编程语言的,而且编程语言的选择通常由个人偏好以及你所在的公司决定。
我最终选择了R语言,因为我的专业背景是统计学,我觉得R语言具有良好的统计学严谨性,现在它不但已经和SAS等适合的软件做了合理的整合,而且还与关系数据库系统以及Web协议有很好的整合。它还具有出色的绘图和可视化系统,以及用户贡献的许多好用的软件包,涵盖了大部分的统计和预测分析功能。
关于统计数据,我建议你尽可能多地学习相关知识。了解统计数据可以帮助你区分优良的模型与糟糕的模型,并通过了解基本概念—如中心倾向度量(平均值、中位数、众数)、假设检验、p值和效应大小—来帮助你识别不良数据中的许多问题。如果你了解数据统计,将不再仅仅以自动的方式运行封装好的软件,而是可以多少了解一些底层的运行机制。
R语言的一个缺点是它在内存中处理数据,因此在单个PC上使用时,软件会限制数据集的大小,使之处理不了更大的数据集。对于本书中使用的数据集,在单个PC上运行R程序来处理应该没有问题。 如果你有兴趣分析大数据,本书将用几章的篇幅讨论在云环境中的R和Spark,你可以在这些章中看到如何处理分布在许多不同计算机上的大型数据集。
谈到本书中使用的数据集,我不想使用那些你经常看到的、被人们反复分析的数据集。其中一些数据集的确非常适合用来演示技术,但我想要一些新的东西。然而,我没有看到多少我认为对本书有用的数据。有些数据来源不明,有些需要正式的使用许可,有些缺少好的数据字典。所以,在许多章节中,我最终使用R中的模拟技术生成自己的数据。我觉得这是一个不错的选择,因为借此机会我能够介绍一些可以在工作中使用的数据生成技术。
我使用的数据涵盖了广泛的范围,包括市场营销、零售和医疗保健应用。我本来希望能增加一些财务方面的预测分析用例,但时间不够用了。也许我会把这方面的内容留到另一本书中去讲!
本书主要内容
第1章从介绍预测分析的发展历史开始,然后讨论预测分析从业人员的一些不同角色,并描述他们从事的行业。接下来讨论在PC上组织预测分析项目的方法,介绍R语言,并以简短的预测模型为例结束该章。
第2章讨论如何将预测模型的开发过程组织成几个阶段,每个阶段都有不同的目标,如探索和问题定义,最后是预测模型的实际开发。该章讨论两种重要的分析方法:CRISP-DM和SEMMA。在该章中贯穿了一些示例代码,以展示一些方法的核心思想,希望你不会感到枯燥。
第3章介绍可以将自己的输入数据引入到R程序中的各种方法。该章还讨论使用标准SQL函数和R dplyr包的各种数据预处理方法。没有输入数据?没问题。该章将展示如何使用R语言的wakefield包生成你自己的模拟数据。
第4章从对有监督算法和无监督算法的讨论开始。该章的其余部分集中在回归算法,它是一种代表性的有监督算法。你将了解如何解释回归算法的输出,如模型系数和残差图。该章甚至提供一个交互式游戏,利用交互测试,看看你是否能够辨别一系列的残差是不是随
机的。
第5章重点讨论另外三种广泛使用的核心预测算法,而且把它们与回归结合起来,可用于解决许多(可能是大部分)预测分析问题。该章讨论的最后一个算法(支持向量机(SVM))通常用于诸如非结构化文本之类的高维数据,因此示例代码将附带使用一些客户投诉评论的文本挖掘技术。
第6章讨论一种称为生存分析的具体建模技术,并展示一个假设的客户营销满意度和保留示例。我们还将深入研究利用R中的抽样功能模拟客户选择的方法。
第7章介绍关联规则和购物篮分析的概念,并介绍一些可以根据在线零售商店销售的各种数据组合来预测未来销售情况的技术。该章还会引入一些文本分析技术和一些聚类分析技术,用来将各种客户分为不同的分组。除此之外,你将学到一些数据清理技术,还可以知道如何生成一些有趣的关联图。
第8章介绍时间序列分析。首先探讨CMS网站的医疗保健注册资料。接下来定义一些基本的时间序列概念,如简单和指数移动平均线。最后,在示例代码中使用R的预测软件包,顾名思义,它可以帮助你执行一些时间序列预测。
第9章介绍SparkR,它是使用R访问大型Spark聚类的环境,不需要安装本地版本的R。该章还会引入Databricks,一种用来针对基于Spark的大数据运行R(以及Python、SQL等)的基于云的环境。该章还介绍使用Pima Indians糖尿病数据库作为参考,将小型数据集转换为更大的Spark聚类的技术。
第10章展示如何利用SparkR和Spark SQL的组合,使用加载到Spark中的Pima Indians糖尿病数据,执行一些探索性数据分析。我们将使用一些特定的Spark命令来了解Spark数据的基础知识,这些命令允许我们过滤、分组和汇总,并将Spark数据可视化。
第11章先介绍一个使用Spark聚类构建的逻辑回归模型,进而对机器学习进行阐述。我们将学习如何将Spark数据分解为训练数据和测试数据,运行逻辑回归模型,然后评估其性能。
第12章教你如何使用Stop和Frisk数据集在Spark中运行决策树模型。你将学习如何将一些聚类样本提取到本地计算机中,然后运行一些你已经熟悉的非Spark算法来克服Spark MLlib环境的一些算法限制。该章还将介绍一种新的基于规则的算法OneR,并演示如何在Spark中混用不同的语言,例如在同一个笔记本中使用%魔法指令将R、SQL,甚至Python代码混合在一起。
阅读本书你需要什么知识
这不是一本预测分析的入门书,也不是学习R或Spark的入门书。我们希望读者有一些基础的R数据操作技术的知识。预先获取一些预测分析的知识也是有用的。如前所述,了解假设检验、相关性、平均值、标准偏差和p值等基本统计概念也有助于你阅读本书。
本书的读者对象
本书适用于已经接触过R,并且正在寻求学习如何开发企业预测分析解决方案的读者。此外,如果传统的业务分析师和经理希望扩展一些使用开源R程序进行预测分析的技能,可能会发现这本书很有用。了解其他编程语言、目前正在进行预测分析实践,或希望使用Spark了解预测分析的读者,也将会从有关Spark和R的章节中获益。
下载示例代码和彩图
在GitHub上提供了本书的代码,网址是:https://github.com/PacktPublishing/Practical-Predictive-Analytics。
我们还为读者提供了一个PDF文件,其中包含本书中使用的截图/图表的彩图。彩图将帮助你更好地了解输出数据中的变化。可以从以下网址下载此文件:https://www.packtpub.com/sites/default/files/downloads/PracticalPredictiveAnalytics_ColorImages.pdf。

上架指导

计算机/数据分析

封底文字

本书是一本与众不同的预测分析书,从技术和概念的角度介绍了很多不同的主题,如分析方法、敏捷、元数据、SQL、抽样和生存分析等。书中首先简洁地讲述预测分析的发展历史及R安装基础知识,然后详细介绍预测分析建模的6个步骤,你将学习输入、清洗以及准备建模数据所需的技巧。作者还探讨了为什么协作非常重要,敏捷迭代建模循环如何提高成功率,使你能顺利开发并部署最佳的模型,进而在云计算环境中进一步扩展你的技能,通过学习Databricks和SparkR,你将能够对海量的数据进行预测模型的开发。

通过阅读本书,你将:
掌握如今业务上使用的核心预测分析算法
学习实现一个成功的预测分析项目的6个步骤
根据需求遴选正确的算法
使用预测分析来研究医疗领域的问题
实现预测分析来挽留和获得你的客户
利用文本挖掘来理解非结构化数据
在个人电脑或者Spark/Hadoop环境中开发模型
为客户实现预测分析产品

作者简介

[美]拉尔夫·温特斯(Ralph Winters) 著:作者简介

拉尔夫·温特斯(Ralph Winters)目前在一家医疗服务公司担任数据架构师。他已经给很多名列世界500强的大企业提供过自己在统计和分析方面的经验,包括金融、市场营销、保险、医疗和制药领域的企业。他的工作包括很多不同类型的预测分析项目,包括客户保留、反洗钱、客户之声文本挖掘分析,以及医疗风险和客户选择模型。

译者序

接触本书之前,我们刚刚完成了另外一本书《Thoughtful Machine Learning with Python》的翻译工作—那是一本非常适合机器学习入门的图书,也是该领域中的经典之一。而讯速决定开展对本书的翻译,自然也是因为对其喜爱有加:
第一,预测分析是机器学习中非常有应用价值的一个子领域;
第二,本书相当适合作为一本进阶的教材,能帮助读者对机器学习在真实世界的应用有直观的、详细的认识;
第三,可以借此机会熟悉一门在机器学习和统计学领域广受欢迎的编程语言:R语言。
可能很多读者被本书吸引,也是出于类似的原因吧。
这里谈谈R语言。国内很多读者对R语言还不是很熟悉,但R语言在国外高校的统计系是一门必修的课程。R语言在部分运行环境中是开源的,这使它具有很强的生命力,其功能也日益丰富、强大、稳定。安装R语言本身所使用的资源很少,而且对不同操作系统的兼容性令人满意。可以用它方便地对数据进行必要的处理,并绘制出漂亮的图形以供深入观察分析。在项目初期选用R语言作为建模语言,数据接口的兼容性较高,能够快速搭建模型,并且和传统的统计型语言相比,可移植性较高,对机器学习模型的可扩展支持Package的资源也非常丰富。值得注意的是,从语言开发产品的能力来看,C语言和Java语言的商业可扩展性较高。例如商业化集成使用R语言进行大数据建模分析,主流服务器端的R语言环境多是基于Microsoft R Server,其他基于Linux服务器的R语言环境多由R语言IDE开发商来定制化支持。总结而言,R语言能够快速探索、搭建初期的模型、原型,可以称其为学术派语言,值得期待的是,R语言正在向商业化语言渐渐迈进。
有人说:“R固然好用,但学起来却头疼无比!”放心,已经有人用R编写好了丰富的示例代码,并详加解释,让你知道为何要这么做、为何不选另一种方法,而你还有哪些其他选择等。没错,这些示例在本书中随处可见。而且作者还会贴心地反复提醒读者注意避免某些错误,其重视程度,让人禁不住猜测,作者本人是否也是在各种错误中摸爬滚打,才练成了今天的段位……
还有人说:“数据量一大,R就慢得像爬行一样。”经验丰富的作者当然不会忘记为你提供趁手的解决方案,比如SparkR、抽样等。在本书的多个示例中,数据量较小的示例用于演示算法的基本原理,使用基本R足够。数据量大的示例中会展示何时需要从基本R转换到SparkR,高效地完成处理和抽样,再转换回基本R,开始绘制图形等R擅长的任务。
本书对算法的解释简练而形象,但它本质上仍是一本偏重动手操作类的书籍。本书的目的是通过真实的数据绘制出各种对比图形,让你真真切切地感受到预测分析项目是如何实现的,并会指导人们做出判断和行动—有时会令人莫名激动,恨不得马上找到真实数据集来动手试一试,看自己能否利用强大的预测分析能力去解释世界、影响世界。
以上只是我们觉得本书对读者帮助较大的地方,本书当然不止这一两项优点,它还有很多精彩等待你去发现。
在本书的翻译过程中,陈瑶翻译了第1章(部分)、第4章、第7章和第12章,刘旭斌翻译了第2章、第5章、第8章和第11章,刘江一翻译了前言、第1章(部分)、第3章、第6章、第9章和第10章。
感谢诸位译者在百忙之中挤出时间完成了这项有趣的工程!
感谢机械工业出版社华章分社的编辑在翻译过程中给予的悉心帮助和指导!

刘江一

参与本书翻译的初衷,是因为当时负责的有关性别预测分析(Gender Analysis)和情感倾向分析(Sentiment Analysis)的项目,在初期选用了R语言作为建模语言,数据接口的兼容性较高,能够快速搭建模型,并且和传统的统计型语言相比,可移植性较高,对机器学习模型的可扩展支持Package的资源也非常丰富。值得注意的是,从语言开发产品的能力来看,C语言和Java语言的商业可扩展性较高。例如商业化集成使用R语言进行大数据建模分析,主流服务器端的R语言环境,多是基于Microsoft R Server,其他基于Linux服务器的R语言环境多由R语言IDE开发商来定制化支持。
伴随着项目的进行,翻译完本书,总结而言,R语言能够快速探索、搭建初期的模型、原型,可以称其为学术派语言,值得期待的是,R语言正在向商业化语言渐渐迈进。

陈 瑶

图书目录

译者序
关于作者
关于审校者
前言
第1章 预测分析入门 1
1.1 许多行业中都有预测分析 2
1.1.1 市场营销中的预测分析 2
1.1.2 医疗中的预测分析 2
1.1.3 其他行业中的预测分析 3
1.2 技能和角色在预测分析中都很重要 3
1.3 预测分析软件 4
1.3.1 开源软件 5
1.3.2 闭源软件 5
1.3.3 和平共处 5
1.4 其他有用的工具 5
1.4.1 超越基础知识 6
1.4.2 数据分析/研究 6
1.4.3 数据工程 6
1.4.4 管理 7
1.4.5 数据科学团队 7
1.4.6 看待预测分析的两种不同方式 7
1.5 R 8
1.5.1 CRAN 8
1.5.2 安装R语言 8
1.5.3 其他安装R语言的方法 8
1.6 预测分析项目是如何组织的 9
1.7 图形用户界面 10
1.8 RStudio入门 11
1.8.1 重新布局以保持和示例一致 11
1.8.2 部分重要面板的简要描述 12
1.8.3 创建新项目 13
1.9 R语言控制台 14
1.10 源代码窗口 15
1.11 第一个预测模型 16
1.12 第二个脚本 18
1.12.1 代码描述 19
1.12.2 predict函数 20
1.12.3 检验预测误差 21
1.13 R语言包 22
1.13.1 stargazer包 22
1.13.2 安装stargazer包 23
1.13.3 保存工作 24
1.14 参考资料 24
1.15 本章小结 24
第2章 建模过程 25
2.1 结构化方法的优点 25
2.2 分析过程方法 26
2.2.1 CRISP-DM和SEMMA 27
2.2.2 CRISP-DM和SEMMA的图表 27
2.2.3 敏捷过程 28
2.2.4 六西格玛和根本原因 28
2.2.5 是否需要数据抽样 28
2.2.6 使用所有数据 29
2.2.7 比较样本与群体 29
2.3 第一步:理解业务 30
2.4 第二步:理解数据 36
2.4.1 衡量尺度 36
2.4.2 单变量分析 38
2.5 第三步:数据准备 43
2.6 第四步:建模 44
2.6.1 具体模型说明 45
2.6.2 逻辑回归 46
2.6.3 支持向量机 47
2.6.4 决策树 47
2.6.5 降维技术 51
2.6.6 主成分 51
2.6.7 聚类 52
2.6.8 时间序列模型 52
2.6.9 朴素贝叶斯分类器 53
2.6.10 文本挖掘技术 54
2.7 第五步:评估 57
2.7.1 模型验证 58
2.7.2 曲线下面积 59
2.7.3 样本内和样本外测试、前进测试 60
2.7.4 训练/测试/验证数据集 60
2.7.5 时间序列验证 61
2.7.6 最佳冠军模型的基准测试 61
2.7.7 专家意见:人与机器 61
2.7.8 元分析 61
2.7.9 飞镖板方法 61
2.8 第六步:部署 62
2.9 参考资料 62
2.10 本章小结 62
第3章 输入和探索数据 64
3.1 数据输入 64
3.1.1 文本文件输入 65
3.1.2 数据库表格 66
3.1.3 电子表格文件 67
3.1.4 XML和JSON数据 67
3.1.5 生成你自己的数据 68
3.1.6 处理大型文件的技巧 68
3.1.7 数据整理 68
3.2 连接数据 69
3.2.1 使用sqldf函数 69
3.2.2 生成数据 70
3.2.3 检查元数据 71
3.2.4 使用内部连接和外部连接来合并数据 72
3.2.5 识别有多个购买记录的成员 73
3.2.6 清除冗余记录 74
3.3 探索医院数据集 74
3.3.1 str(df)函数的输出 74
3.3.2 View函数的输出 75
3.3.3 colnames函数 75
3.3.4 summary函数 76
3.3.5 在浏览器中打开文件 77
3.3.6 绘制分布图 77
3.3.7 变量的可视化绘图 78
3.4 转置数据帧 80
3.5 缺失值 84
3.5.1 建立缺失值测试数据集 84
3.5.2 缺失值的不同类型 85
3.5.3 纠正缺失值 87
3.5.4 使用替换过的值运行回归 90
3.6 替换分类变量 91
3.7 异常值 91
3.7.1 异常值为什么重要 91
3.7.2 探测异常值 92
3.8 数据转换 96
3.8.1 生成测试数据 97
3.8.2 Box-Cox转换 97
3.9 变量化简/变量重要性 98
3.9.1 主成分分析法 98
3.9.2 全子集回归 102
3.9.3 变量重要性 104
3.10 参考资料 106
3.11 本章小结 106
第4章 回归算法导论 107
4.1 监督学习模型和无监督学习模型 108
4.1.1 监督学习模型 108
4.1.2 无监督学习模型 108
4.2 回归技术 109
4.3 广义线性模型 110
4.4 逻辑回归 110
4.4.1 比率 111
4.4.2 逻辑回归系数 111
4.4.3 示例:在医疗中使用逻辑回归来预测疼痛阈值 112
4.4.4 GLM模型拟合 114
4.4.5 检验残差项 115
4.4.6 添加变量的分布图 116
4.4.7 p值及其效应量 117
4.4.8 p值及其影响范围 118
4.4.9 变量选择 119
4.4.10 交互 121
4.4.11 拟合优度统计量 123
4.4.12 置信区间和Wald统计 124
4.4.13 基本回归诊断图 124
4.4.14 分布图类型描述 124
4.4.15 拟合优度:Hosmer-Lemeshow检验 126
4.4.16 正则化 127
4.4.17 示例:ElasticNet 128
4.4.18 选择一个正确的Lambda 128
4.4.19 基于Lambda输出可能的系数 129
4.5 本章小结 130
第5章 决策树、聚类和SVM导论 131
5.1 决策树算法 131
5.1.1 决策树的优点 131
5.1.2 决策树的缺点 132
5.1.3 决策树的基本概念 132
5.1.4 扩展树 132
5.1.5 不纯度 133
5.1.6 控制树的增长 134
5.1.7 决策树算法的类型 134
5.1.8 检查目标变量 135
5.1.9 在rpart模型中使用公式符号 135
5.1.10 图的解释 136
5.1.11 输出决策树的文本版本 137
5.1.12 修剪 138
5.1.13 渲染决策树的其他选项 139
5.2 聚类分析 140
5.2.1 聚类分析应用于多种行业 140
5.2.2 什么是聚类 140
5.2.3 聚类的类型 141
5.2.4 k均值聚类算法 141
5.2.5 测量聚类之间的距离 143
5.2.6 聚类的肘形图 146
5.3 支持向量机 151
5.3.1 映射函数的简单说明 152
5.3.2 使用SVM分析消费者投诉数据 153
5.3.3 将非结构化数据转换为结构化数据 154
5.4 参考资料 157
5.5 本章小结 157
第6章 使用生存分析来预测和分析客户流失 158
6.1 什么是生存分析 158
6.1.1 依赖时间的数据 159
6.1.2 删失 159
6.2 客户满意度数据集 160
6.2.1 利用概率函数生成数据 161
6.2.2 创建矩阵图表 166
6.3 划分训练和测试数据 167
6.4 通过创建生存对象来设置阶段 168
6.5 检查生存曲线 170
6.5.1 更好的绘图 172
6.5.2 对比生存曲线 173
6.5.3 检验生存曲线之间的性别差异 174
6.5.4 检验生存曲线之间的教育程度差异 174
6.5.5 绘制客户满意度和服务电话数量曲线 175
6.5.6 添加性别来改进教育程度生存曲线 176
6.5.7 把服务电话转换成二进制变量 178
6.5.8 检验打过和没打过服务电话的客户 179
6.6 cox回归建模 179
6.6.1 我们的第一个模型 180
6.6.2 检查cox回归的输出 182
6.6.3 比例风险测试 182
6.6.4 比例风险绘图 183
6.6.5 获取cox生存曲线 184
6.6.6 绘制曲线 184
6.6.7 偏回归绘图 184
6.6.8 检查子集的生存曲线 186
6.6.9 比较性别差异 187
6.6.10 验证模型 188
6.6.11 决定一致性 191
6.7 基于时间的变量 191
6.7.1 改变数据以反映第二次调查 192
6.7.2 survSplit的工作原理 192
6.7.3 调整记录来模拟一次干预 193
6.7.4 运行基于时间的模型 195
6.8 比较模型 197
6.9 变量选择 197
6.9.1 合并交互作用项 199
6.9.2 比较各个备选模型的AIC 199
6.10 本章小结 200
第7章 使用购物篮分析作为推荐系统引擎 201
7.1 什么是购物篮分析 201
7.2 检查杂货明细 202
7.3 示例购物篮 203
7.4 关联规则算法 204
7.5 先例和后果 205
7.6 评估规则的准确性 205
7.6.1 支持度 206
7.6.2 计算支持度 206
7.6.3 置信度 206
7.6.4 提升度 206
7.7 准备原始数据文件进行分析 207
7.7.1 读取交易文件 207
7.7.2 capture.output函数 208
7.8 分析输入文件 208
7.8.1 分析发票日期 209
7.8.2 绘制日期 210
7.9 净化和清洗数据 211
7.9.1 移除不必要的字符空格 211
7.9.2 简化描述 212
7.10 自动移除颜色 212
7.10.1 colors()函数 212
7.10.2 清洗颜色 213
7.11 过滤单个商品交易 214
7.12 将结果合并到原始数据中 216
7.13 使用camelcase压缩描述 217
7.13.1 自定义函数映射到camelcase 217
7.13.2 提取最后一个单词 218
7.14 创建测试和训练数据集 219
7.14.1 保存结果 220
7.14.2 加载分析文件 220
7.14.3 确定后续规则 221
7.14.4 替换缺失值 222
7.14.5 制作最后的子集 222
7.15 创建购物篮交易文件 223
7.16 方法1:强制将数据帧转换为交易文件 223
7.16.1 检查交易文件 225
7.16.2 获取topN购买商品 225
7.16.3 寻找关联规则 226
7.16.4 检验规则摘要 228
7.16.5 检验规则质量并观察最高支持度 228
7.16.6 置信度和提升度指标 229
7.16.7 过滤大量规则 229
7.16.8 生成大量规则 232
7.16.9 绘制大量规则 232
7.17 方法2:创建一份物理交易文件 233
7.17.1 再次读取交易文件 234
7.17.2 绘制规则 237
7.17.3 创建规则的子集 237
7.17.4 文本聚类 239
7.18 转换为一个文献术语相关矩阵 240
7.18.1 移除稀疏术语 241
7.18.2 找出频繁术语 242
7.19 术语的k均值聚类 243
7.19.1 研究聚类1 243
7.19.2 研究聚类2 244
7.19.3 研究聚类3 244
7.19.4 研究聚类4 244
7.19.5 研究聚类5 245
7.20 预测聚类分配 245
7.20.1 使用flexclust预测聚类分配 245
7.20.2 运行k均值生成聚类 246
7.20.3 创建测试DTM 247
7.21 在聚类中运行apriori算法 249
7.22 总结指标 250
7.23 参考资料 250
7.24 本章小结 251
第8章 将医疗注册数据作为时间序列探索 252
8.1 时间序列数据 252
8.2 健康保险覆盖率数据集 253
8.3 准备工作 253
8.4 读入数据 253
8.5 从各列提取子集 254
8.6 数据的描述 254
8.7 目标时间序列变量 255
8.8 保存数据 256
8.9 确定所有子集组 256
8.10 将汇总数据合并回原始数据 257
8.11 检查时间间隔 258
8.12 按平均人数挑选最高级别的群体 259
8.13 使用lattice绘制数据 259
8.14 使用ggplot绘制数据 260
8.15 将输出发送到外部文件 261
8.16 检查输出 262
8.17 检测线性趋势 262
8.18 自动化回归 263
8.19 对系数进行排序 264
8.20 将分数合并回原始的数据帧 265
8.21 用趋势线绘制数据 265
8.22 绘制一个图表上的全部类别 268
8.23 使用ets函数执行一些自动预测 269
8.24 使用移动平均线来使数据平滑 269
8.25 简单移动平均线 270
8.26 验证SMA的计算值 271
8.27 指数移动平均线 271
8.27.1 使用函数计算EMA 272
8.27.2 选择平滑因子 273
8.28 使用ets函数 273
8.29 使用ALL AGES做预测 274
8.30 绘制预测值和实际值 275
8.31 forecast(fit)方法 276
8.32 用置信带来绘制未来的值 276
8.33 修改模型以包含趋势组件 277
8.34 对所有类别迭代运行ets函数 279
8.35 onestep生成的精度指标 280
8.36 比较UNDER 18 YEARS组的测试和训练 281
8.37 精度指标 282
8.38 参考资料 283
8.39 本章小结 283
第9章 Spark 284
9.1 关于Spark 284
9.2 Spark环境 285
9.2.1 聚类计算 285
9.2.2 并行计算 286
9.3 SparkR 286
9.4 构建第一个Spark数据帧 287
9.5 导入相同的笔记本 288
9.6 创建一个新的笔记本 289
9.7 从小开始变大 289
9.8 运行代码 290
9.9 运行初始化代码 291
9.10 解压缩皮马印第安人糖尿病数据集 291
9.10.1 检查输出 291
9.10.2 比较结果 293
9.10.3 检查缺失值 294
9.10.4 输入缺失值 294
9.10.5 检查替换值(读者练习) 295
9.10.6 缺失值处理完成 296
9.10.7 计算相关性矩阵 296
9.10.8 计算各列的均值 298
9.11 仿真数据 299
9.11.1 使用哪些相关性 299
9.11.2 检查对象类型 300
9.12 仿真糖尿病阴性结果的情况 301
9.13 运行汇总统计 302
9.14 保存你的工作 303
9.15 本章小结 303
第10章 用Spark探索大型数据集 304
10.1 对阳性数据进行一些探索性分析 304
10.1.1 显示Spark数据帧的内容 305
10.1.2 用本地绘图特性来绘图 305
10.1.3 直接对一个Spark数据帧运行两两相关性计算 306
10.2 清理和缓存内存中的表格 307
10.3 一些探索数据时有用的Spark函数 307
10.3.1 count和groupby 307
10.3.2 协方差和相关性函数 308
10.4 创建新列 309
10.5 构建一个交叉表 310
10.6 构建直方图 310
10.7 使用ggplot绘图 312
10.8 Spark SQL 312
10.8.1 注册表格 313
10.8.2 通过R接口发布SQL 313
10.8.3 用SQL来检查潜在异常值 314
10.8.4 创建一些汇总 314
10.8.5 用第三个查询选出一些潜在异常值 315
10.8.6 变成SQL API 315
10.8.7 SQL:用case语句计算一个新列 316
10.8.8 基于年龄段评估结果变量 317
10.8.9 计算所有变量的均值 318
10.9 从Spark回到R来探索数据 319
10.10 运行本地R包 320
10.10.1 使用pairs函数(在基本包中提供) 320
10.10.2 生成一个相关性图形 320
10.11 一些关于使用Spark的技巧 321
10.12 本章小结 321
第11章 Spark机器学习:回归和聚类模型 322
11.1 关于本章/你将学到什么 322
11.1.1 读取数据 322
11.1.2 运行数据帧的摘要并保存对象 323
11.2 将数据分割成训练和测试数据集 324
11.2.1 生成训练数据集 324
11.2.2 生成测试数据集 325
11.2.3 关于并行处理的说明 325
11.2.4 将误差引入测试数据集 325
11.2.5 生成分布的直方图 326
11.2.6 生成有误差的新测试数据 326
11.3 使用逻辑回归的Spark机器学习 327
11.3.1 检查输出 327
11.3.2 正则化模型 328
11.3.3 预测结果 329
11.3.4 绘制结果 330
11.4 运行测试数据的预测 331
11.5 合并训练和测试数据集 331
11.6 将这三个表提供给SQL 333
11.7 验证回归结果 333
11.8 计算拟合度的好坏 333
11.9 测试组的混淆矩阵 334
11.10 在Spark以外绘图 337
11.10.1 收集结果的样本 337
11.10.2 按outcome的值检查分布 337
11.10.3 注册一些额外的表 338
11.11 创建一些全局视图 338
11.11.1 用户练习 338
11.11.2 聚类分析 339
11.11.3 准备进行分析的数据 339
11.11.4  从全局视图读取数据 339
11.11.5  输入以前计算的平均值和标准偏差 340
11.11.6 连接平均值和训练数据的标准偏差 340
11.11.7 连接平均值和测试数据的标准偏差 341
11.12 归一化数据 342
11.12.1 显示输出 342
11.12.2 运行k均值模型 343
11.12.3 将模型拟合到训练数据 344
11.12.4 将模型拟合到测试数据 344
11.12.5 以图形方式显示聚类分配 345
11.13 通过聚类的平均值来描述它们的特征 347
11.14 本章小结 348
第12章 Spark模型:基于规则的学习 349
12.1 加载盘查(停止和搜身)数据集 349
12.2 读取表格 351
12.2.1 运行第一个单元 351
12.2.2 将整个文件读取到内存中 351
12.2.3 将变量转化为整数 352
12.3 发现重要特征 353
12.3.1 消除级别过多的因子 354
12.3.2 测试和训练数据集 354
12.3.3 检查分级数据 355
12.4 运行OneR模型 356
12.4.1 理解输出 356
12.4.2 构建新变量 358
12.4.3 在测试样本上运行预测 358
12.5 另一个OneR例子 359
12.6 使用rpart构建决策树 361
12.6.1 首先收集样本 361
12.6.2 使用rpart的决策树 361
12.6.3 绘制树 362
12.7 运行Python中的另一种模型 363
12.7.1 运行Python决策树 363
12.7.2 读取盘查表格 363
12.8 索引分类特征 364
12.8.1 映射到RDD 366
12.8.2 指定决策树模型 366
12.8.3 生成更大的树 367
12.8.4 可视化树 368
12.8.5 比较训练决策树和测试决策树 368
12.9 本章小结 370

教学资源推荐
作者: 主编 贾 楠 乔凯平
作者: (美)保罗M.马金斯基(Paul M.Muchinsky) 著
作者: (美) 巴里 H. 坎特维茨(Barry H. Kantowitz) 密歇根大学 亨利 L. 罗迪格(Henry L. Roediger, III)圣路易斯华盛顿大学 戴维 G. 埃尔姆斯(David G. Elmes)华盛顿与李大学 著 郭秀艳 导读
作者: [美]安妮塔·伍尔福克(Anita Woolfolk) 著
参考读物推荐
作者: [美]卡尔·皮克哈特(Carl Pickhardt)著
作者: [法]玛丽昂·沙罗(Marion Charreau)[美]珍妮弗·约翰逊(Jenifer L. Johnson) 著
作者: (美)凯蒂·赫尔利(Katie Hurley)著
作者: [美]斯科特·贝里纳托(Scott Berinato) 著