📑 快速导航
第 4 章数据挖掘基础 第 5 章关联分析 第 6 章分类分析 第 7 章聚类分析 第 8 章文本分析 第 9 章Web 挖掘
第 4 章

数据挖掘基础

数据挖掘的基本任务 & SEMMA 模型

1. 数据挖掘的六大基本任务

任务学习类型说明
分类(Classification)有监督预测离散类别标签
回归(Regression)有监督预测连续数值
聚类(Clustering)无监督按相似性分组,类别未知
关联分析(Association)无监督发现项目间共现规律
异常检测(Anomaly Detection)发现偏离正常的样本
序列分析(Sequential Pattern)发现时序数据中的规律

2. SEMMA 模型

SAS Institute 提出的数据挖掘五步过程框架:

S
Sample(抽样):从大数据集中抽取具有代表性的样本子集
E
Explore(探索):EDA,可视化,发现数据分布规律与异常
M
Modify(修改):数据预处理——清洗、集成、变换、规约,构造新特征
M
Model(建模):选择并训练挖掘模型(决策树、神经网络等)
A
Assess(评估):用测试集评估模型性能,判断是否满足业务目标
与 CRISP-DM 区别 SEMMA 更偏技术流程(SAS 工具导向);CRISP-DM 更强调业务理解阶段,共 6 步(业务理解 → 数据理解 → 数据准备 → 建模 → 评估 → 部署)。
数据预处理:集成 · 规约 · 变换

1. 预处理概述

目的:提高数据质量,使数据适合挖掘。四大步骤:清洗 → 集成 → 变换 → 规约

常见数据质量问题:缺失值、噪声、异常值/离群点、不一致性、重复数据。

2. 数据集成(Data Integration)

将多个异构数据源合并为统一数据集。

实体识别问题
不同数据源中同一实体字段名不同(如"客户ID" vs "用户编号"),需模式匹配
数据冗余
同一属性在多源中重复;数值型 → 皮尔逊相关系数检测;分类型 → 卡方检验
数据冲突
同一实体在不同源中属性值不一致(量纲/精度不同),需统一

3. 数据规约(Data Reduction)

在保持信息完整性的前提下压缩数据规模,提升挖掘效率。

▌ 维度规约(减少属性数量)

▌ 数值规约(减少样本量)

4. 数据变换(Data Transformation)

▌ 规范化(Normalization)——消除量纲影响

最小-最大规范化(Min-Max)→ 映射到 [0, 1]x' = (x − min) / (max − min) Z-score 标准化 → 均值0,标准差1x' = (x − μ) / σ 小数定标规范化x' = x / 10ʲ (取 j 使 |x'| 小于 1)
适用场景 KNN、神经网络等依赖距离/梯度的算法必须先归一化;决策树对量纲不敏感,不需要。

▌ 离散化(Discretization)——连续属性转离散区间

▌ 属性构造

从现有属性构建新特征,如用"收入/支出"构造"消费比"属性。

第 5 章

关联分析

基础概念

1. 核心术语

项(Item)
数据库中的一个元素,如购物篮中的"牛奶"
项集(Itemset)
若干项的集合,如 {牛奶, 尿布}
事务(Transaction)
数据库中一条记录,包含若干项
关联规则
形如 X → Y,表示"购买X的顾客往往也购买Y"

2. 三大度量指标

支持度(Support)—— 项集出现频率support(X→Y) = P(X∪Y) = 含X∪Y的事务数 / 总事务数 置信度(Confidence)—— 规则可靠性confidence(X→Y) = P(Y|X) = support(X∪Y) / support(X) 提升度(Lift)—— X 与 Y 的相关性lift(X→Y) = confidence(X→Y) / support(Y)
Lift 值含义
Lift > 1正相关:X 的出现提升了 Y 出现的可能
Lift = 1X 与 Y 相互独立
Lift < 1负相关:X 的出现抑制了 Y 出现
关键定义 频繁项集:support ≥ minSup(最小支持度阈值)的项集。
强关联规则:同时满足 support ≥ minSup confidence ≥ minConf。

3. 关联规则挖掘——两步法

