第4章 数据挖掘基础

数据挖掘的基本任务

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

SEMMA 模型

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

S — Sample(抽样) :从大数据集中抽取具有代表性的样本子集

E — Explore(探索) :探索性数据分析(EDA),可视化,发现数据分布规律、异常

M — Modify(修改) :数据预处理:清洗、集成、变换、规约,构造新特征

M — Model(建模) :选择并训练挖掘模型(决策树、神经网络等)

A — Assess(评估) :用测试集评估模型性能,判断是否满足业务目标

与 CRISP-DM 的区别:SEMMA 更偏技术流程,CRISP-DM 更强调业务理解。


数据预处理概述

目的:提高数据质量,使数据适合挖掘。

常见数据质量问题:

四大预处理步骤: 清洗 → 集成 → 变换 → 规约


数据集成(Data Integration)

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

主要问题:

实体识别问题:不同数据源中同一实体的字段名不同(如"客户ID"vs"用户编号"),需要模式匹配。

数据冗余:同一属性在多个数据源中重复出现。检测方法:

数据冲突:不同数据源中同一实体属性值不一致(量纲不同、精度不同),需要统一。


数据规约(Data Reduction)

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

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

数值规约(减少样本量/数据量):

数据压缩: 无损压缩(可完全还原)或有损压缩(近似还原)


数据变换(Data Transformation)

将数据转换为更适合挖掘算法的形式。

1. 规范化/归一化(Normalization) ——消除量纲影响,常用于 KNN、神经网络:

最小-最大规范化:x' = (x - min) / (max - min) → 映射到 [0, 1]

Z-score 标准化:x' = (x - μ) / σ → 均值0,标准差1

小数定标规范化:x' = x / 10ʲ(j 使 |x'| < 1)

2. 离散化(Discretization) ——将连续属性转为离散区间:

3. 属性构造(Attribute Construction) :从现有属性构建新特征(如"收入/支出"比)


第5章 关联分析

基础概念

项(Item) :购物篮中的一个商品,如"牛奶"

项集(Itemset) :若干项的集合,如{牛奶, 尿布}

事务(Transaction) :数据库中一条记录,包含若干项

关联规则:X → Y,表示"购买X的顾客往往也购买Y"


支持度(Support) :项集在事务数据库中出现的比例

support(X→Y) = P(X∪Y) = 含X∪Y的事务数 / 总事务数

置信度(Confidence) :含X的事务中,也含Y的比例

confidence(X→Y) = P(Y|X) = support(X∪Y) / support(X)

提升度(Lift) :衡量X与Y的相关性

lift(X→Y) = confidence(X→Y) / support(Y)

频繁项集:support ≥ minSup(最小支持度阈值)的项集

强关联规则:同时满足 support ≥ minSup 且 confidence ≥ minConf


关联规则挖掘——两步法

第一步:找出所有频繁项集(support ≥ minSup)

第二步:从频繁项集生成强关联规则

对频繁项集 L 的每个非空真子集 s:若 support(L)/support(s) ≥ minConf,则规则 s → (L−s) 是强关联规则。


Apriori 算法

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

频繁项集的所有非空子集也是频繁的。

等价命题(剪枝用):若某项集是非频繁的,则其所有超集也是非频繁的。 → 这叫反单调性,是 Apriori 剪枝的理论基础。

算法流程

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

例题演示(minSup = 2/5 = 40%)

事务 商品
T1 A, B, C
T2 A, B
T3 B, C, D
T4 A, C
T5 B, D

1-项集支持度:A=3, B=4, C=3, D=2(均≥2,都是频繁1-项集)

候选2-项集中,{A,B}=2, {A,C}=2, {B,C}=2, {B,D}=2, {A,D}=1(不频繁删去), {C,D}=1(删去)

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

由频繁2-项集尝试生成3-项集:{A,B,C} 的所有2-子集均频繁 → 保留;检查支持度 = 2 ≥ 2,通过。

优缺点

优点:思路清晰,易于实现;Apriori 先验性质有效剪枝

缺点:可能需要多次扫描数据库;minSup 较小时候选集数量爆炸,效率低

改进算法:FP-Growth——将数据库压缩为 FP-Tree,只需两次扫描,无需生成候选项集,效率更高。


第7章 聚类分析

聚类的基本概念

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

目标: 簇内相似,簇间相异。

聚类 vs 分类(常考对比):

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

相似性度量:

聚类方法分类(了解):


划分方法(Partitioning Methods)

