Skip to content

Commit 967b1bb

Browse files
committed
release v1.2.0
1 parent 5d865a2 commit 967b1bb

File tree

39 files changed

+253
-329
lines changed

39 files changed

+253
-329
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## [1.2.0](https://github.com/leovan/data-science-introduction-with-r/compare/v1.1.0...v1.2.0) (2024-02-11)
2+
3+
- Remove R Markdown and add quarto to reproducible research chapter.
4+
- Remove GBM model code with `mlr3extralearners` in classification algorithms part 2 chapter.
5+
- Add XGBoost introduction in classification algorithms part 2 chapter.
6+
- Update slide background and fix slide styles.
7+
8+
## [1.1.0](https://github.com/leovan/data-science-introduction-with-r/compare/v1.0.0...v1.1.0) (2023-02-09)
9+
10+
- Update website based on Hugo.
11+
- Optimize slides folder structure.
12+
- Fix incompatibility problem with latest libraries.
13+
14+
## 1.0.0 (2021-01-11)
15+
16+
- First release.

config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ menu:
3131
params:
3232
title: "R 语言数据科学导论"
3333
subtitle: "Data Science Introduction with R"
34-
author: "范叶亮 | Leo Van"
34+
author: "范叶亮"
3535
description: "R 语言数据科学导论 | Data Science Introduction with R"
3636
logo: "/images/data-science-introduction-with-r.png"
3737
logoWidth: 150
38-
footer: "Copyright © 2017-{Year} [范叶亮 | Leo Van](https://leovan.me)"
38+
footer: "Copyright © 2017-{Year} [范叶亮](https://leovan.me)"
3939
licenseURL: "https://github.com/leovan/data-science-introduction-with-r/blob/main/LICENSE"
4040
googleAdsense: "ca-pub-2608165017777396"
4141

@@ -58,9 +58,9 @@ params:
5858
clipboardjsVersion: "2.0.11"
5959
lazysizesVersion: "5.3.2"
6060
mathjaxVersion: "3.2.2"
61-
pdfjsVersion: "3.11.174"
62-
prismjsVersion: "1.29.0"
6361
jsCookieVersion: "3.0.5"
62+
pdfjsVersion: "4.0.379"
63+
prismjsVersion: "1.29.0"
6464
vanillaBackToTopVersion: "latest"
6565

6666
markup:

layouts/partials/header_custom.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,11 @@
1212
{{ partial "google_adsense.html" . }}
1313
{{ end }}
1414

15+
{{ if .HasShortcode "pdf-viewer" }}
16+
<link rel="stylesheet" type="text/css" href="/css/pdf-viewer.css">
17+
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/web/pdf_viewer.min.css">
18+
<script src="//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/build/pdf.min.mjs" type="module"></script>
19+
{{ end }}
20+
1521
<link rel="stylesheet" type="text/css" href="{{ "/css/reset.css" | relURL }}">
1622
<link rel="stylesheet" type="text/css" href="{{ "/css/style.css" | relURL }}">

layouts/shortcodes/pdf-viewer.html

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
{{ if not ($.Page.Scratch.Get "pdfjs-loaded") }}
2-
{{ $.Page.Scratch.Set "pdfjs-loaded" 1 }}
3-
<link rel="stylesheet" type="text/css" href="/css/pdf-viewer.css">
4-
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/web/pdf_viewer.min.css">
5-
<script src="//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/build/pdf.min.js"></script>
6-
{{ end }}
7-
81
{{ if not ($.Page.Scratch.Get "pdf-viewer-index") }}
92
{{ $.Page.Scratch.Set "pdf-viewer-index" 1 }}
103
{{ else }}
@@ -44,11 +37,11 @@
4437
</div>
4538
</div>
4639