1
找出所有频繁项集(support ≥ minSup)——计算量大,是核心瓶颈
2
从频繁项集生成强关联规则:对频繁项集 L 的每个非空真子集 s,若 support(L)/support(s) ≥ minConf,则 s → (L−s) 是强关联规则
Apriori 算法

1. 核心原理:先验性质(Apriori Property)

🔑 反单调性(剪枝理论基础) 频繁项集的所有非空子集也是频繁的。
等价推论:若某项集非频繁,则其所有超集也非频繁 → 可直接剪枝,无需计算超集的支持度。

2. 算法流程

1
扫描数据库,计算每个 1-项集支持度 → 得频繁 1-项集 L₁
2
连接步:由 Lₖ 生成候选 (k+1)-项集 Cₖ₊₁——将 Lₖ 中两个只有最后一项不同的频繁 k-项集合并
3
剪枝步:删除 Cₖ₊₁ 中任意 k-子集不在 Lₖ 中的候选项集(先验性质)
4
扫描数据库,计算各候选支持度,保留 support ≥ minSup → 得 Lₖ₊₁
5
重复 2–4,直到无新频繁项集产生

3. 计算例题

📋 例:Apriori 手算(minSup = 2)
事务商品
T1A, B, C
T2A, B
T3B, C, D
T4A, C
T5B, D

1-项集支持度:A=3, B=4, C=3, D=2 → 均 ≥ 2,全为频繁1-项集 L₁

候选2-项集:{A,B}=2 ✓,{A,C}=2 ✓,{B,C}=2 ✓,{B,D}=2 ✓,{A,D}=1 ✗(删除),{C,D}=1 ✗(删除)

频繁2-项集 L₂:{A,B},{A,C},{B,C},{B,D}

候选3-项集:{A,B,C} 的所有2-子集 {A,B},{A,C},{B,C} 均在 L₂ ✓ → 计算支持度 = 2 ≥ 2 → 频繁

✓ 频繁项集(部分):{A,B}, {A,C}, {B,C}, {B,D}, {A,B,C}

4. 优缺点 & 改进

✓ 优点
  • 思路清晰,易实现
  • 先验性质有效剪枝
  • 可发现任意长度规则
✗ 缺点
  • 需多次扫描数据库
  • minSup 小时候选集爆炸
  • 大数据集效率低
改进算法 FP-Growth:将数据库压缩为 FP-Tree,只需两次扫描,无需生成候选项集,效率远高于 Apriori。
第 6 章

分类分析

分类概念

1. 定义

分类(Classification)是一种有监督的数据挖掘任务:根据已知类别的训练样本,学习出一个分类模型(分类器),用来预测新样本所属的类别标签。

2. 核心术语

训练集(Training Set)
带有类标签的已知样本集合,用于建立分类模型
测试集(Test Set)
带有类标签的样本集合,用于评估模型泛化能力
类标签(Class Label)
目标变量,取离散值(如:是/否,高/中/低)

3. 分类 vs 聚类(常考对比)

维度分类聚类
学习方式有监督无监督
类别信息类别预先已知类别未知
依据类标签样本相似性
典型算法决策树、KNN、朴素贝叶斯K-Means、层次聚类

4. 分类的两阶段过程

1
学习阶段(建模):用训练集训练分类模型,学习属性与类标签的映射关系
2
分类阶段(预测):用模型对未知样本预测类别

5. 模型评估指标

预测正类(P)预测负类(N)
实际正类TP(真正例)FN(假负例)
实际负类FP(假正例)TN(真负例)
准确率 Accuracy = (TP + TN) / (TP + FP + TN + FN) 精确率 Precision = TP / (TP + FP) 召回率 Recall = TP / (TP + FN) F1 值 F1 = 2 × Precision × Recall / (Precision + Recall)
⚠ 过拟合(Overfitting) 模型在训练集上表现好,测试集上差。原因:模型太复杂,学习了噪声。解决:剪枝、正则化、增加数据量。
基础分类算法

1. 决策树(Decision Tree)

树形结构:内部节点 = 属性测试,叶节点 = 类别,分支 = 测试结果。

▌ 属性选择度量(核心!)

