zoukankan      html  css  js  c++  java
  • 数据清洗

    数据列缺失的四种处理方法

    • 丢弃

      丢弃意味着会消减数据特征, 以下任何一种场景都不宜采用该方法:

      1.数据集中存在大量的数据记录不完整情况且比例较大, 例如超过10%, 删除这些带有缺失值的记录意味着会随时过多有用信息.

      2.带有缺失值的数据记录大量存在着明显的数据分布规律或特征, 例如带有缺失值的数据记录的目标标签主要集中与某一类或几类, 如果删除这些数据记录将使对应分类的数据样本丢失大量特征信息, 导致模型过拟合或分类不准确.

    • 补全

      相对丢弃而言, 补全是更加常用的缺失值处理方式, 常用的补全方法如下:

      1.统计法

      对于数值型的数据, 使用均值, 加权均值, 中位数等方法补足; 对于分类型数据, 使用类别众数最多的值补足.

      2. 模型法

      更多时候我们会基于已有的其他字段, 将缺失字段作为目标变量进行预测, 从而得到最为可能的补全值. 如果带有缺失值的列是数值变量, 采用 回归模型 补全; 如果是分类变量, 则采用 分类模型 补全.

      3.专家补全

      对于少量且具有重要意义的数据记录, 专家补足也是非常重要的一种途径.

      4.其他方法

      例如随机法, 特殊值法, 多重填补等.

    • 真值转换法

      在某些情况下, 我们坑那个无法得知缺失值的分布规律, 并且无法对于缺失值采用上述任何一种不全方法做处理; 或者我们认为数据缺失也是一种规律, 不应对缺失值随意出来, 那么还有一种缺失值处理思路 — 真值转换.

    • 不处理

      在数据预处理阶段, 对于具有缺失值的数据记录不做任何处理, 也是一种思路. 这种思路主要看后期的数据分析和建模应用, 很多模型对于缺失值有容忍度或灵活的处理方法, 因此在预处理阶段可以不作处理.

      常见的能够自动处理缺失值的模型包括: KNN, 决策树和随机森林, 神经网络和朴素贝叶斯, DBSCAN等. 这些模型对于缺失值的处理思路是:

      1. 忽略, 缺失值不参与距离计算, 例如 KNN.

      2. 将缺失值作为分布的一种状态, 并参与到建模过程, 例如各种决策树及其变体.

      3. 不基于距离做计算, 因此基于值的记录做计算本身的影响就消除了, 例如DBSCAN

  • 相关阅读:
    shell脚本编程-结构化命令3-while、until命令
    shell脚本编程-结构化命令2-for命令
    sscanf解析复杂字符串,双引号通配符的使用问题
    shell脚本编程-结构化命令1-分支语句
    shell脚本编程基础
    linux系统管理的基本命令2
    linux系统管理的基本命令
    redis
    Eclipse启动报错
    java斗地主发牌源码
  • 原文地址:https://www.cnblogs.com/larkiisready/p/11681621.html
Copyright © 2011-2022 走看看