文章目录

  • 均值填补
    • 如何判断正态分布
      • 可视化观察
      • 卡方检验
    • 结论

均值填补

  • 很多时候,我们的数据会存在缺失值的情况,如果数据量大的情况下我们通常会选择将缺失的数据删除,但是如果数据量比较小,我们则需要对缺失值进行填补
  • 均值填补的方式是一种常用的方式,那么均值填补需要具备的条件是什么呢?
    • 缺失值的数量不能超过总数据的 1/10;如果缺失的数量过大,均值就会失准从而均值填补失效
    • 数据要满足正态分布才能用均值进行填补

如何判断正态分布

可视化观察

import pandas as pd
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
file = r'./iris-clean.csv'
df = pd.read_csv(file,sep=',',header=0)
df
sepal.length sepal.width petal.length petal.width variety
0 5.1 3.5 1.4 0.2 Setosa
1 4.9 3.0 1.4 0.2 Setosa
2 4.7 3.2 1.3 0.2 Setosa
3 4.6 3.1 1.5 0.2 Setosa
4 5.0 3.6 1.4 0.2 Setosa
... ... ... ... ... ...
145 6.7 3.0 5.2 2.3 Virginica
146 6.3 2.5 5.0 1.9 Virginica
147 6.5 3.0 5.2 2.0 Virginica
148 6.2 3.4 5.4 2.3 Virginica
149 5.9 3.0 5.1 1.8 Virginica

150 rows × 5 columns

sepal_len = df['sepal.length']
sepal_width = df['sepal.width']
petal_len = df['petal.length']
petal_width = df['petal.width']
sns.distplot(sepal_len)

sns.distplot(sepal_width)

sns.distplot(petal_len)

sns.distplot(petal_width)

卡方检验

sepal_len = np.array(sepal_len)
stats.kstest(sepal_len,'norm',(sepal_len.mean(),sepal_len.std()))  # 卡方检验 pvalue > 0.05 就是正态分布
KstestResult(statistic=0.08945440179507252, pvalue=0.1706852358415618)
sepal_width = np.array(sepal_width)
stats.kstest(sepal_width,'norm',(sepal_width.mean(),sepal_width.std()))  #  所以这是正态分布
KstestResult(statistic=0.10583307189330171, pvalue=0.0644929989865557)
petal_len = np.array(petal_len)
stats.kstest(petal_len,'norm',(petal_len.mean(),petal_len.std()))  # 所以这不是正态分布
KstestResult(statistic=0.19894200836859716, pvalue=1.1160726642867047e-05)
petal_width = np.array(petal_width)
stats.kstest(petal_width,'norm',(petal_width.mean(),petal_width.std()))  # 所以这不是正态分布
KstestResult(statistic=0.1736414962992952, pvalue=0.0002000375783506314)

结论

  • 从这个例子来看,只有前两组数据可以通过均值来填补缺失值