ID3 — 信息增益(选最大值)
信息熵H(D) = −Σ pₖ · log₂(pₖ) (k 遍历所有类别) 条件熵H(D|A) = Σᵥ (|Dᵥ|/|D|) · H(Dᵥ) 信息增益Gain(D, A) = H(D) − H(D|A)

缺点:偏向取值数量多的属性(如 ID 列)。

C4.5 — 信息增益率(选最大值,克服ID3偏差)
固有值SplitInfo(D,A) = −Σᵥ (|Dᵥ|/|D|) · log₂(|Dᵥ|/|D|) 信息增益率GainRatio(D,A) = Gain(D,A) / SplitInfo(D,A)
CART — 基尼指数(选最小值,生成二叉树)
基尼指数Gini(D) = 1 − Σ pₖ² 属性A的加权基尼Gini(D,A) = Σᵥ (|Dᵥ|/|D|) · Gini(Dᵥ)

▌ 三种算法对比

算法度量树结构特点
ID3信息增益(最大)多叉偏向多值属性
C4.5信息增益率(最大)多叉克服 ID3 缺点
CART基尼指数(最小)二叉可做分类与回归

▌ 剪枝(防止过拟合)

预剪枝(Pre-pruning)
树生长时提前停止;速度快,但可能欠拟合
后剪枝(Post-pruning)
先生成完整树再自底向上裁剪;效果通常更好

2. K 最近邻(KNN)

惰性学习,不建立显式模型。对新样本找 K 个最近邻,多数投票决定类别。

欧氏距离 d(x,y) = √[ Σᵢ (xᵢ − yᵢ)² ] 曼哈顿距离 d(x,y) = Σᵢ |xᵢ − yᵢ|
注意 K 小 → 过拟合;K 大 → 欠拟合;通常取奇数。KNN 对量纲敏感,必须特征归一化
朴素贝叶斯分类器

1. 贝叶斯定理

P(Cₖ | X) = P(X | Cₖ) × P(Cₖ) / P(X)
P(Cₖ) — 先验概率
类 Cₖ 在训练集中出现的频率
P(X|Cₖ) — 似然
已知类别为 Cₖ 时,出现特征 X 的概率
P(Cₖ|X) — 后验概率
观察到特征 X 后,样本属于类 Cₖ 的概率(分类目标)
P(X) — 证据
对所有类别相同,比较时可忽略

2. 朴素假设(核心!)

🔑 条件独立性假设 在给定类别条件下,各特征属性之间相互独立——这就是"朴素"的含义。
P(X|Cₖ) = P(x₁|Cₖ) × P(x₂|Cₖ) × … × P(xₙ|Cₖ) = Π P(xᵢ|Cₖ)

3. 分类决策公式

Ĉ = argmax Cₖ [ P(Cₖ) × Π P(xᵢ|Cₖ) ] P(X) 对所有类相同,比较时只需比较分子部分

4. 拉普拉斯平滑

⚠ 零概率问题 若某属性值在训练集某类别下从未出现,P(xᵢ|Cₖ) = 0 → 整个乘积为 0,分类失效。
平滑后的概率估计(加1平滑)P(xᵢ | Cₖ) = (nₖᵢ + 1) / (nₖ + Nᵢ) nₖᵢ:类Cₖ中属性i取值为xᵢ的样本数 nₖ :类Cₖ的总样本数 Nᵢ :属性i的不同取值个数

5. 计算例题(必会!)

📋 例:朴素贝叶斯手算
#天气温度打球?
1
2
3
4
5

问:天气=晴,温度=凉 → 预测是否打球?

P(是)=3/5,P(否)=2/5  |  P(晴|是)=1/3,P(凉|是)=2/3,P(晴|否)=1/2,P(凉|否)=1/2

P(是)×P(晴|是)×P(凉|是)
3/5 × 1/3 × 2/3 = 2/15 ≈ 0.133
P(否)×P(晴|否)×P(凉|否)
2/5 × 1/2 × 1/2 = 1/10 = 0.100
✓ 0.133 > 0.100 → 预测结果:是(打球)

6. 优缺点

✓ 优点
  • 算法简单,训练快
  • 所需数据量少
  • 文本分类效果好
  • 天然支持多分类
