图书简介:
第1章 大数据分析与挖掘概论 1
1.1 大数据分析与挖掘 1
1.1.1 大数据定义 1
1.1.2 大数据分析与挖掘的概念 2
1.2 大数据分析与挖掘流程 3
1.2.1 数据获取 3
1.2.2 数据预处理 3
1.2.3 数据分析 4
1.2.4 数据解释 5
1.3 大数据分析与挖掘应用 5
1.3.1 优化任务 5
1.3.2 预测任务 5
1.3.3 分类任务 5
1.3.4 识别任务 6
第2章 R语言编程基础 7
2.1 R语言的安装及配置 7
2.1.1 R语言的获取和安装 8
2.1.2 RStudio的获取和安装 9
2.2 界面与菜单 12
2.2.1 RGui界面 12
2.2.2 RStudio界面 12
2.3 变量与数据类型 15
2.3.1 变量 15
2.3.2 数据类型 15
2.4 数据结构 17
2.4.1 向量 17
2.4.2 数组 19
2.4.3 矩阵 21
2.4.4 列表 22
2.4.5 数据框 23
2.4.6 因子 25
2.5 控制语句 26
2.5.1 条件语句 26
2.5.2 循环语句 28
2.6 函数 30
2.6.1 内置函数 30
2.6.2 自定义函数 33
第3章 数据预处理 35
3.1 数据表的基本操作 35
3.1.1 数据表保存 35
3.1.2 数据表读取 37
3.1.3 选取子集 40
3.1.4 连接数据库 42
3.2 数据分组、分割、合并和变形 44
3.2.1 数据分组 44
3.2.2 数据分割 46
3.2.3 数据合并 47
3.2.4 数据变形 49
3.3 缺失值、异常值、重复值处理 52
3.3.1 缺失值 52
3.3.2 异常值 59
3.3.3 重复值 61
3.4 数据类型的转换 62
3.4.1 判断数据类型函数 62
3.4.2 转换数据类型的函数 63
3.5 提取字符 64
3.5.1 截取字符 64
3.5.2 正则表达式 65
第4章 探索性数据分析 69
4.1 描述性统计方法 69
4.1.1 常用统计指标 69
4.1.2 数据总结 70
4.2 数据可视化 72
4.2.1 箱线图 72
4.2.2 直方图 74
4.2.3 散点图 75
4.2.4 饼图 77
第5章 数据采集 80
5.1 网络数据采集的原理 80
5.1.1 网页通信的过程 80
5.1.2 请求数据的方法 87
5.1.3 网页的组成元素 88
5.2 数据采集入门 90
5.2.1 数据采集常用包概述 90
5.2.2 数据采集前的准备 91
5.2.3 编写第一个数据采集 92
5.3 使用常用的R包采集数据 96
5.3.1 使用RCurl包获取网络数据 96
5.3.2 使用rvest包获取网络数据 98
5.3.3 使用httr包获取网络数据 106
5.4 爬虫限制处理 107
5.4.1 解决IP限制问题 108
5.4.2 验证码处理 109
5.4.3 登录问题处理 110
第6章 时间序列算法 111
6.1 时间序列算法概述 111
6.1.1 时序对象 113
6.1.2 时序平滑处理 113
6.1.3 时序季节性分解 116
6.2 时序指数模型 118
6.3 时序ARIMA模型 122
第7章 线性回归算法 129
7.1 一元线性回归模型 129
7.2 多项式回归模型 131
7.3 多元线性回归模型 133
第8章 分类算法 136
8.1 Logistic回归 136
8.1.1 Logistic回归算法原理 137
8.1.2 逻辑回归算法应用 139
8.2 决策树 143
8.2.1 决策树算法原理 143
8.2.2 决策树算法应用 147
8.3 支持向量机 150
8.3.1 支持向量机算法原理 151
8.3.2 支持向量机算法应用 155
8.4 朴素贝叶斯 157
8.4.1 贝叶斯定理 157
8.4.2 最大似然估计 157
8.4.3 朴素贝叶斯分类算法原理 158
8.4.4 朴素贝叶斯分类算法应用 159
8.5 人工神经网络 166
8.5.1 人工神经网络的基本概念 166
8.5.2 感知器和人工神经元模型 167
8.5.3 前馈神经网络 168
8.5.4 人工神经网络算法应用 169
8.6 随机森林 177
8.6.1 随机森林算法原理 177
8.6.2 随机森林算法应用 178
8.7 XGBoost算法 183
8.7.1 XGBoost算法的原理 184
8.7.2 XGBoost算法应用 187
第9章 关联算法 189
9.1 关联算法概述 189
9.1.1 相关名词 190
9.1.2 关联规则及频繁项集的产生 190
9.2 Apriori算法 191
9.2.1 Apriori算法概述 191
9.2.2 先验原理 191
9.2.3 连接步和剪枝步 192
9.2.4 Apriori算法流程 193
9.2.5 Apriori算法实例 193
9.3 ECLAT算法 196
9.3.1 ECLAT算法概述 196
9.3.2 ECLAT算法流程 198
9.3.3 ECLAT算法实例 198
第10章 聚类算法 202
10.1 聚类算法概述 202
10.1.1 聚类算法的类型 202
10.1.2 聚类算法评估的特点 202
10.2 K均值聚类算法 203
10.2.1 划分方法概述 203
10.2.2 K均值聚类算法的优缺点 203
10.2.3 K均值聚类算法的流程 203
10.2.4 K均值聚类分析案例 204
10.3 凝聚式层次聚类算法 205
10.3.1 凝聚式层次聚类概述 205
10.3.2 凝聚式层次聚类算法流程 207
10.3.3 凝聚式层次聚类算法实例 209
【应用案例1】景点舆情数据采集 211
【应用案例2】旅游电商平台数据采集 218
【应用案例3】旅游网站景点路线推荐 233
【应用案例4】旅游城市和景点的负荷预测 236
【应用案例5】精品旅行服务成单预测 239
【应用案例6】航班延误预测 259
展开
前 言
2015年,党的十八届五中全会首次提出了“国家大数据战略”,同年8月31日国务院印发了《促进大数据发展行动纲要》;2016年9月19日,国务院出台了《政务信息资源共享管理暂行办法》,同年12月,工业和信息化部印发了《大数据产业发展规划(2016—2020年)》;2021年11月30日,工业和信息化部再次发布了《“十四五”大数据产业发展规划》,提出到2025年,我国大数据产业测算规模要突破3万亿元,年均复合增长率保持25%左右,创新力强、附加值高、自主可控的现代化大数据产业体系要基本形成。国家对大数据战略的空前重视,更凸显了大数据分析与挖掘的巨大价值,伴随着数据在各行业、各领域的深层渗透及应用,大数据已经成为影响竞争和发展的重要因素,而对大数据的探索、分析、挖掘已经成为了大数据分析领域的基本技能之一。
2017年3月26日,在浙江义乌正阳博瑞旅游产业发展有限公司与浙江师范大学联合成立的正阳旅游研究院的支持下,浙江师范大学经济与管理学院和经管之家CDA数据分析研究院合作举办了首期“正阳旅游大数据创新创业培训班”,以培养当前互联网经济背景下旅游业发展急需的兼具理论知识和实战经验的旅游大数据分析师。由于是首次开设旅游大数据创新创业培训班,市场上没有任何相应的教材可以借鉴,而培训对象是没有编程基础并且统计知识较为薄弱的旅游管理专业的学生,为了使他们能在较短的时间内理解大数据分析的真实价值,掌握大数据分析的过程,并能快速成长为兼有理论知识和实战经验的旅游大数据分析师,开发和出版大数据系列教材迫在眉睫。此时,具备强大统计能力的免费数据分析软件R语言进入了大家的视野,R语言具有免费、开源、资源丰富、简单易学、可视化优、兼容性好等优势,对于大数据的收集、转换、探索、建模、可视化方面的工作都能够完全胜任,因此,授课老师一致决定选择R语言作为旅游大数据创新创业培训班的数据分析工具。经过两轮的教学实践,这本《R语言大数据分析与挖掘》初步成形。
本书的目的是让读者掌握如何用R语言实现大数据分析与挖掘,秉持理论与实践相结合的原则,书中不仅提供了深入浅出的理论阐述及细致入微的思路剖析,还提供了大量的R语言操作代码,以达到引领读者迅速进入大数据分析与挖掘领域的目的。为了让读者提高解决实际问题的能力并对大数据分析与挖掘的各种方法融会贯通,书中配备了6个旅游行业的实际案例,包括旅游数据的采集、探索分析、挖掘建模等,这些案例中运用的方法同样适用于其他应用领域。
本书得益于很多人的帮助和支持。
首先,感谢上官诚兴先生,他通过出色的沟通工作促成了浙江师范大学经济与管理学院和经管之家CDA数据分析研究院的合作,并为首期“正阳旅游大数据创新创业培训班”的开班做了大量具体而细致的工作,这为本教材的出版提供了必要条件。
其次,非常感谢参与授课的零一老师、董雪婷老师、覃智勇老师为本教材的出版无偿提供了大量的素材和案例。
再次,由衷感谢浙江师范大学经济与管理学院旅游管理专业的同仁们,特别是龚海珍老师和马骏老师,因为他们的积极参与,正阳旅游大数据创新创业培训班才能得以正常运转,并良性循环。
另外,本教材的出版还受到了国家社科基金项目“基于抽样学习的非平衡数据分类方法研究(17BTJ028)”的资助,在此一并感谢。
编 者
展开