数据挖掘核心知识框架
数据挖掘核心知识框架
一、绪论
1.1 大数据4V特征
- Volume(大量):数据规模巨大
- Variety(多样):数据类型多样
- Velocity(高速):数据产生和处理速度快
- Value(低价值密度):价值密度低,需挖掘才能提取价值
1.2 数据挖掘定义
从海量数据中提取隐含的、事先未知的、潜在有用的模式或知识。
1.3 KDD过程
数据清洗 → 数据集成 → 数据选择 → 数据变换 → 数据挖掘 → 模式评估 → 知识展示
1.4 数据挖掘功能
分类、聚类、关联规则、离群点检测、序列模式挖掘
1.5 机器学习 vs 统计学
- 机器学习:追求预测准确性,牺牲可解释性
- 统计学:追求变量间关系推断,可解释性强
1.6 数据挖掘软件四代
- 第一代:内存处理,少数算法
- 第二代:与DBMS集成
- 第三代:与预测模型系统集成(PMML)
- 第四代:移动/嵌入式环境(尚未商用)
二、认识数据
2.1 属性类型
- Nominal(标称):无顺序无大小,如发色、邮编
- Binary(二元):2个状态,如性别、HIV检测
- Ordinal(序数):有顺序但间隔未知,如尺寸
- Interval(区间):等间隔但无真零点,如摄氏温度
- Ratio(比率):有真零点,如开氏温度、长度
2.2 集中趋势
- 均值:x拔 = (1/n) × Σxi
- 中位数:排序后取中间值(奇数取正中间,偶数取中间两数平均)
- 众数:出现最频繁的值
2.3 对称与偏态
- 对称分布:均值 = 中位数 = 众数
- 正偏(右偏):均值 > 中位数 > 众数
- 负偏(左偏):均值 < 中位数 < 众数
2.4 离散程度
- 五数概括:min, Q1, Median, Q3, max
- IQR = Q3 - Q1
- 离群点:小于 Q1 - 1.5×IQR 或大于 Q3 + 1.5×IQR
- 方差:s² = (1/(n-1)) × Σ(xi - x拔)²
- 标准差:方差的平方根
2.5 相似性与距离
Minkowski距离:d(i,j) = (Σ|xik - xjk|h)(1/h)
- h=1:曼哈顿距离
- h=2:欧几里得距离
- h=∞:上确界距离(最大分量差)
Jaccard系数(非对称二元属性):Jaccard = q/(q+r+s)
- q:两者都为1的数量,r:i=1且j=0,s:i=0且j=1
余弦相似度(文本挖掘):cos(d1,d2) = (d1·d2)/(||d1||×||d2||)
- 非度量(不满足三角不等式),关注方向而非大小
三、数据预处理
3.1 数据质量六个维度
准确性、完整性、一致性、及时性、可信性、可解释性
3.2 缺失值处理方法
忽略元组、手动填补、自动填补(全局常量、属性均值、同类样本均值、最可能值)
3.3 噪声数据处理
分箱(均值/中位数/边界平滑)、回归、聚类、人工+计算机结合
3.4 归一化方法
Min-Max归一化:v' = (v - min)/(max - min) × (new_max - new_min) + new_min
Z-score归一化:v' = (v - μ)/σ
小数定标归一化:v' = v/10^j,其中j是使max(|v'|) < 1的最小整数
3.5 相关性度量
卡方检验(标称数据):χ² = Σ(观测值 - 期望值)²/期望值,χ²越大越相关
协方差(数值数据):Cov(A,B) = (1/n) × Σ(ai - A拔)(bi - B拔)
- Cov>0同升同降,Cov<0反向,Cov=0不能推出独立
相关系数:r(A,B) = Cov(A,B)/(σA × σB)
- r=0线性无关,r>0正相关,r<0负相关
3.6 维度规约方法
小波变换(去噪、多分辨率、仅低维)、PCA(线性降维)、属性子集选择(启发式搜索)
3.7 分箱平滑
等宽/等频分箱后,可用箱均值、箱中位数、箱边界进行平滑。箱边界平滑:每个值用最近的边界值替换。
四、数据仓库
4.1 数据仓库四大特征
- 面向主题(按主题组织,非面向应用)
- 集成(多源异构数据整合)
- 时变(存储历史数据,键含时间)
- 非易失(只读,无更新操作)
4.2 OLTP vs OLAP
- OLTP:面向事务、当前数据、频繁增删改查
- OLAP:面向分析、历史数据、只读查询
4.3 三种模式
- 星形:一个事实表 + 多个维度表(非规范化)
- 雪花:维度表进一步规范化
- 事实星座:多个事实表共享维度表
4.4 数据立方体
- 方体总数 = 各维度(层数+1)的乘积
- 基本方体:最底层(最细粒度)
- 顶点方体:0维,只有1个单元
4.5 OLAP操作
- 上卷(汇总)、下钻(细化)
- 切片(固定一个维度)、切块(固定多个维度)
- 旋转(重新定向视图)
4.6 度量三类
- Distributive:count, sum, min, max(分区聚合=全部聚合)
- Algebraic:avg, stddev(由有限个distributive聚合计算)
- Holistic:median, mode(无界存储需求)
五、数据立方体技术
5.1 三种物化策略
- 完全立方体:所有方体所有单元物化
- 冰山立方体:只物化满足阈值条件的单元
- 闭立方体:只物化闭单元(无同度量后代)
5.2 三种计算算法对比
- MultiWay:自底向上,有聚集共享,无剪枝,适合完全立方体
- BUC:自顶向下,无聚集共享,有剪枝,适合冰山立方体
- Star-Cubing:集成方向,有共享维,有剪枝,适合冰山立方体
5.3 关键概念
- 冰山条件:HAVING子句中的阈值条件
- 闭单元:不存在后代单元与其度量值相同
- 星形属性:不满足单维冰山条件的属性值,用*替换
- 反单调性:高层不满足条件,则所有低层扩展也不满足
六、频繁模式与关联规则
6.1 核心概念
- 支持度:s = P(X∪Y),包含X∪Y的事务比例
- 置信度:c = P(Y|X) = support(X∪Y)/support(X),包含X的事务中也包含Y的条件概率
- 提升度:Lift = c/P(Y) = support(X∪Y)/(support(X)×support(Y))
- Lift=1:独立
- Lift>1:正相关
- Lift<1:负相关
6.2 支持度-置信度的缺点
高置信度可能具有误导性(如"打篮球→吃谷物"置信度66.7%低于总体吃谷物率75%),无法判断正相关/负相关/独立
6.3 Apriori算法
向下闭包性质:频繁项集的任何子集也必须是频繁的
步骤:扫描DB→L₁→L₁自连接生成C₂→扫描DB→L₂→重复直到L为空。剪枝:若候选项集的任何子集不在L中则删除。
缺点:候选集爆炸、多次扫描DB
6.4 Apriori改进方法
- Partition:全局频繁必在某个分区中频繁
- DHP散列:桶计数低于阈值则剪枝
- Sampling:样本上挖掘再验证
- DIC:动态开始计数
6.5 FP-Growth
优点:不产生候选集、只需2次扫描DB、FP-tree压缩数据
缺点:有序项集处理困难、分支庞大时存储压力大
6.6 闭模式 vs 最大模式
- 闭模式:无同支持度的超模式,无损压缩
- 最大模式:无频繁的超模式,有损压缩
八、分类
8.1 基本概念
- 分类:预测离散/标称类标签(有监督)
- 回归:预测连续值
- 过拟合:模型过度拟合训练数据,泛化差
8.2 决策树属性选择度量
信息增益(ID3):
Info(D) = -Σpi×log₂(pi)
Info_A(D) = Σ(|Dj|/|D|)×Info(Dj)
Gain(A) = Info(D) - Info_A(D)
选择信息增益最大的属性。偏向多值属性。
增益率(C4.5):
GainRatio(A) = Gain(A)/SplitInfo(A)
SplitInfo(A) = -Σ(|Dj|/|D|)×log₂(|Dj|/|D|)
选择增益率最大的属性。偏向不平衡分裂。
基尼指数(CART):
Gini(D) = 1 - Σpj²
Gini_A(D) = (|D₁|/|D|)×Gini(D₁) + (|D₂|/|D|)×Gini(D₂)
选择基尼指数最小的属性。偏向多值属性。
8.3 剪枝方法
预剪枝(提前停止生长)和后剪枝(完全生长后删除分支)
8.4 朴素贝叶斯
P(Ci|X) = P(X|Ci)×P(Ci)/P(X)
朴素假设(属性条件独立):P(X|Ci) = ΠP(xk|Ci)
选择后验概率最大的类。
拉普拉斯校正:每个计数+1,避免零概率。
8.5 模型评估指标
- Accuracy = (TP+TN)/(TP+TN+FP+FN)
- Precision = TP/(TP+FP)
- Recall = TP/(TP+FN)
- Specificity = TN/(TN+FP)
- F1 Score = 2×P×R/(P+R)
8.6 准确率估计方法
- 留出法:2/3训练+1/3测试
- k折交叉验证:分k折轮流做测试集(k=10最常用)
- 留一法:k=元组数,小数据集
- 自助法:有放回采样,约63.2%进训练集
8.7 集成方法
- Bagging:有放回采样,并行训练,多数投票
- Boosting:迭代训练,权重更新,加权投票
- 随机森林:随机选属性建树,多数投票
十、聚类分析
10.1 核心概念
- 聚类:无监督学习,相似对象分组
- 质心:簇的均值点(K-Means使用)
- 中心点:簇中最中心的对象(K-Medoids使用)
- 树状图:层次聚类的树形可视化
10.2 K-Means算法
目标函数:E = ΣΣ||p - ci||²(第一个Σ对k个簇,第二个Σ对簇内各点)
步骤:划分k个非空子集→计算质心→分配对象到最近质心→重复直到稳定
复杂度:O(tkn),t为迭代次数
缺点:需预先指定k、对离群点敏感、仅适用于连续数值数据、不适合非凸形状簇
10.3 K-Medoids(PAM)
用中心点(实际对象)代替质心,对离群点更鲁棒。
复杂度O(k(n-k)²),不适用于大数据集。
改进方法:CLARA(样本上运行PAM)、CLARANS(随机重采样)
10.4 层次聚类距离度量
- 单链:min{dist(p,q)},易形成链状
- 全链:max{dist(p,q)},倾向紧凑球形
- 平均:avg{dist(p,q)},折中
- 质心:dist(Ci, Cj),两簇质心距离
10.5 DBSCAN(密度聚类)
核心概念:
- 核心点:Eps邻域内点数 ≥ MinPts
- 边界点:在核心点邻域内,自身不是核心
- 噪声点:既不是核心也不是边界
簇 = 密度相连点的最大集合
优点:发现任意形状簇、处理噪声
缺点:对Eps和MinPts参数敏感、变密度数据困难
10.6 BIRCH
CF向量 = (N, LS, SS)
- N:数据点数量
- LS:线性和
- SS:平方和
可加性:CF₁ + CF₂ = (N₁+N₂, LS₁+LS₂, SS₁+SS₂)
优点:线性可扩展O(n)
缺点:仅处理数值数据、对数据顺序敏感、簇倾向于球形
10.7 聚类方法分类
- 划分方法:K-Means, K-Medoids, CLARANS
- 层次方法:AGNES, DIANA, BIRCH, CHAMELEON
- 密度方法:DBSCAN, OPTICS, DENCLUE
- 网格方法:STING, WaveCluster, CLIQUE
- 模型方法:EM, SOM, COBWEB
10.8 Hopkins统计量
H≈0.5表示数据均匀分布(无聚类结构),H≈1表示数据高度聚类
10.9 确定簇数k的方法
经验法则(k≈√(n/2))、肘方法(类内方差曲线的拐点)、交叉验证
浙公网安备 33010602011771号