日常学习之:使用均值来填补缺失值的条件
文章目录
- 均值填补
- 如何判断正态分布
- 可视化观察
- 卡方检验
- 结论
均值填补
- 很多时候,我们的数据会存在缺失值的情况,如果数据量大的情况下我们通常会选择将缺失的数据删除,但是如果数据量比较小,我们则需要对缺失值进行填补
- 均值填补的方式是一种常用的方式,那么均值填补需要具备的条件是什么呢?
- 缺失值的数量不能超过总数据的 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.使用0和均值来填补缺失值 2.用随机森林填补缺失值的思路 3.使用随机森林填补缺失值代码逐行详解 3.1导包,准备数据,以及创造缺失的数据集 3.2数据集中缺失值从少到多进行排 ...
- python均值插补法填补缺失值_R语言笔记(四):特殊值处理
输入数据后,我们就能在 R 中对数据进行一系列的操作了.但现实获得的第一手数据往往都是不完整.不整齐的,比如存在数据本身缺失值.离群值,数据框存在冗余行或列,抑或数据需要进一步加工才能获取有意义的变量 ...
- python实现-用随机森林填补缺失值、均值填充0填充的比较
sklearn中,可以使用sklearn.impute.SimpleImputer来轻松地填充均值等 import numpy as np import pandas as pd import mat ...
- 五、实例:在波士顿房价数据集上用随机森林回归填补缺失值
在波士顿房价数据集上用随机森林回归填补缺失值 点击标题即可获取源代码和笔记 一.引入 我们从现实中收集的数据,几乎不可能是完美无缺的,往往都会有一些缺失值.面对缺失值,很多人选择的方式是直接将含有缺失 ...
- 案例2:随机森林来填补缺失值
使用随机森林回归来填补缺失值 1.导包 先导入一些需要的包 import numpy as np import pandas as pd import matplotlib.pyplot as plt ...
- 【skLearn 练习】随机森林回归填补缺失值
文章目录 随机森林回归填补缺失值 ♦导入需要的库 ♦导入数据集 ♦构建缺失值 ♦缺失值填补 ① 均值mean填补 ② 使用0值填补 ③ 使用随机森林回归填补 ⑴ 缺失值数目排序索引 ⑵ 遍历索引填补空 ...
- 随机森林案例:回归森林填补缺失值
文章目录 前言 使用随机森林回归填补缺失值 1.导入库 2. 以波士顿数据集为例,导入完整的数据集并探索 3.为完整数据集放入缺失值 4. 使用0和均值来进行填补 5. 使用随机森林填补缺失值 6. ...
- 利用随机森林填补缺失值
利用随机森林填补缺失值 介绍 利用随机森林填补缺失值 介绍 说到缺失值,我想各位在进行数据分析之前或多或少都是会遇到的.在做有关机器学习的项目的时候,出题人都是会给你一个好几万好几十万的数据,可能会出 ...
- pandas填补缺失值的方法
pandas填补缺失值的方法 在处理数据的过程中,经常会遇到原数据部分内容的缺失,为了保证我们最终数据统计结果的正确性,通常我们有两种处理方式,第一种就是删除掉这些部分缺失的数据:第二种就是填补这些缺 ...
最新文章
- JavaMoney规范(JSR 354)与对应实现解读
- [PHP打野] 对pear-FSM的研究(一)基本了解
- OJ题目-使用+-|等符号表示数字,进行运算【C语言】
- luogu P3379 【模板】最近公共祖先(LCA)
- python如何引用txt_如何使用pip requirements.txt文件安装python模块附加组件
- 给你的Linux把把脉(内存、磁盘、CPU、网络)
- php数组插入mysql,php mysql:将一个php数组插入mysql
- mysql 多个命令行,5.8.2.1在Windows命令行中启动多个MySQL实例
- 如何使用RDP报表工具预览页面可以出现完整数据而不是只显示一条
- 看图写英语作文关于计算机,终于懂了看图写英语作文模板
- 计算机综述论文能发期刊吗,计算机核心期刊哪些好发
- 将一个链表分为奇偶两个链表
- 马克飞象markdown用法
- 用Power BI实现的账单差异分析,会是什么样的效果?
- 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener
- freetype的简单使用
- E-R 图的不同表示方法(Chen 方法和 Crow‘s foot 方法)
- angularjs学习总结 详细教程
- 腾讯文档多人在线编辑表格协议分析
- 设计模式之工厂方法模式(Factory Method)
热门文章
- 《JavaScript学习笔记》
- 影响我此生的几首歌(转载)
- 电脑显示没有被指定在上运行_win7运行QQ时出现“.dll没有被指定在Windows上运行,或者它包含错误”如何解决...
- 超火爆的人类一败涂地Human Fall Flat Mac中文版(支持m1)
- 拼多多的商业模式与产品玩法分析
- 路由器接自己家的网络可以上网,接公司的网络不没有网络
- 通过cv2.VideoCapture完成跳帧截取视频图片
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
- 如何写使用说明书或使用手册
- ISO 8601时间格式时间创建