47-
<script type="text/javascript">
40+
<script type="module" type="text/javascript">
4841
(function(d) {
4942
var url = '{{ $url }}';
50-
var pdfjsLib = window['pdfjs-dist/build/pdf'];
51-
pdfjsLib.GlobalWorkerOptions.workerSrc = '//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/build/pdf.worker.js';
43+
var pdfjsLib = window['pdfjsLib'];
44+
pdfjsLib.GlobalWorkerOptions.workerSrc = '//cdn.jsdelivr.net/npm/pdfjs-dist@{{ $.Site.Params.pdfjsVersion }}/build/pdf.worker.mjs';
5245

5346
var pageNum = {{ $page }};
5447
var pageRendering = false;

slides/01-data-science-introduction/01-data-science-introduction.Rmd

Lines changed: 12 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "数据科学简介"
33
subtitle: "Data Science Introduction"
4-
author: "范叶亮 | Leo Van"
4+
author: "范叶亮"
55
date: ""
66
output:
77
xaringan::moon_reader:
@@ -31,10 +31,6 @@ options(htmltools.dir.version = FALSE)
3131
<li class="content-page-list">数据科学分工与流程</li>
3232
</div>
3333

34-
???
35-
36-
今天上午我们简单对数据科学以及相关的工具箱和方法论进行一个简答的介绍,主要分为 3 个部分,如 Slide 所示。
37-
3834
---
3935
class: section, center, middle
4036

@@ -43,7 +39,7 @@ class: section, center, middle
4339
---
4440
class:
4541

46-
# 数据科学 Data Science
42+
# 数据科学
4743

4844
1974 年,Peter Naur 出版了**“计算方法的简介调查”** <sup>[1]</sup> 一书。该书中**“数据科学” (Data Science)** 一词被大量使用,同时对其作出定义:“数据科学是一门专门处理数据的科学。它被授权处置与其他科学领域中有关数据的表现与关联”。定义中强调了数据同其他科学领域之间存在的关系。
4945

@@ -57,7 +53,7 @@ class:
5753
---
5854
class:
5955

60-
# 数据科学 Data Science
56+
# 数据科学
6157

6258
2001 年,William S. Cleveland 发表**“数据科学:为扩大统计技术领域的行动计划”** <sup>[1]</sup>。文章计划扩大统计领域相关的技术工作范围,正是由于范围的扩张,作者将这一改变的领域称之为“数据科学”。计划中划分了 6 大技术范围,其具体内容和占比如下:
6359

@@ -75,7 +71,7 @@ class:
7571
---
7672
class:
7773

78-
# 数据科学 Data Science
74+
# 数据科学
7975

8076
2002 年,国际科学理事会的科技数据委员会 (CODATA) 创立 **Data Science Journal** 杂志。2003 年,**Journal of Data Science** 创立。杂志为所有的数据工作者提供了一个很好的交流平台。
8177

@@ -88,14 +84,10 @@ class:
8884
[2] T. H. Davenport and D. Patil, “Data Scientist: The Sexiest Job of the 21st Century,” Harvard Business Review Magazine: https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century, 2012.
8985
]
9086

91-
???
92-
93-
以上内容基本总结了从“数据科学”从出现一直发展到现在的基本情况,可以说数据科学从诞生之初就表现出了其不同于一般科学的独特之处。
94-
9587
---
9688
class:
9789

98-
# 数据产品 Data Products
90+
# 数据产品
9991

10092
Patil 在**“数据的柔术:将数据转化为产品的艺术”** <sup>[1]</sup> 一文中解释说“**数据产品**是通过使用数据促进最终目标的产品”。因此可以说数据产品并不仅仅是指数据分析 (Data Analysis), 向高管提供的建议或是导致业务流程改善的洞察,而应该是一套完整有形的问题解决系统。
10193

@@ -108,7 +100,7 @@ Patil 在**“数据的柔术:将数据转化为产品的艺术”** <sup>[1]<
108100
---
109101
class:
110102

111-
# 数据产品 Data Products
103+
# 数据产品
112104

113105
.center[
114106
### Excel 和 PYMK 特性对比
@@ -123,14 +115,10 @@ class:
123115
| 目标 | 无具体目标 | 寻找出可能认识的人 |
124116
| 结果 | 不同操作产生不同结果 | 可能认识的人或人物关系网 |
125117

126-
???
127-
128-
从表中可以看出,PYMK 是在深度理解用户数据基础上,充分利用数学算法对数据进行加工处理,解决特定问题的系统。所以它可算是典型的数据产品。而 Excel 更适合规类为一个通用的数据分析处理工具。
129-
130118
---
131119
class:
132120

133-
# 数据产品 Data Products
121+
# 数据产品
134122

135123
**“什么是数据科学?”** <sup>[1]</sup> 一文中,Mike Loukides 的第一句话就指出了**“未来是属于那些能将数据转化成产品的人和公司的”**,也就是说数据的真正价值只有在进行深度加工处理并形成产品之后才能够被体现出来。可以说有价值的数据是一个有待开发的金矿,需要人们利用“数据产品”这把利器去开采才能够得到金灿灿的黄金。同时,文章也指出了数据科学和数据产品之间的关系:数据科学使数据产品的创造成为可能,也就是数据科学在数据产品的创造开发过程中扮演着至关重要的角色。
136124

@@ -141,7 +129,7 @@ class:
141129
---
142130
class:
143131

144-
# 跨界 Crossover
132+
# 跨界
145133

146134
**跨界 (Crossover) **一词在不同的领域有着各自具体的含义。**跨界音乐 (Crossover Music)** <sup>[1]</sup> 是指一个音乐作品被诠释成两种或更多的品味或流派。**跨界营销 (Crossover Marketing)** <sup>[2]</sup> 意味着打破传统的营销思维模式,实现多个品牌从不同角度诠释同一个用户特征,发挥不同类别品牌的协同效应。因此,跨界可以称得上是多种资源的一种融合创新。
147135

@@ -155,7 +143,7 @@ class:
155143
---
156144
class:
157145

158-
# 跨界 Crossover
146+
# 跨界
159147

160148
| 知识类型 | 知识名称 | 和“开发数据产品”的关系 | 重要程度 |
161149
| :------- | :------------------------- | :--------------------- | :------- |
@@ -169,10 +157,6 @@ class:
169157
| 工程知识 | 计算框架 (Hadoop,Spark) | 系统开发 (框架选择) | ⭑⭑⭑⭒⭒ |
170158
| 工程知识 | 前端技术 (配色,HTML) | 数据可视化 | ⭑⭑⭑⭒⭒ |
171159

172-
???
173-
174-
从表可以看出一个数据科学家需要多方面的知识,但同时也应该具有自己的专长,也就是对数据科学的充分认知。所应掌握和了解的知识也体现了一个真正的数据科学家的职责:了解问题及需求,获取数据,清理数据, 理解数据,分析数据,将数据转化成产品, 最终解决问题。
175-
176160
---
177161
class: section, center, middle
178162

@@ -316,10 +300,6 @@ class:
316300
[4] https://www.kdnuggets.com/2014/10/crisp-dm-top-methodology-analytics-data-mining-data-science-projects.html
317301
]
318302

319-
???
320-
321-
数据分析和挖掘是一个复杂的过程,在进行数据分析和挖掘工作的过程中,我们需要一个过程模型指导每一步工作。迄今为止,很多专家和学者提出了多种数据分析和挖掘的过程模型,下表显示了工业界数据分析和挖掘工作者近年来所采用的方法。
322-
323303
---
324304
class:
325305

@@ -357,41 +337,13 @@ knitr::include_graphics('images/crisp-dm-process-tasks-and-output.svg')
357337
```
358338
]
359339

360-
???
361-
362-
CRISP-DM 描述的过程模型包括 6 个阶段,每个阶段的大致描述如下:
363-
364-
1. 业务理解 (Business understanding)
365-
366-
在最初阶段我们需要从业务的角度来理解项目的目标和需求,之后将这些知识转化成数据挖掘问题的定义和实现目标的最初规划。
367-
368-
2. 数据理解 (Data understanding)
369-
370-
数据理解阶段包含了数据收集等一系列活动。数据准备能够帮助我们熟悉数据,了解数据质量和问题,对数据有初步认识以及发现有用的数据子集并形成对隐含信息的假设。
371-
372-
3. 数据准备 (Data preparation)
373-
374-
数据准备阶段包含了利用原始数据构建最终数据集 (用于建模的数据) 的全部活动。数据准备工作很有可能会被执行多次并且不以任何特定的顺序进行。其任务既包括表、记录和属性的选择,也包括用于建模的数据转换和清洗。
375-
376-
4. 建模 (Modeling)
377-
378-
在建模阶段,我们会选取和应用多种建模技术,并对其参数进行调优。一般而言,相同类型的数据挖掘问题有多种建模技术。默写技术有特定数据形式的需求,因此必要的时候我们通常会返回数据准备阶段。
379-
380-
5. 评估 (Evaluation)
381-
382-
在评估阶段,我们已经建立了一个 (或多个) 从数据分析角度看似高质量的模型。但在最终部署之前,还有很多重要的事情要做,包括:全面评价模型,重审构建模型的每个步骤确保模型能够真正到达业务目的。另一个关键目标是判断是够有重要的业务问题没有被充分考虑。在这个阶段的最后,我们还应该确定使用数据挖掘结果应该得到什么样的决策。
383-
384-
6. 部署 (Deployment)
385-
386-
模型的建立并不意味着项目的结束。尽管模型的目的是为了增加数据的知识性,但是获取的知识应该被组织和表示成用户可以使用的形式。这通常与包含能够支持公司决策的“现场”模型("live" model)的应用相关,例如:实时的Web页面展现或是营销数据的重复scoring。基于这些需求,部署阶段既可以简单的生成一份报告,亦可以复杂的实现一个覆盖整个企业可重复的数据挖掘过程。大多数情况下是由客户而不是数据分析师来完成部署阶段。但是,既然分析师不需要完成部署工作,那么理解前端需要完成那些活动以实实在在的利用建立好的模型对用户而言就至关重要了。
387-
388340
---
389341
class: thanks, center, middle
390342

391-
# Thanks
343+
# 感谢倾听
392344

393345
![CC BY-NC-SA 4.0](assets/by-nc-sa.svg)
394346

395-
本作品采用 [**CC BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/) 进行许可
347+
本作品采用 [**CC BY-NC-SA 4.0**](https://github.com/leovan/data-science-introduction-with-r/blob/main/LICENSE) 授权
396348

397-
Copyright © [**范叶亮 | Leo Van**](https://leovan.me), All Rights Reserved.
349+
版权所有 © [**范叶亮**](https://leovan.me)

slides/02-r-language-introduction/02-r-language-introduction.Rmd

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "R 语言简介"
33
subtitle: "R Language Introduction"
4-
author: "范叶亮 | Leo Van"
4+
author: "范叶亮"
55
date: ""
66
output:
77
xaringan::moon_reader:
@@ -834,11 +834,11 @@ class:
834834

835835
尽管编码格式不是强制性的要求,但是良好的编码风格可以使写成的代码更易阅读。
836836

837-
- 文件名
837+
#### 文件名
838838

839839
文件名应尽量全面的表达所包含的内容,例如:一个用于计算平均成绩的 R 脚本的文件可以取名为:`calculate_avg_score.R`
840840

841-
- 变量和函数
841+
#### 变量和函数
842842

843843
在很多语言的变量和函数编码风格中驼峰命名法和匈牙利命名法都已经被采用,但在 R 中我们更加倾向使用 R 特有的编码风格。R 语言中,变量名称中字母全部采用小写,单词之间用 `.``_` 连接,例如:平均成绩可以表示为:`avg.score``avg_score`
844844

@@ -849,7 +849,7 @@ class:
849849

850850
# R 语言编码风格
851851

852-
- 空格和缩进
852+
#### 空格和缩进
853853

854854
同其他编程语言一样,单行建议不超过 80 个英文字符。不同层级的代码需要缩进,一般建议使用 4 个空格而不是使用 Tab,更不可两者混用。在运算符(`+``-``*``/` 等)和赋值符号(`<-`)的前后建议用 1 个空格分割,如:`v <- 5 + 4 / 2`
855855

@@ -909,7 +909,7 @@ class:
909909

910910
# R 语言编码风格
911911

912-
- 文件注释
912+
#### 文件注释
913913

914914
文件注释位于 R 脚本的开头,主要包括版权信息,作者信息,文件内容描述,日期等相关信息。建议的示例:
915915

@@ -930,7 +930,7 @@ class:
930930

931931
# R 语言编码风格
932932

933-
- 函数注释
933+
#### 函数注释
934934

935935
函数注释位于函数定义的上方,主要包括函数的描述,参数值和返回值等相关信息。建议的示例:
936936

@@ -952,7 +952,7 @@ class:
952952

953953
# R 语言编码风格
954954

955-
- 一般注释
955+
#### 一般注释
956956

957957
在 R 脚本中,作者有必要在合适的位置(例如:不同功能块之前)作出相关说明。同时对于后续要进一步改进或修正的部分,也应做出恰当的注释。建议的示例:
958958

@@ -974,7 +974,7 @@ class:
974974

975975
# R 语言编码风格
976976

977-
- 其他
977+
#### 其他
978978

979979
除了上述的 R 编码风格建议外,还有一些需要用户在使用中注意事项:
980980

@@ -986,10 +986,10 @@ class:
986986
---
987987
class: thanks, center, middle
988988

989-
# Thanks
989+
# 感谢倾听
990990

991991
![CC BY-NC-SA 4.0](assets/by-nc-sa.svg)
992992

993-
本作品采用 [**CC BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/) 进行许可
993+
本作品采用 [**CC BY-NC-SA 4.0**](https://github.com/leovan/data-science-introduction-with-r/blob/main/LICENSE) 授权
994994

995-
Copyright © [**范叶亮 | Leo Van**](https://leovan.me), All Rights Reserved.
995+
版权所有 © [**范叶亮**](https://leovan.me)

slides/03-data-analytics-introduction-part-1/03-data-analytics-introduction-part-1.Rmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "数据分析基础 (上)"
33
subtitle: "Data Analytics Introduction - Part 1"
4-
author: "范叶亮 | Leo Van"
4+
author: "范叶亮"
55
date: ""
66
output:
77
xaringan::moon_reader:
@@ -787,10 +787,10 @@ table5 |>
787787
---
788788
class: thanks, center, middle
789789

790-
# Thanks
790+
# 感谢倾听
791791

792792
![CC BY-NC-SA 4.0](assets/by-nc-sa.svg)
793793

794-
本作品采用 [**CC BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/) 进行许可
794+
本作品采用 [**CC BY-NC-SA 4.0**](https://github.com/leovan/data-science-introduction-with-r/blob/main/LICENSE) 授权
795795

796-
Copyright © [**范叶亮 | Leo Van**](https://leovan.me), All Rights Reserved.
796+
版权所有 © [**范叶亮**](https://leovan.me)

slides/04-data-analytics-introduction-part-2/04-data-analytics-introduction-part-2.Rmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "数据分析基础 (下)"
33
subtitle: "Data Analytics Introduction - Part 2"
4-
author: "范叶亮 | Leo Van"
4+
author: "范叶亮"
55
date: ""
66
output:
77
xaringan::moon_reader:
@@ -1571,10 +1571,10 @@ x |> accumulate(`+`)
15711571
---
15721572
class: thanks, center, middle
15731573

1574-
# Thanks
1574+
# 感谢倾听
15751575

15761576
![CC BY-NC-SA 4.0](assets/by-nc-sa.svg)
15771577

1578-
本作品采用 [**CC BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/) 进行许可
1578+
本作品采用 [**CC BY-NC-SA 4.0**](https://github.com/leovan/data-science-introduction-with-r/blob/main/LICENSE) 授权
15791579

1580-
Copyright © [**范叶亮 | Leo Van**](https://leovan.me), All Rights Reserved.
1580+
版权所有 © [**范叶亮**](https://leovan.me)

0 commit comments

Comments
 (0)