机器学习实战 使用R、tidyverse和mlr
正版保障 假一赔十 电子发票
¥
80.49
6.8折
¥
118
全新
库存8件
作者(英)赫芬·I.里斯
出版社清华大学出版社
ISBN9787302578277
出版时间2021-06
装帧平装
开本32开
定价118元
货号1202414588
上书时间2024-12-23
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
Hefin I. Rhys是一位有着8年教授R语言、统计学和机器学习经验的生命科学家和细胞学家。他将自己的统计学/机器学习知识贡献给多项学术研究,并热衷于讲授统计学、机器学习和数据可视化方面的课程。
目录
第Ⅰ部分 简介
第1章 机器学习介绍 2
1.1 机器学习的概念 3
1.1.1 人工智能和机器学习 4
1.1.2 模型和算法的区别 5
1.2 机器学习算法的分类 7
1.2.1 监督、无监督和半监督机器学习算法的区别 7
1.2.2 分类、回归、降维和聚类算法 9
1.2.3 深度学习简介 11
1.3 关于机器学习道德影响的思考 12
1.4 使用R语言进行机器学习的原因 13
1.5 使用哪些数据集 13
1.6 从本书可以学到什么 13
1.7 本章小结 14
第2章 使用tidyverse整理、操作和绘制数据 15
2.1 tidyverse和整洁数据的概念 15
2.2 加载tidyverse 17
2.3 tibble程序包及其功能介绍 17
2.3.1 创建tibble 18
2.3.2 将现有数据框转换为tibble 18
2.3.3 数据框和tibble的区别 19
2.4 dplyr程序包及其功能介绍 21
2.4.1 使用dplyr操作CO2数据集 21
2.4.2 链接dplyr函数 25
2.5 ggplot2程序包及其功能介绍 26
2.6 tidyr程序包及其功能介绍 29
2.7 purrr程序包及其功能介绍 32
2.7.1 使用map()函数替换 for循环 33
2.7.2 返回原子向量而非列表 34
2.7.3 在map()系列函数中使用匿名函数 35
2.7.4 使用walk()产生函数的副作用 35
2.7.5 同时遍历多个列表 37
2.8 本章小结 38
2.9 练习题答案 38
第Ⅱ部分 分类算法
第3章 基于相似性的k近邻分类 42
3.1 k近邻算法的概念 42
3.1.1 如何学习k近邻算法 42
3.1.2 如果票数相等,会出现什么情况 44
3.2 建立个kNN模型 45
3.2.1 加载和研究糖尿病数据集 45
3.2.2 运用mlr训练个kNN模型 47
3.2.3 mlr想要实现的目标:定义任务 47
3.2.4 告诉mlr使用哪种算法:定义学习器 48
3.2.5 综合使用任务和学习器:训练模型 49
3.3 平衡模型误差的两个来源:偏差-方差权衡 51
3.4 运用交叉验证判断是否过拟合或欠拟合 52
3.5 交叉验证kNN模型 53
3.5.1 留出法交叉验证 53
3.5.2 k-折法交叉验证 55
3.5.3 留一法交叉验证 57
3.6 算法将要学习的内容以及它们必须知道的内容:参数和超参数 59
3.7 调节k值以改进模型 60
3.7.1 在交叉验证中调整超参数 61
3.7.2 使用模型进行预测 63
3.8 kNN算法的优缺点 64
3.9 本章小结 64
3.10 练习题答案 65
第4章 对数几率回归分类 67
4.1 什么是对数几率回归 67
4.1.1 对数几率回归是如何学习模型的 68
4.1.2 当有两个以上的类别时,该怎么办 73
4.2 建立个对数几率回归模型 74
4.2.1 加载和研究titanic数据集 75
4.2.2 充分利用数据:特征工程与特征选择 75
4.2.3 数据可视化 77
4.2.4 训练模型 80
4.2.5 处理缺失数据 80
4.2.6 训练模型(使用缺失值插补方法) 81
4.3 交叉验证对数几率回归模型 81
4.3.1 包含缺失值插补的交叉验证 81
4.3.2 准确率是重要的性能度量指标吗 82
4.4 理解模型:几率比 83
4.4.1 将模型参数转换为几率比 83
4.4.2 当一个单位的增长没有意义时如何理解 84
4.5 使用模型进行预测 84
4.6 对数几率回归算法的优缺点 84
4.7 本章小结 85
4.8 练习题答案 85
第5章 基于判别分析的分离方法 88
5.1 什么是判别分析 88
5.1.1 判别分析是如何学习的 90
5.1.2 如果有两个以上的类别,应如何处理 92
5.1.3 学习曲线而不是直线:QDA 93
5.1.4 LDA和QDA如何进行预测 93
5.2 构建线性和二次判别模型 95
5.2.1 加载和研究葡萄酒数据集 95
5.2.2 绘制数据图 96
5.2.3 训练模型 97
5.3 LDA和QDA算法的优缺点 100
5.4 本章小结 101
5.5 练习题答案 101
第6章 朴素贝叶斯和支持向量机分类算法 103
6.1 什么是朴素贝叶斯算法 104
6.1.1 使用朴素贝叶斯进行分类 105
6.1.2 计算分类和连续预测变量的类条件概率 106
6.2 建立个朴素贝叶斯模型 107
6.2.1 加载和研究HouseVotes84数据集 107
6.2.2 绘制数据图 108
6.2.3 训练模型 109
6.3 朴素贝叶斯算法的优缺点 110
6.4 什么是支持向量机(SVM)算法 110
6.4.1 线性可分SVM 111
6.4.2 如果类别不是接近可分的,怎么办 112
6.4.3 非线性可分的SVM 113
6.4.4 SVM算法的超参数 115
6.4.5 当存在多个类别时,怎么办 116
6.5 构建个SVM模型 117
6.5.1 加载和研究垃圾邮件数据集 118
6.5.2 调节超参数 119
6.5.3 训练模型 122
6.6 交叉验证SVM模型 123
6.7 SVM算法的优缺点 124
6.8 本章小结 124
6.9 练习题答案 125
第7章 决策树分类算法 127
7.1 什么是递归分区算法 127
7.1.1 使用基尼增益划分树 129
7.1.2 如何处理连续和多级分类预测变量 130
7.1.3 rpart算法的超参数 132
7.2 构建个决策树模型 133
7.3 加载和研究zoo数据集 134
7.4 训练决策树模型 134
7.5 交叉验证决策树模型 139
7.6 决策树算法的优缺点 140
7.7 本章小结 140
第8章 使用随机森林算法和boosting技术改进决策树 142
8.1 集成学习技术:bagging、boosting和stacking 142
8.1.1 利用采样数据训练模型:bagging 143
8.1.2 从前序模型的错误中进行学习:boosting 144
8.1.3 通过其他模型的预测进行学习:stacking 147
8.2 建立个随机森林模型 148
8.3 建立个XGBoost模型 150
8.4 随机森林和XGBoost算法的优缺点 155
8.5 在算法之间进行基准测试 155
8.6 本章小结 156
第Ⅲ部分 回归算法
第9章 线性回归 158
9.1 什么是线性回归 158
9.1.1 如何处理多个预测变量 160
9.1.2 如何处理分类预测变量 162
9.2 建立个线性回归模型 163
9.2.1 加载和研究臭氧数据集 164
9.2.2 插补缺失值 166
9.2.3 自动化特征选择 168
9.2.4 在交叉验证中包含插补和特征选择 174
9.2.5 理解模型 175
9.3 线性回归的优缺点 178
9.4 本章小结 178
9.5 练习题答案 179
第10章 广义加性模型的非线性回归 180
10.1 使用多项式项使线性回归非线性 180
10.2 更大的灵活性:样条曲线和广义加性模型 182
10.2.1 GAM如何学习平滑功能 183
10.2.2 GAM如何处理分类变量 184
10.3 建立个GAM 184
10.4 GAM的优缺点 188
10.5 本章小结 188
10.6 练习题答案 189
第11章 利用岭回归、LASSO回归和弹性网络控制过拟合 190
11.1 正则化的概念 190
11.2 岭回归的概念 191
11.3 L2范数的定义及其在岭回归中的应用 193
11.4 L1范数的定义及其在LASSO中的应用 195
11.5 弹性网络的定义 197
11.6 建立岭回归、LASSO和弹性网络模型 198
11.6.1 加载和研究Iowa数据集 199
11.6.2 训练岭回归模型 200
11.6.3 训练LASSO模型 205
11.6.4 训练弹性网络模型 208
11.7 对岭回归、LASSO、弹性网络和OLS进行基准测试并对比 210
11.8 岭回归、LASSO和弹性网络的优缺点 211
11.9 本章小结 212
11.10 练习题答案 212
第12章 使用kNN、随机森林和XGBoost进行回归 215
12.1 使用kNN算法预测连续变量 215
12.2 使用基于决策树的算法预测连续变量 217
12.3 建立个kNN回归模型 219
12.3.1 加载和研究燃料数据集 220
12.3.2 调节超参数k 224
12.4 建立个随机森林回归模型 226
12.5 建立个XGBoost回归模型 227
12.6 对kNN、随机森林和XGBoost模型的构建过程进行基准测试 229
12.7 kNN、随机森林和XGBoost算法的优缺点 230
12.8 本章小结 230
12.9 练习题答案 231
第Ⅳ部分 降维算法
第13章 化方差的主成分分析法 234
13.1 降维的目的 234
13.1.1 可视化高维数据 235
13.1.2 维数灾难的后果 235
13.1.3 共线性的后果 235
13.1.4 使用降维减轻维数灾难和共线性的影响 236
13.2 主成分分析的概念 236
13.3 构建个PCA模型 240
13.3.1 加载和研究钞票数据集 240
13.3.2 执行PA 242
13.3.3 绘制PCA结果 243
13.3.4 计算新数据的成分得分 246
13.4 PCA的优缺点 247
13.5 本章小结 247
13.6 练习题答案 247
第14章 化t-SNE和UMAP的相似性 249
14.1 t-SNE的含义 249
14.2 建立个t-SNE模型 253
14.2.1 执行t-SNE 253
14.2.2 绘制t-SNE结果 255
14.3 UMAP的含义 256
14.4 建立个UMAP模型 258
14.4.1 执行UMAP 258
14.4.2 绘制UMAP结果 260
14.4.3 计算新数据的UMAP嵌入 261
14.5 t-SNE和UMAP的优缺点 261
14.6 本章小结 261
14.7 练习题答案 262
第15章 自组织映射和局部线性嵌入 263
15.1 先决条件:节点网格和流形 263
15.2 自组织映射的概念 264
15.2.1 创建节点网格 265
15.2.2 随机分配权重,并将样本放在节点上 266
15.2.3 更新节点权重以更好地匹配节点内部样本 267
15.3 建立个SOM 268
15.3.1 加载和研究跳蚤数据集 269
15.3.2 训练SOM 270
15.3.3 绘制SOM结果 272
15.3.4 将新数据映射到SOM 275
15.4 局部线性嵌入的概念 277
15.5 建立个LLE 278
15.5.1 加载和研究S曲线数据集 278
15.5.2 训练LLE 280
15.5.3 绘制LLE结果 281
15.6 建立跳蚤数据集的LLE 282
15.7 SOM和LLE的优缺点 283
15.8 本章小结 284
15.9 练习题答案 284
第Ⅴ部分 聚类算法
第16章 使用k-均值算法寻找中心聚类 288
16.1 k-均值算法的定义 288
16.1.1 Lloyd 算法 289
16.1.2 MacQueen算法 290
16.1.3 Hartigan-算法 291
16.2 建立个k-均值算法
模型 292
16.2.1 加载和研究GvHD数据集 292
16.2.2 定义任务和学习器 294
16.2.3 选择聚类的数量 295
16.2.4 调节k值和选择k-均值算法 298
16.2.5 训练终的、调节后的k-均值算法模型 301
16.2.6 使用模型预测新数据的聚类 303
16.3 k-均值算法的优缺点 304
16.4 本章小结 304
16.5 练习题答案 304
第17章 层次聚类 306
17.1 什么是层次聚类 306
17.1.1 聚合层次聚类 309
17.1.2 分裂层次聚类 310
17.2 建立个聚合层次聚类模型 311
17.2.1 选择聚类数量 312
17.2.2 切割树状图以选择平坦的聚类集合 317
17.3 聚类稳定吗 318
17.4 层次聚类的优缺点 320
17.5 本章小结 320
17.6 练习题答案 320
第18章 基于密度的聚类:DBSCAN和OPTICS 323
18.1 基于密度的聚类的定义 323
18.1.1 DBSCAN算法是如何学习的 324
18.1.2 OPTICS算法是如何学习的 326
18.2 建立DBSCAN模型 331
18.2.1 加载和研究banknote数据集 331
18.2.2 调节ε和minPts超参数 332
18.3 建立OPTICS模型 343
18.4 基于密度的聚类的优缺点 345
18.5 本章小结 346
18.6 练习题答案 346
第19章 基于混合建模的分布聚类 348
19.1 混合模型聚类的概念 348
19.1.1 使用EM算法计算概率 349
19.1.2 EM算法的期望和化步骤 350
19.1.3 如何处理多个变量 351
19.2 建立个用于聚类的高斯混合模型 353
19.3 混合模型聚类的优缺点 356
19.4 本章小结 357
19.5 练习题答案 357
第20章 终笔记和进一步阅读 359
20.1 简要回顾机器学习概念 359
20.1.1 监督机器学习、无监督机器学习和半监督机器学习 360
20.1.2 用于平衡模型性能的偏差-方差平衡 362
20.1.3 使用模型验证判断过拟合/欠拟合 362
20.1.4 在超参数调节下化模型性能 364
20.1.5 使用缺失值插补处理缺失数据 365
20.1.6 特征工程和特征选择 365
20.1.7 通过集成学习技术提高模型性能 366
20.1.8 使用正则化防止过拟合 366
20.2 学完本书后,还可以学习哪些内容 367
20.2.1 深度学习 367
20.2.2 强化学习 367
20.2.3 通用R数据科学和tidyverse 367
20.2.4 mlr教程以及创建新的学习器/性能度量 367
20.2.5 广义加性模型 367
20.2.6 集成方法 368
20.2.7 支持向量机 368
20.2.8 异常检测 368
20.2.9 时间序列预测 368
20.2.10 聚类 368
20.2.11 广义线性模型 368
20.2.12 半监督机器学习 369
20.2.13 建模光谱数据 369
20.3 结语 369
附录 复习统计学概念 370
内容摘要
《机器学习实战:使用R、tidyverse和mlr》将使用RStudio和非常棒的mlr程序包开启你的机器学习之旅。这本实用指南简化了理论,避免了不必要的复杂统计和数学知识,所有核心的机器学习技术都通过图形和易于掌握的示例进行清晰的解释。每一章的内容都十分引人入胜,你将掌握如何把新的算法付诸实践,以解决各种预测分析问题,包括泰坦尼克沉船事件中不同乘客的幸存概率、垃圾邮件过滤、毒酒事件调查等。
主编推荐
"为什么使用R语言进行机器学习?
R和Python是两种最常用的数据科学语言,两种语言并没有绝对优势,各有所长。Python是更通用的编程语言,优选的深度学习方法更容易通过使用Python来编写实现。R语言擅长数据分析、统计建模,有简化数据科学任务的tidyverse程序包。
为什么要用mlr程序包?
R语言中机器学习算法的通用接口,类似于Python的scikit-learn库。
为什么要用tidyverse程序包?
数据处理是机器学习中最耗时和复杂的部分,tidyverse程序包可以使数据的处理、转换和可视化变得简单、合理且可复制,大大简化了数据整理的过程。
"
— 没有更多了 —
以下为对购买帮助不大的评价