数据预处理(二)数据清理

数据清理

数据清理一般分为四个部分:数据去重,错误数据纠正,格式标准化和异常值处理,下面详细介绍以下异常值处理。

异常值处理

异常值处理分为三种类型:缺失值处理,噪声数据处理,离群点。对于离群点最常用的方法就是直接删除,下面介绍一下如何处理缺失值和噪声数据。

缺失值处理

  1. 直接删除
    这种方法适合缺失值数量较小,且是随机出现的,删除它们对整体数据影响不大。
  2. 使用全局常量填充
    譬如,将缺失值用“Unknown”等填充,但该做法的效果未必会好,因为算法可能会将其识别成一个新的类别,因此该方法很少使用。
  3. 使用均值或中位数填充
    这种做法的优点是不会减少样本信息,处理起来较为简单;缺点是当缺失数据不是随机数据时会产生偏差,对于正常分布的数据可以使用均值代替,如果数据是倾斜的,使用中位数的效果可能更好。
  4. 插补法
    常见的插补法有四种:随机插补法、多重插补法、热平台插补、拉格朗日插值法和牛顿插值法。
    • 随机插补法:从整体中随机抽取某个样本代替缺失样本;
    • 多重插补法:通过变量之间的关系对缺失数据进行预测,利用蒙特卡洛方法生成多个完整的数据集,再对这些数据集进行分析,最后对分析结果进行汇总处理。
    • 热平台插补:指在非缺失数据集中找到一个与缺失值所在样本相似的样本(匹配样本),利用其中的观测值对缺失值进行插补。热平台插补法简单易行,准确率较高。但当变量数量较多,很难找到与需要插补样本完全相同的样本时应该怎么处理呢?这时候,我们可以按照某些变量将数据分层,在层中对缺失值实行均值插补法。
    • 拉格朗日插值法和牛顿插值法(参考1参考2),拉格朗日插值法和牛顿插值法除了计算方式不同外,还有一点就是拉格朗日插值法每增加一个新的点,都需要重新计算一次,而牛顿插值法每增加一个点,不会导致之前的重新计算,只需要算和新增点有关的就可以了。
  5. 建模法
    建模法指的是使用算法模型对缺失值进行填充,常用的算法有:KNN、回归模型、贝叶斯模型、决策树模型。我们通常令没有变量缺失的数据集作为训练集,而有变量缺失的数据集作为测试集。需要注意的是,建模法的估计值往往会比真实值更好,并且,如果数据集中的属性和缺失值中的属性没有关系,则使用该模型得到的估计值可能会具有较大偏差。
    详细介绍一下KNN模型:KNN算法通过寻找与值丢失的属性最相似的属性来估计属性的缺失值,通过距离函数确定两个属性的相识度。
    • KNN的优点:
      a) KNN可以预测定性和定量属性;
      b) KNN不需要为缺少数据的每个属性创建预测模型;
      c) 对于具有多个缺失值的属性可以轻松处理;d) 数据的相关结构被KNN考虑在内。
    • KNN的缺点:
      a) KNN算法在分析大数据方面非常耗时,搜索所有的数据集,寻找最相似的实例;
      b) K值的选择非常关键,K值较高凸显不了显著性,K值较低会丢失重要属性。

噪声数据处理

处理噪声数据的方法有很多:分箱法、聚类法、计算机和人工检查结合和回归。

  • 分箱法
    分箱法即首先对数据进行排序,并将它们分到等宽的箱中,然后可以按箱的平均值、中值或边界平滑纠正早上数据。

    举个例子:
    一组数据,排序后分别为:4、8、15、21、21、24、25、28、34。
    划分成3个等宽的箱子中:
    箱1 : 4、8、15
    箱2 : 21、21、24
    箱3 : 25、28、34
    用箱平均值进行平滑:
    箱1 : 9、9、9
    箱2 : 22、22、22
    箱3 : 29、29、29
    用箱边界平滑:
    箱1 : 4、4、15
    箱2 : 21、21、24
    箱3 : 29、29、29

  • 聚类法
    通过聚类分析查找孤立点,消除噪声:
    这样就可以消除噪声点了

  • 计算机和人工检查结合排查

  • 回归
    通过构造函数来符合数据变化趋势,这样可以用一个变量预测另外一个变量。回归又分为线性回归和非线性回归两种。

猜你喜欢

转载自blog.csdn.net/sysstc/article/details/83619895