目录
第二章 数据
四个重要问题
数据类型——决定使用何种工具和技术分析数据
数据的质量——改进分析结果的质量
数据预处理(适合进行数据挖掘)——
- 提高数据的质量
- 让数据更好地适应特定的数据挖掘技术或工具
根据数据联系分析数据——使用联系而不是数据本身进行其余的分析
数据类型
数据集可看作数据对象的集合
数据对象使用一组刻画对象基本特性的属性描述
属性与度量
属性 (attribute) 是对象的性质或特性
测量标度 (measurement scale) 是将数值或符号值与对象的属性相关联的规则(函数)
- 测量过程是使用测量标度将一个值与一个特定对象的特定属性相关联
(如清点会议室的椅子数目,确定是否能为所有的与会者提供足够的座位)
用来代表属性的值可能具有不同于属性本身的性质
属性可以使用一种不描述属性全部性质的方式测量
知道属性的类型非常重要,它告诉我们测量值的哪些性质与属性的基本性质一致
将属性的类型称作测量标度的类型
四种属性类型: (nominal) (ordinal) (interval) (ratio)
属性的类型可以用不改变属性意义的变换来描述
使用值的个数描述属性:离散的 (discrete) (二元属性),连续的 (continuous)
非对称的 (asymmetric attribute) 二元属性:关注非零值更有意义
只有非零值才重要的二元属性是非对称的二元属性,对于关联分析非常重要
数据集的类型
数据集的特性:
- 维度 (dimensionality) :数据集中的维度是数据集中的对象具有的属性数目——减少维度(维归约)
- 稀疏性 (sparsity) :非对称数据集。是一个优点因为只有非零值需要处理
- 分辨率 (resolution) :不同分辨率下数据的性质也不同
记录数据
记录之间或数据字段之间没有明显的联系,每个记录(对象)具有相同的属性集,通常放在平展文件或者关系数据库中。
其他类型记录数据:
事务数据或购物篮数据:每个记录(事务)涉及一系列的项。
数据矩阵:一个数据集族中的所有数据对象具有相同的数值属性集
稀疏数据矩阵:文档数据——文档—词矩阵
基于图形的数据
图形捕获数据对象之间的联系:链接
具有图形对象的数据:包含具有联系的子对象的对象常常使用图形表示
有序数据
属性涉及时间或空间序的联系
时序数据 (sequential data) :每个记录包含一个与之相关联的时间
序列数据 (sequence data) :各个实体的序列(时序数据除去时间戳)
时间序列数据:每个记录都是一个时间序列(一段时间以来的测量序列)
- 重要的是考虑时间自相关(时间接近数据相似)
空间数据:不同位置收集的数据(空间自相关) (spatial autocorrelation)
处理非记录数据
- 大部分数据挖掘算法为记录数据所设计
- 针对记录数据的技术也可以用于非记录数据
- 容易使用记录形式表示数据,但并不能捕获数据中的所有信息
数据质量
- 数据质量问题的检测与纠正(数据清洗)
- 使用可以容忍低质量数据的算法
测量和数据收集问题
- 测量误差和数据收集错误
- 测量误差:测量过程中导致的问题。对于连续属性,测量值与实际值的差成为误差。
- 数据收集错误:遗漏数据对象或属性值,或不当地包含了其他数据对象等错误。
- 噪声和伪像
- 噪声是测量误差的随机部分——鲁棒算法 (robust algorithm) (在噪声干扰下也能产生可以接受的结果)
- 伪像 (artifact) :数据的确定性失真
- 精度、偏倚和准确率
- 精度:(同一个量的)重复测量值之间的接近程度——常用值集合的标准差度量
- 偏倚:测量值与被测量值之间的系统的变差——用值集合的均值与测出的已知值之间的差度量
- 准确率:被测量的测量值与实际值之间的接近度——有效数字的使用
- 离群点 (outlier) (异常对象或异常值):具有不同于数据集中其他大部分数据对象的特征的数据对象
- 遗漏值
- 删除数据对象或属性:横向删除对象或纵向删除属性
- 估计遗漏值
- 在分析时忽略遗漏值
- 不一致的值:检测并尽量纠正
- 重复数据:去重复 (deduplication)
关于应用的问题
- 时效性:数据只代表有限时间内的真实情况
- 相关性:可用的数据必须包含应用所需要的信息
抽样偏倚 (sampling bias) :样本包含的不同类型的对象与它们在总体中的出现情况不成比例 - 关于数据的知识——描述数据的文档
数据预处理
- 选择分析所需要的数据对象和属性
- 创建或改变属性
- 聚集 (aggregation) :将两个或多个对象合并成单个对象
- 使用更少的内存和处理时间,便于使用开销更大的数据挖掘算法
- 通过高层而不是低层数据视图,起到了范围或标度转换的作用
- 对象或属性群的行为通常比单个对象或属性的行为更加稳定
- 抽样:数据对象的均值是感兴趣的性质,样本具有近似于原数据集的性质,则样本是有代表性的
- 抽样方法:简单随机抽样,无放回抽样,有放回抽样,分层抽样
- 渐进抽样:从一个小样本开始,增加样本容量直到得到足够容量的样本
- 维归约:数据属性的个数少,数据挖掘的算法效果更好
- 删除不相关的特征并降低噪声
- 使模型更容易理解
- 容易对数据进行可视化
- 降低了数据挖掘算法的时间和内存需求
维灾难:随着维度增加,数据在它所占据的空间中越来越稀疏
维归约的线性代数技术:主成分分析(PCA),奇异值分解(SVD)
- 特征子集选择:冗余特征、不相关特征
- 嵌入:在数据挖掘算法运行期间,算法本身决定
- 过滤:在数据挖掘算法运行前进行选择
- 包装:将目标数据挖掘算法作为黑盒,不枚举所有可能的子集来找出最佳属性子集
特征子集选择体系结构:子集评估测量,控制新的特征子集产生的搜索策略,停止搜索判断,验证
特征加权:特征越重要赋予的权值越大
特征创建
- 特征提取:由原始数据集创建新的特征集
- 映射数据到新的空间(时间序列进行傅里叶分析)
- 特征构造:使用一个或多个由原特征构造的新特征
离散化与二元化
- 二元化
- 连续属性离散化:决定需要多少个分类值,如何将连续属性值映射到这些分类值
监督/非监督——使用类信息/不使用类信息 - 监督离散化:基于熵 (entropy) 的方法
- 具有过多值的分类属性:合并成较大的组
变量变换
- 简单函数
- 标准化或规范化:使整个值的集合具有特定的性质
相似性和相异性的度量
许多情况下计算出相似性和相异性就不需要原始数据了
- 相似度:两个对象相似程度的数值度量
- 相异度:两个对象差异程度的数值度量(距离)
变换到 [0,1] 区间普通公式:
相似度与相异度的关系(普通):
其他关系:
使用临近度表示相似性或相异性
简单属性之间的相似度和相异度
数据对象之间的相异度
距离:
距离的性质:
满足此三个性质的测度称为度量 (metric) ,但相异度与度量之间没有关系
非度量的相异度:
- 集合差:
- 时间:
数据对象之间的相似度
性质:
非对称相似性度量:
临近性度量的例子
- 二元数据的相似性度量——相似系数 (similarity coefficient)
取值范围为 [0,1] ,1表示完全相似,0表示完全不相似
- 余弦相似度(常用于文档)
- 广义Jaccard系数
- 相关性
- 取值范围:[-1,1]
- 相关度为1(-1):完全正(负)线性关系
- 相关度为0:不存在线性关系
5. 其他:
临近度计算问题
- 属性具有不同的尺度或相关时如何处理
- 对象包含不同类型的属性时如何计算对象之间的临近度
- 属性具有不同的权重时如何处理临近度计算
- 距离度量的标准化和相关性
属性具有不同的值域或者某些属性相关时
- 组合异种属性的相似度
- 使用权值——通过对每个属性的贡献加权修改公式
选取正确的临近性度量
- 稠密的、连续的数据:距离度量
- 稀疏数据:余弦、Jaccard度量、广义Jaccard度量
- 对时间序列感兴趣:欧几里得距离
- 时间序列代表不同的量:相关度
- 数据的变换或规范化是重要的
- 实践考虑