书籍详情
R语言数据分析、挖掘建模与可视化
作者:刘顺祥
出版社:清华大学出版社
出版时间:2020-11-01
ISBN:9787302567622
定价:¥99.00
购买这本书可以去
内容简介
本书循序渐进地介绍R语言在数据分析与挖掘中的应用,涵盖数据分析与挖掘的常规流程,如数据预处理(清洗、整合与运算等)、数据可视化(离散型与连续型数据的绘图姿势)、数据建模(十大数据挖掘模型的应用)等内容。本书共分15章:第1章介绍R语言的基础知识,对于R语言初学者具有非常大的帮助;第2~4章讲解R语言的数据读写操作和数据的清洗与整理(如缺失值、异常值的处理,数据的聚合汇总计算,正则表达式等);第5~6章重点阐述R语言中的绘图神器ggplot2,详细介绍绘图模板和图形的处理细节;第9~15章讲解十大常用数据挖掘模型,如回归模型、树模型、集成模型等。通过本书的学习,读者既可以掌握R语言的实操技巧,也可以掌握数据分析与挖掘的理论和应用。 本书既适于统计学、数学、经济学、金融学、管理学以及相关理工科专业的本科生、研究生使用,也有助于提高从事数据咨询、研究和分析等工作人士的专业水平和技能。
作者简介
刘顺祥 统计学硕士,“数据分析1480”微信公众号运营者。曾就职于大数据咨询公司,为联想、亨氏、美丽田园、网鱼网咖等企业项目提供服务;曾在唯品会大数据部担任数据分析师一职,负责电商支付环节的数据分析业务。 出版著作:《从零开始学Python数据分析与挖掘》。
目录
第1章 R语言的基础知识 1
1.1 R语言简介 1
1.2 R软件的下载与安装 2
1.3 第三方包的下载与加载 4
1.3.1 手动下载法 4
1.3.2 代码下载法 4
1.3.3 第三方包的加载 5
1.4 如何查看帮助文档 6
1.4.1 知包知函数——help函数 6
1.4.2 知函数未知包——help.search函数 6
1.4.3 知包未知函数——apropos函数 7
1.4.4 未知函数未知包——RSiteSearch函数 8
1.5 R语言中的数据结构 9
1.5.1 向量的创建 9
1.5.2 向量元素的获取 13
1.5.3 基于向量的数据类型转换 15
1.5.4 向量的因子化转换 18
1.5.5 基于向量的常用函数 20
1.6 矩阵的构造 21
1.6.1 矩阵索引的使用 23
1.6.2 基于矩阵运算的常用函数 24
1.7 数据框的构造及常用函数 24
1.7.1 构造数据框 24
1.7.2 基于数据框的常用函数 26
1.8 列表的构造及索引的使用 30
1.8.1 列表的构造 30
1.8.2 列表索引的使用 31
1.9 控制流语句及自定义函数 31
1.9.1 if分支 32
1.9.2 for循环 33
1.9.3 while循环 35
1.10 R语言中的自定义函数 37
1.11 巧用apply簇函数 38
1.11.1 tapply函数的使用 38
1.11.2 apply函数的使用 40
1.11.3 lapply与sapply函数的使用 42
1.12 教你一个爬虫项目 44
1.13 篇章总结 46
第2章 数据的读写操作 47
2.1 文本文件数据的读取 47
2.1.1 csv或txt格式的数据读入 47
2.1.2 Json格式的数据读入 53
2.2 Excel数据的读取 56
2.2.1 xlsx包读取Excel数据 56
2.2.2 readxl包读取Excel数据 60
2.3 数据库数据的读取 63
2.3.1 读取MySQL数据库 63
2.3.2 读取SQL Server数据库 66
2.4 几种常见的数据写出格式 70
2.4.1 写出至文本文件 70
2.4.2 写出至电子表格Excel 71
2.4.3 写出至数据库 73
2.5 篇章总结 74
第3章 数据的清洗与管理 76
3.1 重复记录的识别和处理 77
3.2 缺失值的识别 79
3.3 缺失值的处理办法 82
3.3.1 删除法 82
3.3.2 替换法 83
3.3.3 插补法 84
3.4 异常值的识别和处理 86
3.4.1 基于分位数法识别异常值 86
3.4.2 基于σ方法识别异常值 88
3.4.3 基于模型法识别异常值 90
3.4.4 异常值的处理办法 92
3.5 数据形状的重塑 93
3.5.1 reshape2包 93
3.5.2 Tidyr包 96
3.6 数据的聚合操作 97
3.6.1 基于aggregate函数的聚合 97
3.6.2 基于sqldf函数的聚合 99
3.6.3 基于group_by和summarize函数的聚合 101
3.7 数据的合并与连接 102
3.7.1 基于bind_rows函数的数据合并 102
3.7.2 基于*_join函数的数据连接 104
3.8 几种常用的抽样技术 106
3.8.1 简单随机抽样 106
3.8.2 分层抽样 107
3.8.3 整群抽样 108
3.9 篇章总结 109
第4章 基于正则表达式的字符串处理技术 111
4.1 基于字符串位置的处理技术 112
4.1.1 数据截断——特定位置的子串获取 112
4.1.2 数据清洗——非常规的字符型转数值型 114
4.1.3 数据清洗——字符串子串的隐藏 116
4.2 正则表达式的定义及用途 117
4.2.1 什么是正则表达式 117
4.2.2 正则表达式的常见用法 118
4.3 基于正则的单字符匹配 118
4.3.1 从静态文本的匹配开始 118
4.3.2 任意单字符的匹配 121
4.3.3 指定字符集的匹配 122
4.4 字符匹配次数的设置 125
4.4.1 无上限的次数匹配 125
4.4.2 有限次数的匹配 128
4.5 其他正则符号的使用 131
4.6 篇章总结 132
第5章 数据可视化技术的应用 134
5.1 条形图的绘制 136
5.2 饼图与环形图的绘制 140
5.3 矩形图与瓦片图的绘制 141
5.4 直方图与频次多边形图的绘制 144
5.5 箱线图与小提琴图的绘制 147
5.6 折线图与阶梯图的绘制 150
5.7 面积图与带状图的绘制 153
5.8 散点图及气泡图的绘制 155
5.9 区块频次图的绘制 160
5.10 核密度图的绘制 163
5.11 QQ图的绘制 165
5.12 篇章总结 166
第6章 可视化图形的个性化调整 169
6.1 分面图与组合图的绘制 169
6.2 参考线和文本标签的添加 175
6.3 轴系统coord_*的设置 180
6.4 尺度scale_*的设置 182
6.5 颜色、形状和线条类型的自定义设置 189
6.6 图形主题的设置 191
6.7 有关图例布局的调整 195
6.8 篇章总结 199
第7章 线性回归模型的预测应用 201
7.1 相关性分析 201
7.2 回归性分析 202
7.3 线性回归模型的介绍 203
7.4 回归系数求解 204
7.4.1 构造似然函数 205
7.4.2 取对数并整理 205
7.4.3 展开并求导 206
7.4.4 计算偏回归系数 206
7.5 实战案例——如何基于成本预测利润 206
7.6 模型的显著性检验——F检验 210
7.6.1 提出假设 210
7.6.2 构造统计量 210
7.6.3 计算统计量 211
7.6.4 对比统计量的值和理论分布值 212
7.7 参数的显著性检验——t检验 212
7.7.1 提出假设 212
7.7.2 构造统计量 213
7.7.3 计算统计量 213
7.7.4 对比统计量的值和理论分布值 214
7.8 变量选择——逐步回归法 214
7.9 验证模型的各类假设前提 216
7.9.1 多重共线性检验 216
7.9.2 正态性检验 217
7.9.3 独立性检验 220
7.9.4 方差齐性检验 220
7.10 模型的预测 222
7.11 篇章总结 223
第8章 岭回归与LASSO回归模型 225
8.1 岭回归模型的介绍 225
8.1.1 参数求解 226
8.1.2 系数求解的几何意义 227
8.1.3 岭回归模型的应用 228
8.1.4 模型的预测 234
8.2 LASSO回归模型的介绍 235
8.2.1 参数求解 236
8.2.2 系数求解的几何意义 237
8.2.3 LASSO回归模型的应用 238
8.2.4 模型的预测 240
8.3 篇章总结 242
第9章 Logistic回归模型的分类应用 244
9.1 Logistic回归模型的构建 245
9.2 Logistic回归模型的参数求解 247
9.2.1 极大似然估计 247
9.2.2 梯度下降 249
9.3 Logistic回归模型的参数解释 249
9.4 几种常用的模型评估方法 250
9.4.1 混淆矩阵 250
9.4.2 ROC曲线 251
9.4.3 K-S曲线 253
9.5 Logistic回归模型的应用 256
9.5.1 建模 256
9.5.2 预测 259
9.5.3 模型评估 260
9.6 篇章总结 262
第10章 决策树与随机森林的应用 264
10.1 节点字段的选择 265
10.1.1 信息增益 266
10.1.2 信息增益率 268
10.1.3 基尼指数 270
10.2 决策树的剪枝 272
10.2.1 误差降低剪枝法 272
10.2.2 悲观剪枝法 273
10.2.3 代价复杂度剪枝法 274
10.3 随机森林 276
10.3.1 随机森林的思想 277
10.3.2 随机森林的函数说明 278
10.4 决策树与随机森林的应用 279
10.4.1 分类问题的应用 280
10.4.2 预测问题的应用 287
10.5 篇章总结 290
第11章 KNN模型 292
11.1 KNN算法的思想 292
11.2 k值的选择 293
11.3 相似度的度量方法 294
11.3.1 欧氏距离 294
11.3.2 曼哈顿距离 295
11.3.3 余弦相似度 295
11.3.4 杰卡德相似系数 296
11.4 近邻样本的搜寻方法 297
11.4.1 KD树搜寻法 297
11.4.2 球树搜寻法 301
11.5 KNN模型的应用 303
11.5.1 分类问题的判别 304
11.5.2 预测性问题的解决 309
11.6 篇章总结 312
第12章 朴素贝叶斯模型 314
12.1 朴素贝叶斯理论基础 315
12.2 几种贝叶斯模型 316
12.2.1 高斯贝叶斯分类器 316
12.2.2 高斯贝叶斯分类器的应用 318
12.2.3 多项式贝叶斯分类器 322
12.2.4 多项式贝叶斯分类器的应用 324
12.2.5 伯努利贝叶斯分类器 327
12.2.6 伯努利贝叶斯分类器的应用 329
12.3 篇章总结 335
第13章 SVM模型 337
13.1 SVM的简介 338
13.1.1 距离公式的介绍 339
13.1.2 SVM的实现思想 339
13.2 几种常见的SVM模型 341
13.2.1 线性可分的SVM 341
13.2.2 一个手工计算的案例 344
13.2.3 近似线性可分SVM 346
13.2.4 线性SVM的损失函数 348
13.2.5 非线性可分SVM 349
12.2.6 几种常用的SVM核函数 351
12.2.7 SVM的回归预测 352
12.2.8 R语言函数介绍 353
13.3 分类性SVM模型的应用—手写字母的识别 355
13.4 预测性SVM回归模型的应用—受灾面积的预测 358
13.5 篇章总结 361
第14章 GBDT模型 363
14.1 提升树算法 364
14.1.1 AdaBoost算法的损失函数 364
14.1.2 AdaBoost算法的操作步骤 366
14.1.3 AdaBoost算法的简单例子 367
14.1.4 AdaBoost算法的应用 369
14.2 GBDT算法的介绍 375
14.2.1 GBDT算法的操作步骤 375
14.2.2 GBDT分类算法 376
14.2.3 GBDT回归算法 377
14.2.4 GBDT算法的应用 378
14.3 非平衡数据的处理 382
14.4 XGBoost算法 384
14.4.1 XGBoost算法的损失函数 384
14.4.2 损失函数的演变 386
14.4.3 XGBoost算法的应用 388
14.5 篇章总结 394
第15章 Kmeans聚类分析 396
15.1 Kmeans聚类 397
15.1.1 Kmeans的思想 397
15.1.2 Kmeans的原理 398
15.2 k值的确定 399
15.2.1 拐点法 400
15.2.2 轮廓系数法 402
15.2.3 Gap Statistic 404
15.3 Kmeans聚类的应用 407
15.3.1 鸢尾花类别的聚类 407
15.3.2 基于NBA球员历史参赛数据的聚类 410
15.4 Kmeans聚类的注意事项 415
15.5 篇章总结 416
1.1 R语言简介 1
1.2 R软件的下载与安装 2
1.3 第三方包的下载与加载 4
1.3.1 手动下载法 4
1.3.2 代码下载法 4
1.3.3 第三方包的加载 5
1.4 如何查看帮助文档 6
1.4.1 知包知函数——help函数 6
1.4.2 知函数未知包——help.search函数 6
1.4.3 知包未知函数——apropos函数 7
1.4.4 未知函数未知包——RSiteSearch函数 8
1.5 R语言中的数据结构 9
1.5.1 向量的创建 9
1.5.2 向量元素的获取 13
1.5.3 基于向量的数据类型转换 15
1.5.4 向量的因子化转换 18
1.5.5 基于向量的常用函数 20
1.6 矩阵的构造 21
1.6.1 矩阵索引的使用 23
1.6.2 基于矩阵运算的常用函数 24
1.7 数据框的构造及常用函数 24
1.7.1 构造数据框 24
1.7.2 基于数据框的常用函数 26
1.8 列表的构造及索引的使用 30
1.8.1 列表的构造 30
1.8.2 列表索引的使用 31
1.9 控制流语句及自定义函数 31
1.9.1 if分支 32
1.9.2 for循环 33
1.9.3 while循环 35
1.10 R语言中的自定义函数 37
1.11 巧用apply簇函数 38
1.11.1 tapply函数的使用 38
1.11.2 apply函数的使用 40
1.11.3 lapply与sapply函数的使用 42
1.12 教你一个爬虫项目 44
1.13 篇章总结 46
第2章 数据的读写操作 47
2.1 文本文件数据的读取 47
2.1.1 csv或txt格式的数据读入 47
2.1.2 Json格式的数据读入 53
2.2 Excel数据的读取 56
2.2.1 xlsx包读取Excel数据 56
2.2.2 readxl包读取Excel数据 60
2.3 数据库数据的读取 63
2.3.1 读取MySQL数据库 63
2.3.2 读取SQL Server数据库 66
2.4 几种常见的数据写出格式 70
2.4.1 写出至文本文件 70
2.4.2 写出至电子表格Excel 71
2.4.3 写出至数据库 73
2.5 篇章总结 74
第3章 数据的清洗与管理 76
3.1 重复记录的识别和处理 77
3.2 缺失值的识别 79
3.3 缺失值的处理办法 82
3.3.1 删除法 82
3.3.2 替换法 83
3.3.3 插补法 84
3.4 异常值的识别和处理 86
3.4.1 基于分位数法识别异常值 86
3.4.2 基于σ方法识别异常值 88
3.4.3 基于模型法识别异常值 90
3.4.4 异常值的处理办法 92
3.5 数据形状的重塑 93
3.5.1 reshape2包 93
3.5.2 Tidyr包 96
3.6 数据的聚合操作 97
3.6.1 基于aggregate函数的聚合 97
3.6.2 基于sqldf函数的聚合 99
3.6.3 基于group_by和summarize函数的聚合 101
3.7 数据的合并与连接 102
3.7.1 基于bind_rows函数的数据合并 102
3.7.2 基于*_join函数的数据连接 104
3.8 几种常用的抽样技术 106
3.8.1 简单随机抽样 106
3.8.2 分层抽样 107
3.8.3 整群抽样 108
3.9 篇章总结 109
第4章 基于正则表达式的字符串处理技术 111
4.1 基于字符串位置的处理技术 112
4.1.1 数据截断——特定位置的子串获取 112
4.1.2 数据清洗——非常规的字符型转数值型 114
4.1.3 数据清洗——字符串子串的隐藏 116
4.2 正则表达式的定义及用途 117
4.2.1 什么是正则表达式 117
4.2.2 正则表达式的常见用法 118
4.3 基于正则的单字符匹配 118
4.3.1 从静态文本的匹配开始 118
4.3.2 任意单字符的匹配 121
4.3.3 指定字符集的匹配 122
4.4 字符匹配次数的设置 125
4.4.1 无上限的次数匹配 125
4.4.2 有限次数的匹配 128
4.5 其他正则符号的使用 131
4.6 篇章总结 132
第5章 数据可视化技术的应用 134
5.1 条形图的绘制 136
5.2 饼图与环形图的绘制 140
5.3 矩形图与瓦片图的绘制 141
5.4 直方图与频次多边形图的绘制 144
5.5 箱线图与小提琴图的绘制 147
5.6 折线图与阶梯图的绘制 150
5.7 面积图与带状图的绘制 153
5.8 散点图及气泡图的绘制 155
5.9 区块频次图的绘制 160
5.10 核密度图的绘制 163
5.11 QQ图的绘制 165
5.12 篇章总结 166
第6章 可视化图形的个性化调整 169
6.1 分面图与组合图的绘制 169
6.2 参考线和文本标签的添加 175
6.3 轴系统coord_*的设置 180
6.4 尺度scale_*的设置 182
6.5 颜色、形状和线条类型的自定义设置 189
6.6 图形主题的设置 191
6.7 有关图例布局的调整 195
6.8 篇章总结 199
第7章 线性回归模型的预测应用 201
7.1 相关性分析 201
7.2 回归性分析 202
7.3 线性回归模型的介绍 203
7.4 回归系数求解 204
7.4.1 构造似然函数 205
7.4.2 取对数并整理 205
7.4.3 展开并求导 206
7.4.4 计算偏回归系数 206
7.5 实战案例——如何基于成本预测利润 206
7.6 模型的显著性检验——F检验 210
7.6.1 提出假设 210
7.6.2 构造统计量 210
7.6.3 计算统计量 211
7.6.4 对比统计量的值和理论分布值 212
7.7 参数的显著性检验——t检验 212
7.7.1 提出假设 212
7.7.2 构造统计量 213
7.7.3 计算统计量 213
7.7.4 对比统计量的值和理论分布值 214
7.8 变量选择——逐步回归法 214
7.9 验证模型的各类假设前提 216
7.9.1 多重共线性检验 216
7.9.2 正态性检验 217
7.9.3 独立性检验 220
7.9.4 方差齐性检验 220
7.10 模型的预测 222
7.11 篇章总结 223
第8章 岭回归与LASSO回归模型 225
8.1 岭回归模型的介绍 225
8.1.1 参数求解 226
8.1.2 系数求解的几何意义 227
8.1.3 岭回归模型的应用 228
8.1.4 模型的预测 234
8.2 LASSO回归模型的介绍 235
8.2.1 参数求解 236
8.2.2 系数求解的几何意义 237
8.2.3 LASSO回归模型的应用 238
8.2.4 模型的预测 240
8.3 篇章总结 242
第9章 Logistic回归模型的分类应用 244
9.1 Logistic回归模型的构建 245
9.2 Logistic回归模型的参数求解 247
9.2.1 极大似然估计 247
9.2.2 梯度下降 249
9.3 Logistic回归模型的参数解释 249
9.4 几种常用的模型评估方法 250
9.4.1 混淆矩阵 250
9.4.2 ROC曲线 251
9.4.3 K-S曲线 253
9.5 Logistic回归模型的应用 256
9.5.1 建模 256
9.5.2 预测 259
9.5.3 模型评估 260
9.6 篇章总结 262
第10章 决策树与随机森林的应用 264
10.1 节点字段的选择 265
10.1.1 信息增益 266
10.1.2 信息增益率 268
10.1.3 基尼指数 270
10.2 决策树的剪枝 272
10.2.1 误差降低剪枝法 272
10.2.2 悲观剪枝法 273
10.2.3 代价复杂度剪枝法 274
10.3 随机森林 276
10.3.1 随机森林的思想 277
10.3.2 随机森林的函数说明 278
10.4 决策树与随机森林的应用 279
10.4.1 分类问题的应用 280
10.4.2 预测问题的应用 287
10.5 篇章总结 290
第11章 KNN模型 292
11.1 KNN算法的思想 292
11.2 k值的选择 293
11.3 相似度的度量方法 294
11.3.1 欧氏距离 294
11.3.2 曼哈顿距离 295
11.3.3 余弦相似度 295
11.3.4 杰卡德相似系数 296
11.4 近邻样本的搜寻方法 297
11.4.1 KD树搜寻法 297
11.4.2 球树搜寻法 301
11.5 KNN模型的应用 303
11.5.1 分类问题的判别 304
11.5.2 预测性问题的解决 309
11.6 篇章总结 312
第12章 朴素贝叶斯模型 314
12.1 朴素贝叶斯理论基础 315
12.2 几种贝叶斯模型 316
12.2.1 高斯贝叶斯分类器 316
12.2.2 高斯贝叶斯分类器的应用 318
12.2.3 多项式贝叶斯分类器 322
12.2.4 多项式贝叶斯分类器的应用 324
12.2.5 伯努利贝叶斯分类器 327
12.2.6 伯努利贝叶斯分类器的应用 329
12.3 篇章总结 335
第13章 SVM模型 337
13.1 SVM的简介 338
13.1.1 距离公式的介绍 339
13.1.2 SVM的实现思想 339
13.2 几种常见的SVM模型 341
13.2.1 线性可分的SVM 341
13.2.2 一个手工计算的案例 344
13.2.3 近似线性可分SVM 346
13.2.4 线性SVM的损失函数 348
13.2.5 非线性可分SVM 349
12.2.6 几种常用的SVM核函数 351
12.2.7 SVM的回归预测 352
12.2.8 R语言函数介绍 353
13.3 分类性SVM模型的应用—手写字母的识别 355
13.4 预测性SVM回归模型的应用—受灾面积的预测 358
13.5 篇章总结 361
第14章 GBDT模型 363
14.1 提升树算法 364
14.1.1 AdaBoost算法的损失函数 364
14.1.2 AdaBoost算法的操作步骤 366
14.1.3 AdaBoost算法的简单例子 367
14.1.4 AdaBoost算法的应用 369
14.2 GBDT算法的介绍 375
14.2.1 GBDT算法的操作步骤 375
14.2.2 GBDT分类算法 376
14.2.3 GBDT回归算法 377
14.2.4 GBDT算法的应用 378
14.3 非平衡数据的处理 382
14.4 XGBoost算法 384
14.4.1 XGBoost算法的损失函数 384
14.4.2 损失函数的演变 386
14.4.3 XGBoost算法的应用 388
14.5 篇章总结 394
第15章 Kmeans聚类分析 396
15.1 Kmeans聚类 397
15.1.1 Kmeans的思想 397
15.1.2 Kmeans的原理 398
15.2 k值的确定 399
15.2.1 拐点法 400
15.2.2 轮廓系数法 402
15.2.3 Gap Statistic 404
15.3 Kmeans聚类的应用 407
15.3.1 鸢尾花类别的聚类 407
15.3.2 基于NBA球员历史参赛数据的聚类 410
15.4 Kmeans聚类的注意事项 415
15.5 篇章总结 416
猜您喜欢