数据挖掘-数据预处理之数据清洗

数据清洗:数据清洗作为数据预处理中的一个步骤,主要用于处理由于数据仓库中数据不完整、数据噪声以及数据不一致导致的问题。

有人可能质疑,为什么要对数据进行清洗?忽略那些出问题的数据不行吗?当然,视而不见确是一种应对策略,但作为数据挖掘中的一环,没有高质量的数据又谈何挖掘的可信性。为此,对于数据数据挖掘来说,数据的清洗大有必要。

对于数据缺失可以简单理解为感兴趣的数据没有值,对于这种情形,常见的处理方法有以下几种方式:

1.忽略该记录;

2.手动填写空缺记录;

3.使用全局默认值;

4.使用属性均值来填充记录;

5.使用同类样本的均值填充记录(多用于具有分类性质的情况中);

6.使用预测值(例如采用回归、构建决策树进行推断等方式来预测可能值);

对于数据噪声可以理解为数据中存在错误或者数据偏离期望值,‘即:测量过程中测量值相对于真实值产生的偏差或错误。去除噪声主要有以下三种方法:

1.分箱:所谓分箱就是对原始数据进行分组,然后对每一组内的数据进行平滑处理。常见的分箱的方式主要有等深分箱(每组数据一样多)、等宽分箱(每组区间长度一样)、用户自定义、最小熵(各分组内的数据具有最小熵,即:最小的不确定性);而平滑的方式主要有均值平滑(用组内均值来代替组内每个元素)、中间值平滑(用组内中间值来代替组内每个元素)、边界平滑(用组内离得较近的边界值来代替组内元素);

2.回归:回归的方法通过对数据进行拟合发现匹配数据的曲线(线性回归)或者面(多线性回归)即拟合函数,进而通过拟合函数对数据进行平滑处理;

3.聚类:聚类将具有相同值的项分在一个Cluster里面,这样就可以很容易得到Outliers。

对于许多平滑方法来说,同样适用于数据规约。例如可以通过分箱的方法可以削减属性的值空间;反之,数据离散化的方法例如概念分层同样可以用于数据平滑处理。

对于数据不一致主要由于数据源不一致导致数据内涵不一致。

不论你现在身处何种境地,都有选择的权利,可以让状况变得更好或者更差,往往就在一念之间。
原文地址:https://www.cnblogs.com/zpfzb2013/p/3935416.html