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 3中实现类型检查器的简单方法
Jul 03 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
Tensorflow 实现修改张量特定元素的值方法
Jul 30 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
Python爬虫基础初探selenium
May 31 Python
python代码实现备忘录案例讲解
Jul 26 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防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
js实现计算器功能
2020/08/10 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
不要用强制方法杀掉python线程
2017/02/26 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
python代码区分大小写吗
2020/06/17 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
软件测试题目
2013/02/27 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
总经理岗位职责
2013/11/09 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
消夏晚会主持词
2015/06/30 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
关于Vue中的options选项
2022/03/22 Vue.js
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android