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 相关文章推荐
Python contextlib模块使用示例
Feb 18 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
浅谈Python type的使用
Nov 19 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
python能做哪些生活有趣的事情
Sep 09 Python
Python提取PDF指定内容并生成新文件
Python激活Anaconda环境变量的详细步骤
Jun 08 #Python
Python序列化与反序列化相关知识总结
Jun 08 #Python
浅谈怎么给Python添加类型标注
Python如何导出导入所有依赖包详解
Jun 08 #Python
OpenCV-Python实现油画效果的实例
OpenCV-Python实现图像平滑处理操作
You might like
实现树状结构的两种方法
2006/10/09 PHP
PHP Document 代码注释规范
2009/04/13 PHP
php模板函数 正则实现代码
2012/10/15 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
javascript Window及document对象详细整理
2011/01/12 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
Django 请求Request的具体使用方法
2019/11/11 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
美国眼镜网:GlassesUSA
2017/09/07 全球购物
365 Tickets英国:全球景点门票
2019/07/06 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
2014社区三八妇女节活动方案
2014/03/30 职场文书
车辆年审委托书范本
2014/09/18 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers