书籍详情
《机器学习实战:使用R、tidyverse和mlr》[26M]百度网盘|亲测有效|pdf下载
  • 机器学习实战:使用R、tidyverse和mlr

  • 出版社:科技生活自营旗舰店
  • 出版时间:2021-06
  • 热度:9810
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

编辑推荐

为什么使用R语言进行机器学习?

R和Python是两种最常用的数据科学语言,两种语言并没有绝对优势,各有所长。Python是更通用的编程语言,先进的深度学习方法更容易通过使用Python来编写实现。R语言擅长数据分析、统计建模,有简化数据科学任务的tidyverse程序包。


为什么要用mlr程序包?

R语言中机器学习算法的通用接口,类似于Python的scikit-learn库。


为什么要用tidyverse程序包?

数据处理是机器学习中最耗时和复杂的部分,tidyverse程序包可以使数据的处理、转换和可视化变得简单、合理且可复制,大大简化了数据整理的过程。


内容简介

《机器学习实战使用R、tidyverse和mlr》将使用RStudio和非常棒的mlr程序包开启你的机器学习之旅。这本实用指南简化了理论,避免了不必要的复杂统计和数学知识,所有核心的机器学习技术都通过图形和易于掌握的示例进行清晰的解释。每一章的内容都十分引人入胜,你将掌握如何把新的算法付诸实践,以解决各种预测分析问题,包括泰坦尼克沉船事件中不同乘客的幸存概率、垃圾邮件过滤、毒酒事件调查等。

主要内容

使用tidyverse程序包处理和绘制数据

监督机器学习和非监督机器学习技术

分类、回归、降维和聚类算法

统计学基础


作者简介

Hefin I. Rhys是一位有着8年教授R语言、统计学和机器学习经验的生命科学家和细胞学家。他将自己的统计学/机器学习知识贡献给多项学术研究,并热衷于讲授统计学、机器学习和数据可视化方面的课程。

精彩书评


“这本书不仅实用性很强,而且读起来很有趣!”

——Fernando Garcia Sedano , Dinacell Electronica


“对机器学习做了十分精彩的介绍。”

——Luis Moux,EMO


“清晰的语言,贴近生活的示例,涵盖各种算法,附带各种练习以磨炼你的技能。”

———Prabhuti Prakash,Atos


目录

目 录



第Ⅰ部分 简介

第1章 机器学习介绍 2

1.1 机器学习的概念 3

1.2 机器学习算法的分类 7

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.4 dplyr程序包及其功能介绍 21

2.5 ggplot2程序包及其功能介绍 26

2.6 tidyr程序包及其功能介绍 29

2.7 purrr程序包及其功能介绍 32

2.8 本章小结 38

2.9 练习题答案 38

第Ⅱ部分 分类算法

第3章 基于相似性的k近邻分类 42

3.1 k近邻算法的概念 42

3.2 建立第一个kNN模型 45

3.3 平衡模型误差的两个来源:偏差-方差权衡 51

3.4 运用交叉验证判断是否过拟合或欠拟合 52

3.5 交叉验证kNN模型 53

3.6 算法将要学习的内容以及它们必须知道的内容:参数和超参数 59

3.7 调节k值以改进模型 60

3.8 kNN算法的优缺点 64

3.9 本章小结 64

3.10 练习题答案 65

第4章 对数几率回归分类 67

4.1 什么是对数几率回归 67

4.2 建立第一个对数几率回归模型 74

4.3 交叉验证对数几率回归模型 81

4.4 理解模型:几率比 83

4.5 使用模型进行预测 84

4.6 对数几率回归算法的优缺点 84

4.7 本章小结 85

4.8 练习题答案 85

第5章 基于判别分析的最大分离方法 88

5.1 什么是判别分析 88

5.2 构建线性和二次判别模型 95

5.3 LDA和QDA算法的优缺点 100

5.4 本章小结 101

5.5 练习题答案 101

第6章 朴素贝叶斯和支持向量机分类算法 103

6.1 什么是朴素贝叶斯算法 104

6.2 建立第一个朴素贝叶斯模型 107

6.3 朴素贝叶斯算法的优缺点 110

6.4 什么是支持向量机(SVM)算法 110

6.5 构建第一个SVM模型 117

6.6 交叉验证SVM模型 123

6.7 SVM算法的优缺点 124

6.8 本章小结 124

6.9 练习题答案 125

第7章 决策树分类算法 127

7.1 什么是递归分区算法 127

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.2 建立第一个随机森林模型 148

8.3 建立第一个XGBoost模型 150

8.4 随机森林和XGBoost算法的优缺点 155

8.5 在算法之间进行基准测试 155

8.6 本章小结 156

第Ⅲ部分 回归算法

第9章 线性回归 158

9.1 什么是线性回归 158

9.2 建立第一个线性回归模型 163

9.3 线性回归的优缺点 178

9.4 本章小结 178

9.5 练习题答案 179

第10章 广义加性模型的非线性回归 180

10.1 使用多项式项使线性回归非线性 180

