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笔记(叁)继续学习
Oct 24 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
Python中的类与对象之描述符详解
Mar 27 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
python numpy--数组的组合和分割实例
Feb 24 Python
python实现将中文日期转换为数字日期
Jul 14 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
Pytest allure 命令行参数的使用
Apr 18 Python
python程序的组织结构详解
Dec 06 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 程序员也要学会使用“异常”
2009/06/16 PHP
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
Python常用小技巧总结
2015/06/01 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
python中温度单位转换的实例方法
2020/12/27 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
银行实习自我鉴定
2013/10/12 职场文书
长辈证婚人证婚词
2014/01/09 职场文书
英语课外活动总结
2014/08/27 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
政风行风评议整改方案
2014/09/15 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers