Skip to content

Commit 97e29f4

Browse files
committed
docs:更新 数据分析 专栏
1 parent d1c126f commit 97e29f4

8 files changed

+689
-4
lines changed

.vscode/.server-controller-port.log

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"port": 9145,
3-
"time": 1727140611111,
3+
"time": 1728450843494,
44
"version": "0.0.3"
55
}

docs/.vuepress/config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1175,7 +1175,11 @@ module.exports = {
11751175
sidebarDepth: 0,
11761176
children: [
11771177
"为啥要学习数据分析?",
1178-
"01-数据分析的正确学习方法"
1178+
"correct-data-analysis-learning-methods",
1179+
"02-数据挖掘的学习路径",
1180+
"企业如何利用数据打造精准用户画像?",
1181+
"如何自动化采集数据",
1182+
"how-to-use-octoparse-for-data-scraping",
11791183
]
11801184
}],
11811185

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# 02-数据挖掘的学习路径
2+
3+
## 0 数据挖掘的知识清单
4+
5+
上文分享了数据分析的全景图,最关键部分是数据挖掘,啥是数据挖掘?
6+
7+
对于普通人,大海很难感知,更不用说找宝藏。但对熟练的石油开采人员,大海有坐标。他们对地质做勘探,分析地质构造,从而发现哪些地方更可能有石油。然后用开采工具,进行深度挖掘,直到打到石油。
8+
9+
大海、地质信息、石油对开采人员来说就是数据源、地理位置、以及分析得到的结果。
10+
11+
而我们要做的数据挖掘工作,就像钻井,通过分析这些数据,从庞大的数据中发现规律,找到宝藏。
12+
13+
学开车,不会直接上路,而是先学基本知识,再上车模拟。只有对知识有全面的认知,才能确保在以后工作即使遇到问题,也可快速定位问题,然后找方法对应和解决。
14+
15+
所以列了个数据挖掘知识清单:数据挖掘的基本流程、十大算法和数学原理。
16+
17+
## 1 数据挖掘的基本流程
18+
19+
数据挖掘过程步骤:
20+
21+
1. **商业理解**:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。
22+
2. **数据理解**:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。
23+
3. **数据准备**:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作。
24+
4. **模型建立**:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果。
25+
5. **模型评估**:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标。
26+
6. **上线发布**:模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。
27+
28+
## 2 数据挖掘的十大算法
29+
30+
为了进行数据挖掘任务,数据科学家们提出了各种模型,在众多的数据挖掘模型中,国际权威的学术组织 ICDM (the IEEE International Conference on Data Mining)评选出了十大经典的算法。按不同目的,可将这些算法分成四类:
31+
32+
- **分类算法**:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART
33+
- **聚类算法**:K-Means,EM
34+
- **关联分析**:Apriori
35+
- **连接分析**:PageRank
36+
37+
**1. C4.5**
38+
39+
十大算法之首,是决策树算法,它创造性地在决策树构造过程中就剪枝,并可处理连续的属性,也能对不完整的数据进行处理。
40+
41+
**2. 朴素贝叶斯(Naive Bayes)**
42+
43+
朴素贝叶斯模型是基于概率论的原理,它的思想是这样的:对于给出的未知物体想要进行分类,就需要求解在这个未知物体出现的条件下各个类别出现的概率,哪个最大,就认为这个未知物体属于哪个分类。
44+
45+
**3. SVM**
46+
47+
SVM 的中文叫支持向量机,英文是 Support Vector Machine,简称 SVM。SVM 在训练中建立了一个超平面的分类模型。如果你对超平面不理解,没有关系,我在后面的算法篇会给你进行介绍。
48+
49+
**4. KNN**
50+
51+
K 最近邻算法,K-Nearest Neighbor。每个样本都可以用它最接近的 K 个邻居来代表。如果一个样本,它的 K 个最接近的邻居都属于分类 A,那么这个样本也属于分类 A。
52+
53+
**5. AdaBoost**
54+
55+
Adaboost 在训练中建立了一个联合的分类模型。boost 在英文中代表提升的意思,所以 Adaboost 是个构建分类器的提升算法。它可以让我们多个弱的分类器组成一个强的分类器,所以 Adaboost 也是一个常用的分类算法。
56+
57+
**6. CART**
58+
59+
CART 代表分类和回归树,英文是 Classification and Regression Trees。像英文一样,它构建了两棵树:一棵是分类树,另一个是回归树。和 C4.5 一样,它是一个决策树学习方法。
60+
61+
**7. Apriori**
62+
63+
Apriori 是一种挖掘关联规则(association rules)的算法,它通过挖掘频繁项集(frequent item sets)来揭示物品之间的关联关系,被广泛应用到商业挖掘和网络安全等领域中。频繁项集是指经常出现在一起的物品的集合,关联规则暗示着两种物品之间可能存在很强的关系。
64+
65+
**8. K-Means**
66+
67+
K-Means 算法是一个聚类算法。你可以这么理解,最终我想把物体划分成 K 类。假设每个类别里面,都有个“中心点”,即意见领袖,它是这个类别的核心。现在我有一个新点要归类,这时候就只要计算这个新点与 K 个中心点的距离,距离哪个中心点近,就变成了哪个类别。
68+
69+
**9. EM**
70+
71+
EM 算法也叫最大期望算法,是求参数的最大似然估计的一种方法。原理是这样的:假设我们想要评估参数 A 和参数 B,在开始状态下二者都是未知的,并且知道了 A 的信息就可以得到 B 的信息,反过来知道了 B 也就得到了 A。可以考虑首先赋予 A 某个初值,以此得到 B 的估值,然后从 B 的估值出发,重新估计 A 的取值,这个过程一直持续到收敛为止。
72+
73+
EM 算法经常用于聚类和机器学习领域中。
74+
75+
**10. PageRank**
76+
77+
PageRank 起源于论文影响力的计算方式,如果一篇文论被引入的次数越多,就代表这篇论文的影响力越强。同样 PageRank 被 Google 创造性地应用到了网页权重的计算中:当一个页面链出的页面越多,说明这个页面的“参考文献”越多,当这个页面被链入的频率越高,说明这个页面被引用的次数越高。基于这个原理,我们可以得到网站的权重划分。
78+
79+
算法是数据挖掘的灵魂,也是最精华部分。其他算法也基本上都是在这些基础上进行改进和创新。
80+
81+
## 3 数据挖掘的数学原理
82+
83+
如不了解概率论和数理统计,还是很难掌握算法本质;如不懂线性代数,就难理解矩阵和向量运作在数据挖掘的价值;如没有最优化方法的概念,就对迭代收敛理解不深。想更深刻理解数据挖掘的方法,就有必要了解它后背数学原理。
84+
85+
**1. 概率论与数理统计**
86+
87+
概率论在我们上大学的时候,基本上都学过,不过大学里老师教的内容,偏概率的多一些,统计部分讲得比较少。在数据挖掘里使用到概率论的地方就比较多了。比如条件概率、独立性的概念,以及随机变量、多维随机变量的概念。
88+
89+
很多算法的本质都与概率论相关,所以说概率论与数理统计是数据挖掘的重要数学基础。
90+
91+
**2. 线性代数**
92+
93+
向量和矩阵是线性代数中的重要知识点,它被广泛应用到数据挖掘中,比如我们经常会把对象抽象为矩阵的表示,一幅图像就可以抽象出来是一个矩阵,我们也经常计算特征值和特征向量,用特征向量来近似代表物体的特征。这个是大数据降维的基本思路。
94+
95+
基于矩阵的各种运算,以及基于矩阵的理论成熟,可以帮我们解决很多实际问题,比如 PCA 方法、SVD 方法,以及 MF、NMF 方法等在数据挖掘中都有广泛的应用。
96+
97+
**3. 图论**
98+
99+
社交网络的兴起,让图论的应用也越来越广。人与人的关系,可以用图论上的两个节点来进行连接,节点的度可以理解为一个人的朋友数。我们都听说过人脉的六度理论,在 Facebook 上被证明平均一个人与另一个人的连接,只需要 3.57 个人。当然图论对于网络结构的分析非常有效,同时图论也在关系挖掘和图像分割中有重要的作用。
100+
101+
**4. 最优化方法**
102+
103+
最优化方法相当于机器学习中自我学习的过程,当机器知道了目标,训练后与结果存在偏差就需要迭代调整,那么最优化就是这个调整的过程。一般来说,这个学习和迭代的过程是漫长、随机的。最优化方法的提出就是用更短的时间得到收敛,取得更好的效果。
104+
105+
## 4 总结
106+
107+
今天我列了下学习数据挖掘你要掌握的知识清单,只有你对数据挖掘的流程、算法、原理有更深的理解,你才能在实际工作中更好地运用。
108+
109+
## 5 FAQ
110+
111+
如果某电商网站想挖掘商品之间的关联关系,从而提升销售额,你觉得可以采用上面的哪个算法?为什么?

docs/md/data-analysis/basic/01-数据分析的正确学习方法.md renamed to docs/md/data-analysis/basic/correct-data-analysis-learning-methods.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 01-数据分析的正确学习方法
1+
# 01-程序员如何正确学习数据分析?
22

33
先看数据分析的全景图,对后面学习心中有数。
44

0 commit comments

Comments
 (0)