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的keyword模块用法实例分析
Jun 30 Python
Python3实现Web网页图片下载
Jan 28 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
使用Python进行中文繁简转换的实现代码
Oct 18 Python
Python实现一个简单的递归下降分析器
Aug 01 Python
深入了解Python装饰器的高级用法
Aug 13 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 Python
在Python中如何使用yield
Jun 07 Python
python turtle绘图命令及案例
Nov 23 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 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实现的购物车类实例
2015/06/17 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
工伤事故证明
2014/10/20 职场文书
杨善洲电影观后感
2015/06/04 职场文书
怎样写观后感
2015/06/19 职场文书
董事会决议范本
2015/07/01 职场文书