《数据挖掘》第一章 绪论 读书笔记
来源 :基于《数据挖掘》(主编:吕欣、王梦宁)教材 + 官方配套 GitHub 仓库 XL-lab-bigdata/DataMining
仓库亮点 :提供学习笔记/文件夹(含多位同学贡献的结构化笔记)、各章节code/+data/+exercises/,数据集已转为.parquet格式。
1. 本章学习目标
通过本章学习,你应该能够:
- 阐述大数据时代背景及其战略意义
- 区分数据、信息、知识的层次关系
- 掌握大数据的 4V 特征 及扩展特征
- 理解数据挖掘的定义、与 KDD 的关系及标准流程
- 熟悉本书覆盖的 9 大核心技术领域
- 认识大数据挖掘的主要挑战、典型应用及隐私伦理问题
2. 大数据时代背景
大数据已成为国家重要的战略资源。数据规模从 KB → MB → GB → TB → PB → EB → ZB → YB 呈爆炸式增长。
核心转变:数据从"副产品"变为"核心生产要素"。
3. 大数据的基本概念
3.1 数据、信息、知识的递进关系
数据 Data
信息 Information
知识 Knowledge
智慧 Wisdom
| 层次 | 定义 | 特点 | 示例 |
|---|---|---|---|
| 数据 | 原始事实、符号、信号 | 无上下文、无意义 | 25, 男, 北京 |
| 信息 | 经过处理并赋予上下文的数据 | 有意义、可理解 | "25岁男性,来自北京" |
| 知识 | 从信息中提炼的规律、模式、规则 | 可指导行动 | "25-35岁北京男性更倾向购买运动鞋" |
3.2 大数据的特征(4V + 扩展)
| 特征 | 英文 | 核心含义 | 对数据挖掘的影响 |
|---|---|---|---|
| 规模性 | Volume | 数据体量巨大(PB/EB 级) | 需要分布式计算、可扩展算法 |
| 多样性 | Variety | 结构化 + 半结构化 + 非结构化 | 多源异构数据融合困难 |
| 高速性 | Velocity | 产生与处理速度极快 | 流式计算、实时分析需求 |
| 价值性 | Value | 价值密度低,但总体价值高 | 需要强有力的模式发现能力 |
| 真实性 | Veracity | 数据质量参差不齐 | 数据清洗与质量评估至关重要 |
| 可变性 | Variability | 数据含义随上下文变化 | 概念漂移(Concept Drift)问题 |
| 复杂性 | Complexity | 关联网络复杂 | 图挖掘、复杂网络分析需求 |
4. 数据挖掘的定义与定位
数据挖掘(Data Mining) 是从海量数据中自动或半自动发现隐藏的、有用的模式和知识的过程。
4.1 数据挖掘与 KDD 的关系
- KDD(Knowledge Discovery in Databases):更广义的过程,包含数据准备、挖掘、评估等完整流程
- 数据挖掘:KDD 的核心阶段(模式发现)
关系图示:
数据清洗 → 数据集成 → 数据选择 → 数据变换 →
数据挖掘(模式发现) → 模式评估 → 知识表示
4.2 数据挖掘 vs 机器学习 vs 人工智能
| 维度 | 数据挖掘 | 机器学习 | 人工智能 |
|---|---|---|---|
| 核心目标 | 从数据中发现知识 | 构建预测/分类模型 | 模拟人类智能 |
| 驱动方式 | 数据驱动 + 业务驱动 | 算法驱动 | 认知驱动 |
| 典型输出 | 规则、模式、洞察 | 模型、预测结果 | 决策、智能体 |
5. 数据挖掘的基本流程
推荐同时参考 KDD 过程 和 CRISP-DM 模型。
5.1 KDD 典型阶段
- 数据准备(选择、清洗、集成、变换)
- 数据挖掘(建模)
- 模式评估
- 知识表示与应用
5.2 CRISP-DM 循环(工业界常用)
业务理解 → 数据理解 → 数据准备 → 建模 → 评估 → 部署 →(返回业务理解)
6. 本书数据挖掘技术体系(9 大核心领域)
本书系统覆盖以下 9 大领域,对应仓库 chapter2 ~ chapter10:
| 序号 | 领域 | 主要任务 | 典型算法/方法 | 仓库对应 |
|---|---|---|---|---|
| 1 | 统计描述 | 数据概括、分布特征、集中趋势与离散程度 | 均值、中位数、标准差、偏度、峰度 | chapter2 |
| 2 | 相关分析 | 变量间线性/非线性关系强度 | Pearson、Spearman、距离相关 | chapter3 |
| 3 | 回归分析 | 数值型目标预测 | 线性回归、岭回归、Lasso | chapter4 |
| 4 | 数据降维 | 高维数据可视化与简化 | PCA、t-SNE、UMAP | chapter5 |
| 5 | 关联规则挖掘 | 频繁项集与规则发现 | Apriori、FP-Growth | chapter6 |
| 6 | 分类 | 预测离散类别标签 | KNN、决策树、SVM、朴素贝叶斯 | chapter7 |
| 7 | 聚类 | 无监督数据分组 | K-Means、层次聚类、DBSCAN | chapter8 |
| 8 | 异常检测 | 识别离群点 | 孤立森林、LOF、One-Class SVM | chapter9 |
| 9 | 集成学习 | 提升模型泛化能力 | Bagging、Boosting、Stacking | chapter10 |
7. 大数据挖掘的挑战
- 高维灾难(Curse of Dimensionality)
- 概念漂移与数据分布变化
- 实时性与可扩展性要求
- 异构数据融合
- 可解释性(XAI)需求
- 隐私保护与算法公平性
8. 典型应用场景
- 金融风控:信贷违约预测、反欺诈
- 智能医疗:疾病预测、个性化治疗
- 智能制造:设备故障预警、质量优化
- 电商与推荐:用户画像、个性化推荐
- 智慧城市:交通流量预测、犯罪热点分析
9. 隐私与伦理问题(重点关注)
主要风险:
- 隐私泄露(知情同意权缺失)
- 算法歧视(大数据杀熟、性别/种族偏见)
- 自主权侵犯
推荐遵循的原则(教材总结):
- 目的明确性
- 数据最小化
- 透明可解释
- 安全保障
- 用户赋权
- 责任可追溯
10. 实践代码示例(桥接到 Chapter 2)
虽然本章偏理论,但仓库 chapter2/code/ 已提供描述性统计实战代码。以下是典型描述性统计分析示例(推荐在仓库代码基础上扩展):
python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
# 读取数据(仓库推荐使用 .parquet 格式)
# df = pd.read_parquet('data/某数据集.parquet')
# 示例数据
np.random.seed(42)
data = pd.DataFrame({
'年龄': np.random.normal(35, 10, 1000),
'收入': np.random.lognormal(10, 0.5, 1000),
'评分': np.random.randint(1, 6, 1000)
})
print("=== 基础描述性统计 ===")
print(data.describe())
print("\n=== 自定义统计指标 ===")
desc_stats = pd.DataFrame({
'均值': data.mean(),
'中位数': data.median(),
'标准差': data.std(),
'偏度': data.skew(),
'峰度': data.kurtosis(),
'变异系数': data.std() / data.mean()
})
print(desc_stats)
# 可视化
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
for i, col in enumerate(data.columns):
sns.histplot(data[col], kde=True, ax=axes[i])
axes[i].set_title(f'{col} 分布')
plt.tight_layout()
plt.show()
仓库使用提示:
- 所有代码均为独立脚本(independent script)
- 数据集已从
.csv转为.parquet - 建议按 PEP 8 规范重命名后复用
11. 本章知识总结清单(推荐整理成卡片)
- 大数据的 4V + 3V 扩展特征
- 数据 → 信息 → 知识 的递进关系
- KDD 过程的主要阶段
- 本书 9 大核心领域及对应章节
- 数据挖掘 vs 机器学习 vs KDD 的区别
- 大数据挖掘的主要挑战
- 隐私保护基本原则
12. 思考与练习建议
- 结合仓库
学习笔记/1 绪论_A.md进行对比学习 - 尝试在
chapter2/code/基础上添加更多统计图表(箱线图、Q-Q 图) - 思考:当前你所在行业最需要哪一类数据挖掘技术?为什么?
- 讨论:如何在实际项目中平衡数据挖掘效果与用户隐私?
参考资源:
- 官方仓库:https://github.com/XL-lab-bigdata/DataMining
- 仓库内
学习笔记/多位同学贡献笔记(强烈推荐阅读 A/B 版) - 后续章节将逐步补充代码与案例
笔记撰写日期:2026年5月
建议与仓库代码结合实践,效果更佳