深入浅出R语言数据分析

深入浅出R语言数据分析"

作者:米霖
ISBN:9787302543886
定价:¥69
字数:千字
页数:
出版时间:2020.09.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书首先介绍数据分析的方法论,然后介绍数据分析的相关模型方法,并进一步通过数据分析案例,讲解数据分析的思维、方法及模型实现过程。本书重点介绍R语言在数据分析方面的应用,让读者能够快速地使用R语言进行数据分析、构建模型。 

本书分为17章,内容包括:使用R语言获取数据、数据分析中的数据处理与数据探索、生存分析、主成分分析、多维缩放、线性回归模型、逻辑回归模型、聚类模型、关联规则、随机森林、支持向量机、神经网络、文本挖掘、社交网络分析,以及关于R语言数据分析的两个延伸内容:H2O机器学习和R语言爬虫。 

本书内容通俗易懂,案例丰富,实用性强,特别适合R语言的入门读者和进阶读者阅读,也适合数据分析人员、数据挖掘人员等其他数据科学从业者。另外,本书也适用于统计学、计算机、机器学习、数学等相关专业的本科生、研究生使用。

前言

前 言

R语言由统计学家设计,专门用于统计计算。随着技术的进步,数据公司或研究机构

的数据收集工作变得越来越复杂,许多人已经采用R语言作为分析数据的首选语言。R语

言非常适合机器学习、数据可视化、数据分析及科学计算。R语言因其特定主题的软件包

及其通信基础设施的深入而非常适合业务。R语言包含主题广泛的软件包,如计量经济学、

金融学和时间序列;拥有一流的可视化、报告和交互性工具,这些工具在科学计算领域同

样重要。因此,R语言非常适合科学家、工程师和商业专业人士使用。

随着数据分析在帮助企业了解客户、提升运营效率等方面越来越重要,R语言也变得

越来越重要。

正如R语言分析师们在一篇文章中讲到,R语言是Microsoft数据科学家的首选工

具,他们将机器学习应用于Bing、Azure、Office及销售、营销和财务部门的数据。除

Google、Facebook和Microsoft等科技巨头外,R语言还广泛应用于包括美国银行、福特、

TechCrunch、Uber和Trulia在内的其他公司。

R语言不仅仅是工业工具,它在学术科学家和研究人员中也非常受欢迎。R语言在学术

界的受欢迎程度非常高,因为它创造了一个为行业提供支持的人才库。换句话说,如果最优

秀和最聪明的人在大学接受过R语言培训,那么这将增加R语言在工业中的重要性。离开学

术界进行商业活动的学者、博士和研究人员将吸引更多的人使用R语言进行数据科学研究。

笔者的使用体会

笔者以R语言为工具进行数据分析、统计建模、机器学习等数据科学的工作已经很多

年了,对R语言的原理、应用等各个方面有着比较全面的认识。R语言有着非常突出的优点。

第一,R语言是开源的,可以完成SAS所能完成的几乎所有的工作,SAS非常昂贵,

但是R语言完全免费。个人或者公司可以自由地安装、使用、更新、修改R语言程序,或

者转售R 语言程序,这是一个巨大的优势。

第二,R 语言是跨平台的,可以在Windows 、Mac OS 和Linux 上运行,可以从各种数

据源导入数据。

第三,R 语言有着非常强大的社区,其提供了非常丰富的数据科学、统计相关的资源

, 

可以使得每一个R 语言用户受益。正是这些资源,可以让一个非常复杂的问题得到快速解决。

第四,R 语言提供了强大的数据可视化功能,可以生成高质量的图形,如条形图、直方图、

散点图、动态图形、数学符号,甚至是自己设计的全新图形,通常只需很少的代码。

第五,R 语言的文档资源相当丰富,并且质量非常高,这对于学习R 语言及在工作中

使用R 语言有着非常大的帮助。因为R 语言涉及很多领域的应用,从生物、金融到贝叶斯

统计、网络分析,可以沿着R 语言资源的脉络了解其他领域的知识。

第六,R 语言同样可以用来处理PB 级别的业务数据。使用R 语言处理大量数据时

, 

系统可能会耗尽内存,但有几种商业版本的R 语言可以轻松处理大量业务数据,而不会有

任何麻烦。

使用R 语言存在一些挑战。R 语言的学习曲线比较陡峭,虽然R 语言的语法比较简单

, 

入门比较快;R 语言的强大在于其丰富的资源,掌握这些资源并加以利用并不是一件容易

的事情;另外,解决数据分析、数据科学方面的问题,仅仅了解R 语言是远远不够的,统

计理论、机器学习方面的知识同样是解决问题的门槛;并且,更重要的是掌握数据科学、

