python缺失值的解决方法总结


Posted in Python onJune 09, 2021

1、解决方法

(1)忽视元组。

缺少类别标签时,通常这样做(假设挖掘任务与分类有关),除非元组有多个属性缺失值,否则该方法不太有效。当个属性缺值的百分比变化很大时,其性能特别差。

(2)人工填写缺失值。

一般来说,这种方法需要很长时间,当数据集大且缺少很多值时,这种方法可能无法实现。

(3)使用全局常量填充缺失值。

将缺失的属性值用同一常数(如Unknown或负无限)替换。如果缺失值都是用unknown替换的话,挖掘程序可能会认为形成有趣的概念。因为有同样的价值unknown。因此,这种方法很简单,但不可靠。

(4)使用与给定元组相同类型的所有样本的属性平均值。

(5)使用最可能的值填充缺失值。

可以通过回归、使用贝叶斯形式化的基于推理的工具和决策树的总结来决定。

2、实例

import numpy as np
 
from sklearn.preprocessing import Imputer
 
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
 
import numpy as np
from sklearn.preprocessing import Imputer
 
###1.使用均值填充缺失值
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
 
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))  
[[4.         2.        ]
 [6.         3.66666667]
 [7.         6.        ]]

知识点扩充:

缺失值的处理方法

由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格、nans或者是其他的占位符。但是这样的数据集并不能被scikit - learn算法兼容,因为大多数的学习算法都会默认数组中的元素都是数值,因此素偶有的元素都有自己的代表意义。

使用不完整的数据集的一个基本策略就是舍弃掉整行或者整列包含缺失值的数值,但是这样处理会浪费大量有价值的数据。下面是处理缺失值的常用方法:

1.忽略元组

当缺少类别标签时通常这样做(假定挖掘任务涉及分类时),除非元组有多个属性缺失值,否则该方法不是很有效。当每个属性缺少值的百分比变化很大时,它的性能特别差。

2.人工填写缺失值

一般该方法很费时,并且当数据集很大,缺少很多值时,该方法可能行不通。

3.使用一个全局常量填充缺失值

将缺失的属性值用同一个常数(如“Unknown”或 负无穷)替换。如果缺失值都用“unknown”替换,则挖掘程序可能会认为它们形成一个有趣的概念,因为它们都具有相同的值“unknown”。因此,虽然该方法很简单,但是它十分不可靠。

4.使用与给定元组属同一类的所有样本的属性均值

例如:将顾客按照credit_risk分类,则使用具有相同信用度的给定元组的顾客的平均收入替换income中的缺失值。

Python客栈送红包、纸质书

5.使用最可能的值填充缺失值

可以用回归、使用贝叶斯形式化的基于推理的工具或决策树归纳确定。例如,利用数据集中其他顾客的属性,可以构造一颗决策树来预测income的缺失值。

到此这篇关于python缺失值的解决方法总结的文章就介绍到这了,更多相关如何解决python缺失值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
python高斯分布概率密度函数的使用详解
Jul 10 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python getopt模块使用实例解析
Dec 18 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
windows支持哪个版本的python
Jul 03 Python
Python基础知识之变量的详解
Apr 14 Python
python 算法题——快乐数的多种解法
May 27 Python
Python提取PDF指定内容并生成新文件
Python激活Anaconda环境变量的详细步骤
Jun 08 #Python
Python序列化与反序列化相关知识总结
Jun 08 #Python
浅谈怎么给Python添加类型标注
Python如何导出导入所有依赖包详解
Jun 08 #Python
OpenCV-Python实现油画效果的实例
OpenCV-Python实现图像平滑处理操作
You might like
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
浅析php工厂模式
2014/11/25 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
python实现大转盘抽奖效果
2019/01/22 Python
wxpython绘制圆角窗体
2019/11/18 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
Python命令行click参数用法解析
2019/12/19 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
心得体会范文
2014/01/04 职场文书
生产厂长岗位职责
2014/02/21 职场文书
教书育人演讲稿
2014/09/11 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android