本文共 1580 字,大约阅读时间需要 5 分钟。
现实世界的数据是“肮脏的”——数据多了,什么问题都会出现
没有高质量的数据,就没有高质量的挖掘结果
一个广为认可的多维度量观点:
跟数据本身的含义相关的
数据清理–Potter’s Wheel
填写空缺的值,平滑噪声数据,识别、删除孤立点,解决不一致性
数据集成
集成多个数据库、数据立方体或文件
数据变换
规范化和聚集
数据归约
得到数据集的压缩表示,它小得多,但可以得到相同或相近的结果
数据离散化
数据归约的一部分,通过概念分层和数据的离散化来规约数据,对数字型数据特别重要
数据并不总是完整的
例如:数据库表中,很多条记录的对应字段没有相应值,比如销售表中的顾客收入引起空缺值的原因
空缺值要经过推断而补上
忽略元组:当类标号缺少时通常这么做(假定挖掘任务涉及分类或描述),当每个属性缺少值的百分比变化很大时,它的效果非常差。
人工填写空缺值:工作量大,可行性低 使用一个全局变量填充空缺值:比如使用unknown或-∞ 使用属性的平均值填充空缺值 使用与给定元组属同一类的所有样本的平均值 使用最可能的值填充空缺值:使用像Bayesian公式或判定树这样的基于推断的方法噪声:一个测量变量中的随机错误或偏差
引起噪声数据的原因分箱(binning):
首先排序数据,并将他们分到等深的箱中 然后可以按箱的平均值平滑、按箱中值平滑、按箱的边界平滑等等聚类:
监测并且去除孤立点 计算机和人工检查结合 计算机检测可疑数据,然后对它们进行人工判断回归
通过让数据适应回归函数来平滑数据数据集成:
将多个数据源中的数据整合到一个一致的存储中模式集成:
整合不同数据源中的元数据 实体识别问题:匹配来自不同数据源的现实世界的实体,比如:A.cust-id=B.customer_no检测并解决数据值的冲突
对现实世界中的同一实体,来自不同数据源的属性值可能是不同的 可能的原因:不同的数据表示,不同的度量等等集成多个数据库时,经常会出现冗余数据
同一属性在不同的数据库中会有不同的字段名 一个属性可以由另外一个表导出,如“年薪”有些冗余可以被相关分析检测到
仔细将多个数据源中的数据集成起来,能够减少或避免结果数据中的冗余与不一致性,从而可以提高挖掘的速度和质量
平滑:去除数据中的噪声 (分箱、聚类、回归)
聚集:汇总,数据立方体的构建 数据概化:沿概念分层向上概化 规范化:将数据按比例缩放,使之落入一个小的特定区间 属性构造:通过现有属性构造新的属性,并添加到属性集中;以增加对高维数据的结构的理解和精确数据仓库中往往存有海量数据,在其上进行复杂的数据分析与挖掘需要很长的时间
数据归约
数据归约可以用来得到数据集的归约表示,它小得多,但可以产生相同的(或几乎相同的)分析结果数据归约策略
用于数据归约的时间不应当超过或“抵消”在归约后的数据上挖掘节省的时间。