数据分析问题的思维方式及流程,而这些也不是短时间内就能掌握的。

但是,只要坚持学习下来,就会发现,R 语言提供的大量地应用于数据科学、数据分

析方面的资源都能够为我们所用,而我们也能游刃有余地解决数据分析相关的问题。

本书的特色

■ 

本书不需要太多的预备知识,只需要很少的数学统计知识。

■ 

本书含有大量的图表,通过示例讲解数据分析,不拘泥于理论,能够帮助读者快速

掌握数据分析方法。

■ 

本书案例丰富,很好地平衡了理论与应用,有着非常高的理论与实用价值,是学习

R 语言与数据分析不可多得的书籍。

■ 

本书将重点放在如何用实现数据分析方法及数据分析方法的应用方面,这也是本书

与许多其他同类图书的不同之处。

本书的主要内容

读 者 对 象

■ 

数据分析的从业人员

; 

■ 

统计、数学、经济学、计算机、财经等学科的本科生、研究生

; 

■ 

互联网从业人员,如产品经理

; 

■ 

R 语言、数据分析新手

; 

■ 

有一定R 语言经验的人

; 

■ 

转行进入数据分析行业的人

; 

目录

目 录

第1章 数据分析项目的流程

1.1 数据分析项目中的角色························1

1.2 数据分析项目的阶段····························2

1.2.1 制定目标·····················································3

1.2.2 收集数据·····················································3

1.2.3 数据处理和分析·········································4

1.2.4 构建模型·····················································7

1.2.5 评估模型·····················································8

1.2.6 展示结果·····················································9

1.2.7 部署与维护模型·······································10

1.3 总结······················································10

第2章 数据的读取

2.1 RData数据 ··········································11

2.2 readr高效读取数据 ····························13

2.3 读取Excel数据 ··································16

2.4 读取SPSS、SAS、STATA数据 ·······17

2.5 R语言操作数据库 ······························19

2.6 总结······················································23

第3章 数 据 探 索

3.1 缺失值的识别与处理··························24

3.1.1 缺失值的识别与描述性统计···················25

3.1.2 缺失值的可视化展示·······························26

3.1.3 缺失值的处理方法···································28

3.2 异常值··················································33

3.3 dlookr数据处理包 ······························38

3.3.1 所有变量的一般性诊断···························38

3.3.2 数值型变量的诊断···································39

3.3.3 分类变量的诊断·······································39

3.3.4 异常值的诊断···········································40

3.3.5 创建诊断报告···········································41

3.3.6 数据处理···················································42

3.3.7 缺失值处理···············································43

3.3.8 异常值处理···············································44

3.3.9 数据转换···················································46 

3.3.10 数据分箱·················································49 

3.3.11 创建数据转换报告·································52 

3.4 数据相关性··········································53 

3.5 自动化创建数据探索报告··················57 

3.6 总结······················································60 

第4 章生存分析

4.1 生存分析的基本内容··························61 

4.2 使用R 语言进行生存分析·················64 

4.3 非参数模型··········································66 

4.3.1 使用Kaplan-Meier 方法拟合数据 ··········66 

4.3.2 Kaplan-Meier 方法的可视化 ···················68 

4.4 半参数模型生存分析方法··················70 

4.4.1 构建Cox 模型··········································70 

4.4.2 检查假设···················································71 

4.4.3 Coxph 模型可视化···································73 

4.4.4 预测···························································74 

4.4.5 分层···························································75 

4.5 参数模型··············································77 

4.6 随机生存森林模型······························80 

4.7 总结······················································82 

第5 章主成分分析

5.1 概述······················································83 

5.1.1 维度相关的问题·······································83 

5.1.2 检测多重共线性·······································84 

5.1.3 方差膨胀因子···········································84 

5.2 主成分分析详解··································85 

5.2.1 主成分分析的定义···································85 

5.2.2 主成分分析的简单原理···························86 

5.2.3 主成分分析的算法···································87 

5.3 使用R 语言进行主成分分析·············88 

5.3.1 主成分分析的实现···································89 

5.3.2 主成分分析案例·······································91 

5.4 总结······················································96 

第6 章多维缩放

6.1 MDS 的工作原理································97 

6.3 MDS 的优点······································105 

6.2 在R 语言中实现MDS·······················98 

6.4 总结····················································106 

第7 章线性回归模型

7.1 线性回归模型概述····························107 

7.2 在R 语言中实现回归模型···············108 

7.2.1 图形分析·················································109 

7.2.2 建立线性模型·········································114 

7.2.3 回归模型的图形诊断·····························119 

7.2.4 预测模型·················································122 

7.2.5 抽样方法·················································124 

7.3 总结····················································126 

第8 章逻辑回归模型

8.1 逻辑回归的原理································127 

