数据预处理包括多种方法,诸如数据清理、数据集成、数据变换等。
一、数据清理
数据清理主要是处理缺失数据、噪声数据等。
1 处理缺失值
处理缺失值常用方法:
- 删除数据:根据缺失情况,按行删除或者按列删除
- 度量填补缺失值:可以根据数据属性,采用均值、中位数、众数等中心度量值来填补缺失数据
- 预测填补缺失值:可以将缺失属性作为因变量,建立分类或回归模型,对缺失值进行建模填补
2 噪声数据
对于噪声数据主要通过光滑的操作,可以通过:
- 分箱操作。其主要思想为每一个数据与它的“近邻”数据应该是相似的,因此将数据用其近邻(“箱”或“桶”)替代,这样既可以光滑有序数据值,还能在一定程度上保持数据的独有特点。
- 回归处理。通过一个映像或函数拟合多个属性数据,从而达到光滑数据的效果。
- 离群点分析。聚类可以将相似的值归为同一“簇”,因此主要使用聚类等技术来检测离群点。
二、数据集成
需要的数据往往分布在不同的数据源中,数据集成就是将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。在实际应用中,数据集成解决 3类问题:实体识别、冗余和相关分析,以及数值冲突的检测与处理。
1 实体识别
实体识别是指从不同数据源识别现实世界的实体,它的任务是统一不同源数据的矛盾之处。
2 冗余和相关分析
可以通过可视化、相关性分析等方法,来删除冗余数据
3 数值冲突的检测与处理
对于现实世界的同一实体,由于表达方式、尺度标准或编码的不同常导致元数据的巨大差异。因此要对数据进行尺度标准或编码的统一。
三、数据变换
常用的数据变换操作有:数据规范化、数据里散化、概念分层。
1 数据规范化
数据规范化的目的是将数据按比例缩放,使得属性之间的权值适合数据挖掘。
常见的数据规范化方法包括:
- 最小-最大规范化
- z-score分数规范化
- 小数定标规范化等。
2 数据离散化
数据离散化是将数值属性的原始值用区间标签或概念标签替换的过程,它可以将连续属性值离散化。
3 概念分层
概念分层的主要思想是将低层概念的集合映射到高层概念的集合。
实际操作不一一细化了,相对来说大部分操作都是python学习过程中的基础练习。