✗ 缺点
  • 条件独立假设往往不成立
  • 连续属性需假设分布形式
第 7 章

聚类分析

聚类的基本概念

1. 定义与目标

聚类(Clustering):将数据集中的对象划分为若干组(簇/Cluster),使得同一簇内对象相似度高,不同簇间对象相似度低。无监督学习,类别和标签事先未知。

目标:最大化簇内相似度,最大化簇间差异。

2. 聚类 vs 分类(常考)

维度聚类分类
学习方式无监督有监督
类别已知
类别数量通常未知已知
依据相似性类标签

3. 相似性度量

欧氏距离(最常用)d(x,y) = √[ Σᵢ (xᵢ − yᵢ)² ] 曼哈顿距离d(x,y) = Σᵢ |xᵢ − yᵢ| 余弦相似度(文本数据常用)cos(x,y) = (x · y) / (|x| × |y|) 值域 [0,1],越大越相似

4. 聚类方法分类

类型代表算法特点
划分方法K-Means, K-Medoids指定 k 个互不重叠的簇
层次方法AGNES(凝聚式)、分裂式逐步合并/分裂,形成树状结构
密度方法DBSCAN可发现任意形状的簇
网格方法STING基于单元格统计信息
划分方法:K-Means & K-Medoids

1. K-Means 算法

将 n 个对象划分为 k 个互不重叠的簇,每个对象归属欧氏距离最近的质心所在簇。

▌ 算法步骤

1
初始化:随机选取 k 个对象作为初始质心(Centroid)
2
分配:将每个对象分配到距离最近的质心所属簇
3
更新:重新计算每个簇所有对象的均值作为新质心
4
收敛:重复步骤2–3,直到质心不再变化为止

▌ 目标函数

簇内平方误差和(SSE)——最小化目标J = Σⱼ Σₓ∈Cⱼ ||x − μⱼ||² μⱼ 为第 j 个簇的质心(所有点的均值)
✓ 优点
  • 简单高效
  • 适合大规模数据
  • 时间复杂度低
✗ 缺点
  • 需预先指定 k 值
  • 对初始质心敏感
  • 对噪声/异常值敏感
  • 只适合球形、凸形簇

2. K-Medoids(PAM)算法

思路与 K-Means 相同,但用实际数据点(Medoid,中心点)而非均值代表簇,选取使簇内总距离最小的实际样本点。

▌ K-Means vs K-Medoids

K-MeansK-Medoids(PAM)
簇代表均值(可能不是实际点)实际数据点(Medoid)
抗噪/异常值
计算效率较低
适用数据类型数值型数值型/非数值型均可
第 8 章

文本分析

文本分析基本概念 & 文本挖掘

1. 定义

文本挖掘(Text Mining):从非结构化或半结构化文本数据中,自动提取有用知识、模式或结构的过程。又称文本数据挖掘、知识发现(KDD in Text)。

与传统数据挖掘的核心区别 文本是非结构化数据,无法直接用数值算法处理,必须先经过特征提取转为向量

2. 主要任务

文本分类(Text Classification)
将文档归入预定类别(如垃圾邮件识别);朴素贝叶斯在文本分类中效果突出
文本聚类(Text Clustering)
无标注文档按内容相似性自动分组;常用 K-Means + TF-IDF + 余弦距离
信息抽取(Information Extraction)
识别命名实体(人名/地名/机构名)及关系——命名实体识别(NER)
情感分析(Sentiment Analysis)
判断文本的情感倾向(正面/负面/中性)
主题模型(Topic Modeling)
发现文档集合中的隐含主题(如 LDA)
文本数据预处理

目标:原始文本 → 可供算法处理的数值特征向量

1. 预处理步骤(顺序重要!)

1
分词(Tokenization):英文按空格/标点切分;中文无空格,需专用工具(如 jieba 分词)
2
去停用词(Stop Word Removal):删除"的、了、和、是、a, the, is"等高频无意义词,减少噪声
3
词干提取/词形还原(Stemming/Lemmatization)(英文):running→run,better→good,减小词表规模
4
特征提取:将文本转为数值向量

2. 特征表示方法

▌ 词袋模型(Bag of Words, BoW)