10.2 更大的灵活性:样条曲线和广义加性模型 182

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.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.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.2 主成分分析的概念 236

13.3 构建第一个PCA模型 240

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.3 UMAP的含义 256

14.4 建立第一个UMAP模型 258

14.5 t-SNE和UMAP的优缺点 261

14.6 本章小结 261

14.7 练习题答案 262

第15章 自组织映射和局部线性嵌入 263

15.1 先决条件:节点网格和流形 263

15.2 自组织映射的概念 264

15.3 建立第一个SOM 268

15.4 局部线性嵌入的概念 277

15.5 建立第一个LLE 278

15.6 建立跳蚤数据集的LLE 282

15.7 SOM和LLE的优缺点 283

15.8 本章小结 284

15.9 练习题答案 284

第Ⅴ部分 聚类算法

第16章 使用k-均值算法寻找中心聚类 288

16.1 k-均值算法的定义 288

16.2 建立第一个k-均值算法模型 292

16.3 k-均值算法的优缺点 304

16.4 本章小结 304

16.5 练习题答案 304

第17章 层次聚类 306

17.1 什么是层次聚类 306

17.2 建立第一个聚合层次聚类模型 311

17.3 聚类稳定吗 318

17.4 层次聚类的优缺点 320

17.5 本章小结 320

17.6 练习题答案 320

第18章 基于密度的聚类:DBSCAN和OPTICS 323

18.1 基于密度的聚类的定义 323

18.2 建立DBSCAN模型 331

18.3 建立OPTICS模型 343

18.4 基于密度的聚类的优缺点 345

18.5 本章小结 346

18.6 练习题答案 346

第19章 基于混合建模的分布聚类 348

19.1 混合模型聚类的概念 348

19.2 建立第一个用于聚类的高斯混合模型 353

19.3 混合模型聚类的优缺点 356

19.4 本章小结 357

19.5 练习题答案 357

第20章 最终笔记和进一步阅读 359

20.1 简要回顾机器学习概念 359

20.2 学完本书后,还可以学习哪些内容 367

20.3 结语 369

附录 复习统计学概念 370


前言/序言

前 言




为更好地进行研究,我在攻读博士学位期间大量使用了统计建模,并选择了生命科学学术界广泛使用的R语言作为建模语言。R语言主要用于统计计算,因此它在构建线性模型方面的作用是无与伦比的。

我所要处理的数据问题的类型随着项目的进展也在发生着变化。数据量逐渐增加,并且每项实验的目标变得更加复杂和多样。因此,有更多的变量需要处理,诸如如何可视化数据中的模式等问题变得更加困难。此后,我发现相对于仅仅了解生物学本身而言,自己对数据预测更感兴趣。有时,数据中的复杂关系很难用传统的人工建模方法表示。另外,我想知道的只是数据中存在多少不同的种类。

我发现自己越来越倾向于使用机器学习技术来帮助自己实现目标。每遇到一个新问题,我都会在脑海中搜索有关统计和机器学习的相关技能。如果不具备相关技能,我就会做一些研究调查,了解其他人如何解决类似问题,然后尝试不同的方法,从中找出最优方案。如果我对一系列新技术产生了浓厚的兴趣,我就会阅读相关领域的专业书籍。但令我十分沮丧的是,这些书往往针对有统计学学位的专业人士。

当我逐步并痛苦地学习技能和知识时,另一件令人沮丧的事情是R语言中的机器学习技术分布于各种不同的程序包中。这些程序包是由不同的程序人员使用不同的语法和参数编写的,这意味着每次学习一种新技术时都要面临额外的困难。就这点而言,那种基于Python语言(我未曾学过的一门编程语言)编写的scikit-learn程序包让我羡慕不已,这种程序包为大量的机器学习技术提供了一个通用接口。

但是,在我发现了像caret和mlr这样的R语言包之后,我的学习突然变得容易了很多。与scikit-learn程序包一样,它们也为大量的机器学习技术提供了一个通用接口,这减轻了我每次想学习新技术时就需要学习另一个程序包的R函数的负担,并使我的机器学习项目变得更简洁。由于主要使用的是mlr程序包,我发现处理数据实际上是我工作中最耗时和最复杂的部分。在做了更多的研究之后,我在R语言中发现了tidyverse程序包,该程序包旨在使数据的处理、转换和可视化变得简单、合理且可复制。从那以后,我在所有的项目中都会使用来自tidyverse程序包的工具。

我撰写《机器学习实战:使用R、tidyverse和mlr》的主要原因在于人们对机器学习相关知识的需求十分巨大。虽然有大量资源可供刚刚崭露头角的数据科学家或任何希望通过训练计算机解决问题的人们使用,但是我一直在努力寻找既适合新手操作,又适合严谨教学和优质实践的资源。《机器学习实战:使用R、tidyverse和mlr》的初衷是想通过更少的代码实现更强大的功能。我希望通过这种方式能够让你的学习变得更加容易,并且我认为使用mlr和tidyverse程序包可以帮助我实现这一目的。