第一章 绪论
1、数据挖掘产生的背景和驱动力
- 背景:随着数据收集、存储、计算技术的迅猛发展,数据获取并不困难,成本也不高,从而能够累积海量的大数据,处于“数据丰富,但信息匮乏(DRIP)”的状态。
- 驱动力:尽可能随时随地收集数据,并且期望收集到的数据不仅对既定收集目的有价值,对未预想到的目的也有价值。
2、大数据的特点
大数据具有“3V”特点:
- Variety(多样性):包含非结构化数据。
- Velocity(高速性):对大数据挖掘的部分算法要求能实时快速处理。
- Volume(大量性):存储容量达到GB、TB、PB、EB、ZB等。
3、什么是数据挖掘
数据挖掘是从大量数据中挖掘出令人感兴趣、有用、隐含、先前未知且可能有用的模式或知识的过程。该过程并非全自动,各个环节可能需要人为参与。其替换词有知识发现(KDD)、知识提炼、数据/模式分析、数据考古、数据捕捞、信息收获等。
4、数据挖掘一般流程、业界数据整合&分析的过程及数据挖掘的应用
- 数据挖掘一般流程:定义问题、数据获取、数据预处理、数据分析与建模、理解/评价模型、部署/实施模型。
- 业界数据整合&分析的过程:数据通常存于文本文件、CRM系统、ERP系统等不同数据源,通过ETL(提取、转换、装载)操作将其存入数据仓库,之后进行各类分析。
- 数据挖掘在各领域的应用举例:公共安全、个性化医疗、城市规划、精准销售、运动等。
5、数据挖掘的四大主要任务及区别
- 四大主要任务:聚类分析、关联分析、分类预测、异常检测。
任务 | 内容 |
---|---|
分类 | 依据一组对象及其类标签构建分类模型,用于预测另一组对象的类别标签,属于有监督的数据挖掘任务。 |
聚类 | 把一组样本分配到子集(簇),使同一簇内样本相似,最大化簇间距离,最小化簇内距离,常作为其他数据挖掘或建模的前奏,属于无监督的数据挖掘任务。 |
关联分析 | 针对给定的一组记录(每个记录包含给定集合中的若干项),生成依赖关系(规则),借此预测某一项是否发生。 |
异常检测 | 发现与正常行为的显著偏差,方法是利用聚类、分类分析的结果。 |
6、结合分类,数据挖掘中常见的概念
- 分类边界:二维空间中是分界线,三维空间中是分界面。
- 过拟合:分类过程中建立的一个平滑的分界面。
- 混淆矩阵相关指标:假设是2分类问题,分为正类(positive)和负类(negative) 。混淆矩阵列出分类的各种情况,其中TPR(真正例率)=TP/(TP + FN),是指正样本中的正确率;TNR(真负例率)=TN/(TN + FP) ,是指负样本中的正确率;Accuracy(准确率)=(TP + TN)/(P + N)。
- ROC曲线/AUC评价标准:在ROC曲线中,横轴是假正例率(FPR),纵轴是真正例率(TPR)。分类器在测试样本上的表现可得到一个TPR和FPR点对,进而映射成ROC平面上的一个点。AUC是度量分类模型好坏的标准,其值为ROC曲线下方的面积大小,介于0.5到1.0之间,AUC值越大,模型性能越好。
第二章 数据
1、数据对象与数据属性
数据 | 数据是数据对象的集合 |
---|---|
数据对象 | 用一组刻画其基本性质的属性描述。也被称为记录、点、向量、模式、事件、样本、观测、实体。 |
数据属性 | 是对象的性质或者特征。也称为变量、特性、字段、特征、维度。 |
属性类型 | 离散属性和连续属性:属性可分为离散属性和连续属性。<\br>非对称属性:只重视少部分非零属性值才有意义,这类属性被称为非对称属性。 |
2、数据集性质与类型
- 数据集的一般特性
特性 | 描述 |
---|---|
维数 | 指数据集中属性的数目。分析高维数据时易陷入维度灾难,数据预处理的重要动机之一是减少维度,即维归约 |
稀疏性 | 像非对称属性的数据集,非零项可能不到1%。仅存储非零值可大幅减少计算时间和存储空间,有专门针对稀疏数据(稀疏矩阵)处理的算法 |
分辨率 | 不同采集频率可获得不同分辨率的数据。数据模式依赖于分辨率,分辨率太小,模式可能不出现;分辨率太大,模式可能难以看出 |
- 数据集的类型
- 数据矩阵相关:包括记录、图结构、序列等可转化为数据矩阵。
- 记录数据:涵盖数据矩阵、交易数据、文本数据。
- 图数据:如万维网、分子结构相关数据。
- 序列数据:包含时间序列、空间数据、图像数据、视频数据。
- 数据集的常用标准形式: 数据矩阵是数据集的常用标准形式。
- 词袋模型
- 每个文档表达为词向量。
- 每个词为向量的一个分量。
- 每个分量的值为该词在文档中出现的次数。
- 维度灾难
定义 | 当增加更多特征维度时,模型的效果反而下降的现象。 |
---|---|
原因 | 随着维数增加,数据在特征空间中越来越稀疏,导致过拟合学习了噪声和异常值。 |
避免方法 | 训练数据的量:理论上,训练样本无限多,维度灾难就不会发生。即随着维度增加,训练样本的数量要求呈指数增加。 模型的类型:非线性决策边界的分类器,如神经网络、KNN、决策树,分类效果好,但泛化能力差。使用这些分类器时,维度不宜过高,需增加数据量。而泛化能力好的分类器,如贝叶斯、线性分类器,则可使用更多的特征。 |
3、数据质量
数据质量差会对许多数据处理工作产生负面影响。常见的数据质量问题包括噪声、异常值、重复值、不一致值、不均衡数据。
4、数据相似性与相异性度量
度量方式 | 解释 | 方法 |
---|---|---|
相似性度量 | 用于度量数据对象的相似程度,越相似值越高,值一般落在[0,1]。 | 二元向量相似度(SMC、Jaccard系数)、余弦相似度(涉及计算题)、相关性(如皮尔森相关系数,涉及计算题)、卡方检验等。 |
相异性度量 | 用于度量数据对象的相异程度,越不相似值越高,值一般落在[0,+∞),上界不定。 | Euclidean距离、Minkowski距离、马氏聚类等。 |
第三章 数据预处理
1、为什么需要数据预处理
数据预处理是数据挖掘中最为艰巨的任务。因为真实的数据存在噪声、不完整、不一致、冗余等问题,还涉及数据类型转换、不均衡数据等情况。
2、数据预处理的主要任务
- 数据清理:填写缺失的值,光滑噪声数据,识别、删除离群点,解决不一致性。
- 数据集成:集成多个数据库或文件。
- 数据归约:包括维规约、数量规约。
- 数据变换和离散化:进行数据类型转换、标准化。
3、数据清洗
- 处理对象:包括无关数据、冗余属性、缺失数据、异常数据。
- 缺失数据处理和填补方法:可采用忽略、手动填补、模型填补等方式。
- 异常数据:即噪声和异常值(测量变量中的随机错误或偏差)。
- 平滑异常值的方法:分箱、回归、聚类。
4、类型转换
属性类型包括连续型、离散型、序数型、标称型、字符串型等。
5、离散化
- 定义:离散化是将连续属性转换为有序属性的过程,主要是决定选择多少个分割点以及确定分割点的位置。
- 离散化方法分类:
- 无监督离散化:等宽离散化、等频率离散化、k - 均值离散化。
- 有监督离散化:利用类信息进行离散化。
6、采样
- 下采样、上采样:相邻点之间的区域随机生成,优点类似插值。
- 边缘采样:当数据集非常大时,边缘点最有价值,采用边缘采样可节省大量计算资源。
7、不平衡数据集
- 定义:不同类别中样本数比率不平衡,但各类别样本量足够多;或者存在某一类或多个类样本量较少(这种情况只能尽量补充该类的样本)。
- 弊端:会使结果不准确,很高的准确率可能没有意义。
- 规避方法:通过抽样来调整类的分布,也可以定义新的准确率评价标准。
8、数据规范化(标准化)
- 有明确上下界:Min - max标准化,适用于有明确上下界的数据。
- 无上下界:Z - score标准化,适用于数据服从高斯分布、无明显上下界且可无限延伸的数据。
9、特征选择与提取
- 判断属性好坏的方法:
- 定性方法:类别柱状图(用于离散型属性)、类别分布图(用于连续型属性)。
- 定量方法:
- 熵:信息量的数学期望,在信息论中衡量一个系统的不确定性,越小越好。
- 信息增益:表示当知道额外属性时,对整个系统的不确定性降低的程度,越大越好。思考连续型属性求熵和信息增益的方法。
- 特征子集选择的方法:
- 穷举:遍历所有可能的属性子集。
- 分支定界:通过分支和定界策略减少搜索空间。
- 贪婪算法:包括选择最优的K个单独的属性、顺序正向选择、顺序逆向选择。
- 优化算法:如模拟退火、遗传算法。
- 特征提取方法(降维方法):
方法 | 主要思想 | 优点 | 缺点 |
---|---|---|---|
无监督PCA | 旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的 | 1. 仅需以方差衡量信息量,不受数据集以外因素影响; 2. 各主成分之间正交,可消除原始数据成分间的相互影响; 3. 计算方法简单,主要运算是特征值分解,易于实现。 | 1. 主成分各个特征维度的含义具有一定模糊性,解释性不如原始样本特征强; 2. 方差小的非主成分可能含有对样本差异的重要信息,降维丢弃可能影响后续数据处理 3. PCA属于有损压缩。 |
有监督LDA | 是一种基于有监督学习的降维方式,将数据集在低维度的空间进行投影,使投影后的同类别的数据点间的距离尽可能靠近,不同类别间的数据点的距离尽可能远。 | 1. 在降维过程中可使用类别的先验知识经验,而PCA等无监督学习无法使用; 2. 在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。 | 1. 不适合对非高斯分布样本进行降维; 2. 降维最多降到类别数k - 1的维数,如果降维的维度大于k - 1,则不能使用LDA; 3. 在样本分类信息依赖方差而不是均值的时候,降维效果不好;可能过度拟合数据。 |
PCA VS LDA | 相同点:都是经典的降维算法;都假设数据是符合高斯分布的;都利用了矩阵特征分解的思想。 | 不同点: 1. PCA是无监督(训练样本无标签)的,LDA是有监督(训练样本有标签)的; 2. PCA是去掉原始数据冗余的维度,LDA是选择一个最佳的投影方向,使得投影后相同类别的数据分布紧凑,不同类别的数据尽量相互远离; 3. LDA最多可以降到k - 1维(k是训练样本的类别数量);LDA可能会过拟合数据 |