将 n 个对象划分为 k 个互不重叠的簇,每个对象属于且只属于一个簇。

K-Means 算法

步骤:

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

目标函数: 最小化簇内平方误差和(SSE)

J = Σⱼ Σₓ∈Cⱼ ||x − μⱼ||²

优点: 简单高效,适合大规模数据集,时间复杂度低

缺点:


K-Medoids 算法(PAM)

与 K-Means 思路相同,但用实际数据点(中心点/Medoid)而非均值代表每个簇。

选取使簇内总距离最小的实际样本点作为 Medoid。

K-Means vs K-Medoids:

K-Means K-Medoids(PAM)
簇代表 均值(可能不是实际点) 实际数据点
抗噪/异常值
计算效率 较低(O(k(n-k)²))
适用数据 数值型 数值型/非数值型

第8章 文本分析

文本分析的基本概念

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

也称:文本数据挖掘、文本知识发现(KDD in Text)

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

主要任务:


文本数据预处理

原始文本 → 可供算法处理的数值特征向量,是文本挖掘的核心前置步骤。

步骤一:分词(Tokenization)

步骤二:去停用词(Stop Word Removal) 去掉"的、了、和、是、a, the, is"等对分类无贡献的高频词,减少噪声。

步骤三:词干提取/词形还原(Stemming/Lemmatization) 英文中将词变形还原,如 running→run,better→good,减小词表规模。

步骤四:特征提取

词袋模型(Bag of Words, BoW) :用词频向量表示文档,忽略词序。每个维度对应词表中一个词,值为出现次数。

TF-IDF(词频-逆文档频率) ——最重要的文本特征权重方法:

TF(t, d)  = 词t在文档d中出现次数 / 文档d的总词数
IDF(t)    = log(文档总数 N / 含词t的文档数 df(t))
TF-IDF    = TF(t,d) × IDF(t)

含义:TF-IDF 高 → 该词在本文档频繁出现,但在整个语料库中不常见 → 对该文档有很强的区分力。停用词TF高但IDF接近0,所以TF-IDF很低。

向量空间模型(Vector Space Model, VSM) :文档表示为高维向量,文档相似度用余弦相似度计算:

cos(d₁, d₂) = (d₁ · d₂) / (|d₁| × |d₂|)


文本挖掘

文本分类:用已标注的文档训练分类器,预测新文档类别。朴素贝叶斯在文本分类中效果好(词条件独立假设在词袋模型下较为合理)。

文本聚类:无标注文档,按内容相似性自动分组。常用 K-Means(配合 TF-IDF 向量 + 余弦距离)。

信息抽取:从文本中识别结构化信息——命名实体识别(NER)、关系抽取等。


第9章 Web挖掘

Web 挖掘的三大类(先了解体系)

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

Web 结构挖掘(重点)

利用网页之间的超链接关系(即 Web 图结构),分析网页的权威性和重要性。

PageRank 算法(Google 核心算法)

基本思想: 被越多重要网页指向的页面,自身越重要。链接是"投票",来自重要页面的投票权重更大。

公式:

PR(A) = (1−d) + d × Σᵢ [PR(Bᵢ) / L(Bᵢ)]

理解要点:


Kleinberg 提出,将网页重要性分为两个维度

权威页(Authority) :包含高质量内容,被很多 Hub 页指向

枢纽页(Hub) :质量高的导航页,指向很多 Authority 页

两者相互强化(Mutual Reinforcement):好的 Hub 页指向好的 Authority 页;好的 Authority 页被好的 Hub 页指向。

迭代公式(每次迭代后归一化):

auth(v) = Σ hub(u)   (所有指向v的页面u的hub值之和)
hub(v)  = Σ auth(w)  (v所指向的所有页面w的auth值之和)

反复迭代直至收敛。


PageRank vs HITS 对比(常考)

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

全书重点横向速览

章节 最高频考点
第4章 SEMMA五步;Min-Max归一化公式;数据规约vs变换的区别
第5章 支持度/置信度公式;Apriori先验性质(反单调性);连接+剪枝步骤
第6章 信息增益/增益率/基尼指数公式;朴素贝叶斯条件独立假设+手算
第7章 聚类vs分类;K-Means四步流程;K-Means vs K-Medoids对比
第8章 TF-IDF公式含义;文本预处理步骤顺序;VSM余弦相似度
第9章 PageRank公式(阻尼系数d=0.85);HITS的Authority/Hub;两者对比