8.2 在R 语言中实现逻辑回归模型·······128 

8.2.1 数据探索·················································129 

8.2.2 构建逻辑回归模型·································131 

8.2.3 逻辑回归预测·········································133 

8.2.4 逻辑回归模型评估·································133 

8.3 总结····················································136 

第9 章聚类模型

9.1 概述····················································137 

9.1.1 聚类算法·················································137 

9.1.2 K均值聚类的原理·································138 

9.2 在R 语言中实现聚类模型···············139 

9.2.1 K均值聚类·············································140 

9.2.2 层次聚类·················································143 

9.2.3 Medoids 聚类(PAM) ·························144 

9.3 总结····················································146 

第10 章关联规则

10.1 关联规则概述··································147 

10.2 关联规则的基本概念······················148 

10.3 在R 语言中实现关联规划·············148 

10.3.1 训练模型···············································151 

10.3.2 模型的评估···········································153 

10.3.3 提升关联规则的效果···························154 

10.3.4 关联规则的可视化·······························155 

10.4 总结··················································158 

第11 章随机森林

11.1 随机森林的基本概念······················159 

11.3 总结··················································167 

11.2 在R 语言中实现随机森林 ·············161 

第12 章支持向量机

12.1 概述··················································168 

12.3 总结··················································179 

12.2 在R 语言中实现支持向量机·········171 

第13 章神经网络

13.2.2 评估模型效果·······································187

13.1 概述··················································180 

13.2 在R 语言中实现神经网络·············182 

13.3 总结··················································192 

13.2.1 构建神经网络模型·······························185 

第14 章文本挖掘

14.1 概述··················································193 

14.2 text2vec 背景及其基本原理 ···········194 

14.3 DTM 与TFIDF 的原理和实现·······194 

14.3.1 DTM 和TFIDF 的原理························194 

14.3.2 DTM 的实现·········································196 

14.3.3 TFIDF 的实现·······································199 

14.4 情感分析··········································199 

14.5 LDA 主题模型及其实现 ················206 

14.6 构建自动问答系统··························208 

14.7 总结··················································211 

第15 章社交网络分析

15.1 社交网络概述··································212 

15.2 igraph 简介 ······································213 

15.2.1 准备工作···············································214 

15.2.2 图的指标计算·······································215 

15.3 社交网络的常见结构······················217 

15.4 社交网络分析算法······················220 

IX 

15.4.1 Girvan-Newman ···································· 221 

15.4.2 基于传播标签的社区检测··················· 223 

15.4.3 基于贪婪优化模块的社区检测··········· 224 

15.4.4 自旋转玻璃社群··································· 224 

15.5 微博社交群体分析·························· 225 

15.5.1 自旋转玻璃社群··································· 226 

15.5.2 社群检测··············································· 228 

15.6 总结·················································· 229 

第16 章 H2O 机器学习

16.1 H2O 机器学习平台························· 230 

16.2 在R 语言中使用H2O ···················· 231 

16.2.1 H2O 的安装·········································· 231 

16.2.2 案例应用··············································· 231 

16.2.3 H2O 常用API ······································ 234 

16.2.4 模型的通用参数··································· 235 

16.2.5 参数调整··············································· 235 

16.3 H2O Flow········································· 238 

16.3.1 H2O Flow 的安装································· 238 

16.3.2 H2O Flow 的基本使用方法················· 239 

16.4 总结·················································· 244 

第17 章 R 语言爬虫

17.1 快速爬取网页数据·························· 245 

17.2 rvest 简介········································· 247 

17.2.1 rvest API················································ 248 

17.2.2 rvest API 详解······································· 249 

17.3 爬取BOSS 直聘数据······················ 250 

17.4 模拟登录·········································· 254 

作者简介

编辑推荐

8年实战经验,带你搞定R语言数据分析,有理论,有应用,有技巧

系统:从数据读取、网络爬虫,到数据分析方法,应有尽有 

全面:介绍了最常用的12种数据分析方法

实战:针对每种方法,都给出了实现代码,拿来就用

图解:提供了59张数据分析图,方便读者学习

免费提供配套学习视频+源程序下载

作者寄语

米霖,毕业于华中农业大学,本科数学专业,研究生统计学专业,8年R语言项目经验,擅长机器学习、统计模型。曾开发了多门R语言相关课程,课程包括《Shiny 初级教程》《R包开发》《H2O机器学习模型》《信用评分模型开发》《R语言文本挖掘》等,学员累计超过5000人。完成过很多数据分析项目,例如广告虚假流量识别项目(通过虚假流量数据的挖掘帮助企业节省了上百万元的营销成本),信贷中的信用评分项目,电商风控项目等。

电子资料

www.luweidong.cn

下一个