python缺失值的解决方法总结

 更新时间:2021年06月09日 08:25:27   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于python缺失值的解决方法总结,有需要的朋友们可以跟着学习下。

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中的魔法函数和魔法属性用法示例

    这篇文章主要介绍了Python中的魔法函数和魔法属性的相关资料,Python的魔法函数也被称为特殊方法或双下划线方法,是Python中一些特殊命名的函数,它们以双下划线开头和结尾,这些函数定义了对象在特定情况下的行为,需要的朋友可以参考下
    2024-11-11
  • Python类中的装饰器在当前类中的声明与调用详解

    Python类中的装饰器在当前类中的声明与调用详解

    这篇文章主要介绍了Python类中的装饰器在当前类中的声明与调用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python3 元组tuple入门基础

    Python3 元组tuple入门基础

    这篇文章主要介绍了Python3 元组tuple入门基础,需要的朋友可以参考下
    2020-02-02
  • django中F与Q查询的使用

    django中F与Q查询的使用

    一般查询都是单条件查询,F和Q是组合条件查询,本文主要介绍了django中F与Q查询的使用,感兴趣的可以了解一下
    2021-06-06
  • 只用20行Python代码实现屏幕录制功能

    只用20行Python代码实现屏幕录制功能

    python小哥哥发现女朋友最近总是很忙的样子,晚上匆匆忙忙道过晚安就不说话了.可是,QQ头像却会偶尔亮起来.小哥哥非常担心,是不是账号被盗了呢然后,就想帮女朋友排查一下所以就用python写了一个录制脚本,悄悄装在女友电脑上,需要的朋友可以参考下
    2021-06-06
  • 应用OpenCV和Python进行SIFT算法的实现详解

    应用OpenCV和Python进行SIFT算法的实现详解

    这篇文章主要介绍了应用OpenCV和Python进行SIFT算法的实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python中的基本数据类型介绍

    Python中的基本数据类型介绍

    这篇文章介绍了Python中的基本数据类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 在Mac中PyCharm配置python Anaconda环境过程图解

    在Mac中PyCharm配置python Anaconda环境过程图解

    这篇文章主要介绍了在Mac中PyCharm配置python Anaconda环境过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 深入浅析python 协程与go协程的区别

    深入浅析python 协程与go协程的区别

    这篇文章主要介绍了python 协程与go协程的区别 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • python 对象真假值的实例(哪些视为False)

    python 对象真假值的实例(哪些视为False)

    这篇文章主要介绍了python 对象真假值的实例(哪些视为False),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论