用词频向量表示文档,忽略词序。每个维度对应词表中的一个词,值为出现次数。

▌ TF-IDF(最重要的特征权重方法)

词频(TF)TF(t, d) = 词t在文档d中出现次数 / 文档d的总词数 逆文档频率(IDF)IDF(t) = log( N / df(t) ) N = 文档总数,df(t) = 含词t的文档数 TF-IDF 权重TF-IDF(t, d) = TF(t, d) × IDF(t)
含义直觉 TF-IDF 高 → 该词在本文档频繁出现,但在整个语料库中不常见 → 对该文档有很强区分力。
停用词 TF 高但 IDF ≈ 0,TF-IDF 很低,自然被降权。

▌ 向量空间模型(VSM)& 余弦相似度

文档表示为高维 TF-IDF 向量,相似度用余弦相似度衡量:

余弦相似度cos(d₁, d₂) = (d₁ · d₂) / (|d₁| × |d₂|) 值域 [0, 1],越接近1越相似
第 9 章

Web 挖掘

Web 结构挖掘

1. Web 挖掘的三大类

类型挖掘对象目标
Web 内容挖掘网页文本、图像等内容分类、聚类、信息抽取
Web 结构挖掘 ★超链接拓扑结构发现网页重要性、社区结构
Web 使用挖掘用户访问日志(Web Log)分析用户行为、个性化推荐

2. PageRank 算法(Google 核心算法)

基本思想 被越多重要网页指向的页面,自身越重要。超链接是"投票",来自重要页面的投票权重更大。
PageRank 公式PR(A) = (1 − d) + d × Σᵢ [ PR(Bᵢ) / L(Bᵢ) ] PR(A) :页面 A 的 PageRank 值 d :阻尼系数(通常取 0.85) Bᵢ :所有指向页面 A 的页面(入链页面) L(Bᵢ) :页面 Bᵢ 的出链数量 (1−d) :用户随机跳转到任意页面的概率
理解要点 入链越多 → PR 越高;入链页面自身 PR 越高 → 贡献越大;出链越多 → 每个目标分到的 PR 越少(票数被稀释)。阻尼系数 d 防止无出链页面成为"PR 陷阱",迭代计算直至收敛。

3. HITS 算法(Kleinberg)

将网页重要性分为两个维度,相互强化(Mutual Reinforcement):

权威页(Authority)
包含高质量内容,被很多 Hub 页指向
枢纽页(Hub)
高质量导航页,指向很多 Authority 页
相互强化 好的 Hub 指向好的 Authority;好的 Authority 被好的 Hub 指向——两者互相提升。
迭代公式(每次迭代后对 auth 和 hub 分别归一化)auth(v) = Σ hub(u) (所有指向v的页面u的hub值之和) hub(v) = Σ auth(w) (v所指向的所有页面w的auth值之和) 重复迭代直至收敛

4. PageRank vs HITS 对比(常考!)

PageRankHITS
计算时机离线(预计算,与查询无关)在线(查询时针对结果计算)
针对性全局重要性,与查询主题无关针对特定查询主题
输出单一 PR 分值Authority + Hub 两个分值
效率高(预计算好)较低(实时计算)
抗干扰对链接农场有一定抵抗易受链接操纵干扰
★ 速查

全书高频考点汇总

各章考前速览
章节最高频考点
第4章SEMMA 五步顺序;Min-Max / Z-score 归一化公式;数据规约 vs 变换的区别;皮尔逊相关系数检测冗余
第5章支持度/置信度/提升度公式;Apriori 先验性质(反单调性);连接步+剪枝步的执行顺序;FP-Growth 的改进点
第6章信息增益/增益率/基尼指数公式及各自选择标准;朴素贝叶斯条件独立假设;拉普拉斯平滑;朴素贝叶斯手算
第7章聚类 vs 分类对比;K-Means 四步流程;SSE 目标函数;K-Means vs K-Medoids 对比(抗噪性)
第8章TF-IDF 公式及含义直觉;文本预处理四步骤顺序;VSM 余弦相似度;中文分词工具 jieba
第9章PageRank 公式(d=0.85)及理解要点;HITS 的 Authority/Hub 定义;两算法离线 vs 在线对比