日常学习之:使用均值来填补缺失值的条件相关推荐

  1. (机器学习)随机森林填补缺失值的思路和代码逐行详解

    随机森林填补缺失值 1.使用0和均值来填补缺失值 2.用随机森林填补缺失值的思路 3.使用随机森林填补缺失值代码逐行详解 3.1导包,准备数据,以及创造缺失的数据集 3.2数据集中缺失值从少到多进行排 ...

  2. python均值插补法填补缺失值_R语言笔记(四):特殊值处理

    输入数据后,我们就能在 R 中对数据进行一系列的操作了.但现实获得的第一手数据往往都是不完整.不整齐的,比如存在数据本身缺失值.离群值,数据框存在冗余行或列,抑或数据需要进一步加工才能获取有意义的变量 ...

  3. python实现-用随机森林填补缺失值、均值填充0填充的比较

    sklearn中,可以使用sklearn.impute.SimpleImputer来轻松地填充均值等 import numpy as np import pandas as pd import mat ...

  4. 五、实例:在波士顿房价数据集上用随机森林回归填补缺失值

    在波士顿房价数据集上用随机森林回归填补缺失值 点击标题即可获取源代码和笔记 一.引入 我们从现实中收集的数据,几乎不可能是完美无缺的,往往都会有一些缺失值.面对缺失值,很多人选择的方式是直接将含有缺失 ...

  5. 案例2:随机森林来填补缺失值

    使用随机森林回归来填补缺失值 1.导包 先导入一些需要的包 import numpy as np import pandas as pd import matplotlib.pyplot as plt ...

  6. 【skLearn 练习】随机森林回归填补缺失值

    文章目录 随机森林回归填补缺失值 ♦导入需要的库 ♦导入数据集 ♦构建缺失值 ♦缺失值填补 ① 均值mean填补 ② 使用0值填补 ③ 使用随机森林回归填补 ⑴ 缺失值数目排序索引 ⑵ 遍历索引填补空 ...

  7. 随机森林案例:回归森林填补缺失值

    文章目录 前言 使用随机森林回归填补缺失值 1.导入库 2. 以波士顿数据集为例,导入完整的数据集并探索 3.为完整数据集放入缺失值 4. 使用0和均值来进行填补 5. 使用随机森林填补缺失值 6. ...

  8. 利用随机森林填补缺失值

    利用随机森林填补缺失值 介绍 利用随机森林填补缺失值 介绍 说到缺失值,我想各位在进行数据分析之前或多或少都是会遇到的.在做有关机器学习的项目的时候,出题人都是会给你一个好几万好几十万的数据,可能会出 ...

  9. pandas填补缺失值的方法

    pandas填补缺失值的方法 在处理数据的过程中,经常会遇到原数据部分内容的缺失,为了保证我们最终数据统计结果的正确性,通常我们有两种处理方式,第一种就是删除掉这些部分缺失的数据:第二种就是填补这些缺 ...

最新文章

  1. JavaMoney规范(JSR 354)与对应实现解读
  2. [PHP打野] 对pear-FSM的研究(一)基本了解
  3. OJ题目-使用+-|等符号表示数字,进行运算【C语言】
  4. luogu P3379 【模板】最近公共祖先(LCA)
  5. python如何引用txt_如何使用pip requirements.txt文件安装python模块附加组件
  6. 给你的Linux把把脉(内存、磁盘、CPU、网络)
  7. php数组插入mysql,php mysql:将一个php数组插入mysql
  8. mysql 多个命令行,5.8.2.1在Windows命令行中启动多个MySQL实例
  9. 如何使用RDP报表工具预览页面可以出现完整数据而不是只显示一条
  10. 看图写英语作文关于计算机,终于懂了看图写英语作文模板
  11. 计算机综述论文能发期刊吗,计算机核心期刊哪些好发
  12. 将一个链表分为奇偶两个链表
  13. 马克飞象markdown用法
  14. 用Power BI实现的账单差异分析,会是什么样的效果?
  15. 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener
  16. freetype的简单使用
  17. E-R 图的不同表示方法(Chen 方法和 Crow‘s foot 方法)
  18. angularjs学习总结 详细教程
  19. 腾讯文档多人在线编辑表格协议分析
  20. 设计模式之工厂方法模式(Factory Method)

热门文章

  1. 《JavaScript学习笔记》
  2. 影响我此生的几首歌(转载)
  3. 电脑显示没有被指定在上运行_win7运行QQ时出现“.dll没有被指定在Windows上运行,或者它包含错误”如何解决...
  4. 超火爆的人类一败涂地Human Fall Flat Mac中文版(支持m1)
  5. 拼多多的商业模式与产品玩法分析
  6. 路由器接自己家的网络可以上网,接公司的网络不没有网络
  7. 通过cv2.VideoCapture完成跳帧截取视频图片
  8. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
  9. 如何写使用说明书或使用手册
  10. ISO 8601时间格式时间创建