使用python进行缺失数据估算(missing data imputation in python)
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)相关推荐
- 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 ...
- 论文解读:Missing data imputation with adversarially-trained graph convolutional network
标题: Missing data imputation with adversarially-trained graph convolutional networks 用对抗训练图卷积网络实现缺失数据 ...
- GAIN: Missing Data Imputation using Generative Adversarial Nets学习笔记
GAIN: Missing Data Imputation using Generative Adversarial Nets(基于对抗生成网络实现缺失数据插补) 缺失数据插补算法问题背景 缺失数据 ...
- python用excel数据做热力图_7行代码 Python热力图可视化分析缺失数据处理-Python 实用宝典...
Python热力图寻找缺失数据 你有没有遇到一种情况,处理一张很大的csv表格的时候很难找到表格中每一列的缺失数据,或者说处理速度非常慢 ?当然如果你的Excel水平非常高,这个可能不会成为你的问题, ...
- python提取excel数据-代码详解:使用Python从不同表格中提取数据
常用的表格数据存储文件格式--CSV,Microsoft Excel,Google Excel . Python通常称为粘合语言.这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良 ...
- python爬取数据的原理_python学习之python爬虫原理
原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...
- 为何python攀上数据科学巅峰?调查显示Python超越R
根据KDnuggets 2017年最新调查,Python生态系统已经超过了R,成为了数据分析.数据科学与机器学习的第一大语言.本文对KDnuggets的此项调查结果做了介绍,并补充了一篇文章讲解为何P ...
- python分析excel数据-总结:像Excel一样使用python进行数据分析
Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...
- python进阶与数据操控_零基础机器学习Python进阶:Python操作MySql
阅读文本大概需要 6 分钟 前言 基础写了十篇,以后会继续更,这是第二篇进阶,文末会放上链接,进阶分成另一个系列,柠檬有时间会整理好菜单栏让大家更方便的阅读基础和进阶,柠檬会把自己在当时做的项目写到进 ...
最新文章
- 量子计算和量子模拟研究获进展
- Atitit利用反射获取子类 集合 以及继承树
- .以及JDK1.5ConcurrentHashMap新特性
- 让自己的头脑极度开放
- 织梦的if(!defined('DEDEINC')) exit("Request Error!");解析
- Protocol Buffer 序列化
- 从程序媛到微软全球 AKS 女掌门人,技术女神驾到!
- vue的html自动刷新,Vue页面刷新记住页面状态的实现
- IoT -- (八)MQTT优缺点
- R 学习 - 富集分析泡泡图回应
- C++基础:指针,函数指针
- ADS 2022 软件下载与安装教程
- 软考高级信息系统项目管理师/高项和PMP的区别,以及对比
- 流传甚少的seo排名爆破技术全解析
- 大一python选择题题库及答案_python选择题库
- (附源码)springboot基于Web的儿童教育管理系统的开发毕业设计281442
- unity 彩带粒子_unity游戏缤纷五彩纸屑粒子特效Confetti FX 1.0
- 概率论基础知识(二) 随机变量及其分布
- 《机器学习算法竞赛实战》整理 | 八、实战案例:Elo Merchant Category Recommendation
- 电子调谐器的主要引脚及作用