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 os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
Python温度转换实例分析
Jan 17 Python
python 实现在Excel末尾增加新行
May 02 Python
python中cPickle类使用方法详解
Aug 27 Python
Python3进制之间的转换代码实例
Aug 24 Python
python爬虫用mongodb的理由
Jul 28 Python
详解python程序中的多任务
Sep 16 Python
python 贪心算法的实现
Sep 18 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
Python提取PDF指定内容并生成新文件
Python激活Anaconda环境变量的详细步骤
Jun 08 #Python
Python序列化与反序列化相关知识总结
Jun 08 #Python
浅谈怎么给Python添加类型标注
Python如何导出导入所有依赖包详解
Jun 08 #Python
OpenCV-Python实现油画效果的实例
OpenCV-Python实现图像平滑处理操作
You might like
mysql5写入和读出乱码解决
2006/11/25 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
php上传excel表格并获取数据
2017/04/27 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
jquery对表单操作2
2011/04/06 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
python分析nignx访问日志脚本分享
2015/02/26 Python
python实现自动重启本程序的方法
2015/07/09 Python
一百行python代码将图片转成字符画
2021/02/19 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
简单介绍python封装的基本知识
2019/08/10 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
浅谈django 重载str 方法
2020/05/19 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
简洁的英文求职信范文
2014/05/03 职场文书
广告宣传策划方案
2014/05/21 职场文书
物流专业求职信
2014/06/30 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
小学优秀学生评语
2014/12/29 职场文书
使用Redis实现分布式锁的方法
2022/06/16 Redis