zoukankan      html  css  js  c++  java
  • 缺失值处理(Missing Values)

    什么是缺失值?

    缺失值指数据集中某些变量的值有缺少的情况,缺失值也被称为NA(not available)值。在pandas里使用浮点值NaN(Not a Number)表示浮点数和非浮点数中的缺失值,用NaT表示时间序列中的缺失值,此外python内置的None值也会被当作是缺失值。需要注意的是,有些缺失值也会以其他形式出现,比如说用NULL,0或无穷大(inf)表示。

    缺失值产生的原因: a. 数据采集时发生错误

                                      b. 数据提取过程有问题

                                      c. 业务分类需要

    处理缺失值的方法:

    首先了解数据缺失的原因,根据原因判断缺失的数据是否具有特定的商业意义。如果不具备业务意义,那么可以进行以下操作:

    1,删除整条记录(list-wise deletion):适用于缺失值非常少,不影响整体数据的情况。这种方法的优点是简单,缺点是减少了样本数量。

    2,删除含有大量缺失值的变量:如果某个变量包含大量的缺失值,我们可以直接删除这个变量来保留更多的观测,除非这个变量对于模型而言特别重要。应用这个方法需要我们在变量的重要性和观测的数量之间做权衡。

    3,用标量插补(single imputation):如果缺失值比较少,那么可以使用平均值,中位数,众数等进行插补。

    4,插值法(interpolation):先求得插值函数,然后将缺失值对应的点代入插值函数得到缺失值的近似值。常见插值方法有拉格朗日插值法、分段插值法、样条插值法、线性插值法。

    5,用模型预测(model-based imputation):通过模型来估计缺失值,是处理缺失值比较复杂的方法。 如果缺失值很多,但是比较适用模型预测。在这种情况下,我们将数据集分为两组:一组没有缺失值,另一组有缺少值。 第一个数据集成为模型的训练数据集,而有缺失值的第二个数据集是测试数据集,有缺失值的变量被视为目标变量。 接下来,我们创建一个模型,根据训练数据集的特征预测目标变量,并填充测试数据集的缺失值。我们可以使用线性回归,随机森林,最近邻法,逻辑回归等各种建模技术来执行此操作。

     

    这种方法有两个缺点:

    • 模型的估计值通常比真实值更好
    • 如果数据集中的特征与有缺少值的特征之间没有关系,那么模型估计将不精确。

    附:

  • 相关阅读:
    中文词频统计
    【大数据应用期末总评】Hadoop综合大作业
    【大数据作业十一】分布式并行计算MapReduce
    【大数据作业十】分布式文件系统HDFS 练习
    【大数据作业九】安装关系型数据库MySQL 安装大数据处理框架Hadoop
    【爬虫综合大作业】腾讯视频——大家到底都在看什么?!
    【大数据作业七】爬取全部的校园新闻
    【大数据作业六】获取一篇新闻的全部信息
    【大数据作业五】理解爬虫原理
    【大数据作业四】中文词频统计
  • 原文地址:https://www.cnblogs.com/HuZihu/p/9641248.html
Copyright © 2011-2022 走看看