Missing data imputation with Impyute

在缺失值填充中,python中有一些开源的方法。
这些方法主要是包括:
删除法(most searched in google,but do nothing to impute the missing data),均值法,回归法,KNN,MICE,EM等。
首先介绍其中一个常见的包:impyute 这是其用户文档

使用KNN进行插值

from impyute.imputation.cs import fast_knn
import pandas as pd
import numpy as npdf = pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5],[5,np.nan,8,10]],columns = list('ABCD'))imputed_training = fast_knn(df,k=2)
print(imputed_training)

使用MICE进行插值

from impyute.imputation.cs import mice
imputer_mice = mice(df) ##df如上所定义的数据

这是这个类提供的数据的采样的方法

from impyute.dataset import randu
raw_data = randu() ##ranu是其中提供的方法,它会首先生成一个5*5的矩阵数据,然后进行0.2缺失的随机采样处理
complete_data = mice(raw_data)  # 使用mice方法进行缺失数据估算
print(complete_data)

回归正题,impyute还有em算法的实现,有空再补充。

通过神经网络拟合

还可以使用dataWig(开源库),基于deep learning来进行估算。

import datawigdf_train, df_test = datawig.utils.random_split(train)#Initialize a SimpleImputer model
imputer = datawig.SimpleImputer(input_columns=['1','2','3','4','5','6','7', 'target'], # column(s) containing information about the column we want to imputeoutput_column= '0', # the column we'd like to impute values foroutput_path = 'imputer_model' # stores model data and metrics)

使用sklearn中提供的方法

sklearn官方用户手册[1]。

import numpy as np
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')  #策略包括: ["mean", "median", "most_frequent", "constant"]
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(imp.transform(X))

逛官网好玩多了!!

闲杂补充

python最有意思的在于其有很多强大的库,我们可以在平时积累一些小工具。

numpy中提供的随机采样

np.random.uniform(low,high,size)
# 功能是从一个均匀分布中[low,high)中进行随机采样,左闭右开区间。low与high都是float类型。size为int或tuple类型。

使用进度条
一个有用的小包,当我们在训练机器学习时,往往需要进行多次迭代,这里可以将迭代的形式从如下的形式

for i in range(1000)# do your workpass

改成具有python包支持tqdm,那么输出进度条效果

from tqdm import tqdmfor i in tqdm(range(1000))# do somethingpass

使用python进行缺失数据估算(missing data imputation in python)相关推荐

  1. GAIN: Missing Data Imputation using Generative Adversarial Nets(基于生成对抗网络的缺失数据填补)论文详解

    目录 一.背景分析 1.1 缺失数据 1.2 填补算法 二.GAIN 2.1 GAIN网络架构 2.2 符号描述(Symbol Description) 2.3 生成器模型 2.4 判别器模型 2.5 ...

  2. 论文解读:Missing data imputation with adversarially-trained graph convolutional network

    标题: Missing data imputation with adversarially-trained graph convolutional networks 用对抗训练图卷积网络实现缺失数据 ...

  3. GAIN: Missing Data Imputation using Generative Adversarial Nets学习笔记

    GAIN: Missing Data Imputation using Generative Adversarial Nets(基于对抗生成网络实现缺失数据插补) 缺失数据插补算法问题背景 缺失数据 ...

  4. python用excel数据做热力图_7行代码 Python热力图可视化分析缺失数据处理-Python 实用宝典...

    Python热力图寻找缺失数据 你有没有遇到一种情况,处理一张很大的csv表格的时候很难找到表格中每一列的缺失数据,或者说处理速度非常慢 ?当然如果你的Excel水平非常高,这个可能不会成为你的问题, ...

  5. python提取excel数据-代码详解:使用Python从不同表格中提取数据

    常用的表格数据存储文件格式--CSV,Microsoft Excel,Google Excel . Python通常称为粘合语言.这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良 ...

  6. python爬取数据的原理_python学习之python爬虫原理

    原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...

  7. 为何python攀上数据科学巅峰?调查显示Python超越R

    根据KDnuggets 2017年最新调查,Python生态系统已经超过了R,成为了数据分析.数据科学与机器学习的第一大语言.本文对KDnuggets的此项调查结果做了介绍,并补充了一篇文章讲解为何P ...

  8. python分析excel数据-总结:像Excel一样使用python进行数据分析

    Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...

  9. python进阶与数据操控_零基础机器学习Python进阶:Python操作MySql

    阅读文本大概需要 6 分钟 前言 基础写了十篇,以后会继续更,这是第二篇进阶,文末会放上链接,进阶分成另一个系列,柠檬有时间会整理好菜单栏让大家更方便的阅读基础和进阶,柠檬会把自己在当时做的项目写到进 ...

最新文章

  1. 量子计算和量子模拟研究获进展
  2. Atitit利用反射获取子类 集合 以及继承树
  3. .以及JDK1.5ConcurrentHashMap新特性
  4. 让自己的头脑极度开放
  5. 织梦的if(!defined('DEDEINC')) exit("Request Error!");解析
  6. Protocol Buffer 序列化
  7. 从程序媛到微软全球 AKS 女掌门人,技术女神驾到!
  8. vue的html自动刷新,Vue页面刷新记住页面状态的实现
  9. IoT -- (八)MQTT优缺点
  10. R 学习 - 富集分析泡泡图回应
  11. C++基础:指针,函数指针
  12. ADS 2022 软件下载与安装教程
  13. 软考高级信息系统项目管理师/高项和PMP的区别,以及对比
  14. 流传甚少的seo排名爆破技术全解析
  15. 大一python选择题题库及答案_python选择题库
  16. (附源码)springboot基于Web的儿童教育管理系统的开发毕业设计281442
  17. unity 彩带粒子_unity游戏缤纷五彩纸屑粒子特效Confetti FX 1.0
  18. 概率论基础知识(二) 随机变量及其分布
  19. 《机器学习算法竞赛实战》整理 | 八、实战案例:Elo Merchant Category Recommendation
  20. 电子调谐器的主要引脚及作用

热门文章

  1. Java获取某个日期前后几天日期
  2. 小学生学计算机步骤,小学生计算机入门“五步走”
  3. 微信小程序在线成语接龙答题有奖1.5.1版源码
  4. H5页面调用微信支付
  5. spider_爬取斗图啦所有表情包(图片保存)
  6. 2019儿童节前一天考试感想
  7. 任正非谈成功秘诀:28年只对准一个城墙口冲锋
  8. 关于请设置注册表项Framewoke.....初始化错误的解决办法
  9. 三维地质建模数据处理
  10. 记一次在学院服务器装Ubuntu系统