基本概念

热卡填充:在完整数据中找到一个与它最相似的对象,用最相似的值填充当前值

冷卡填充:通过其他途径找到能填充缺失部分的值

热卡填充其实就是使用KNN去预测的一种特殊形式,KNN是参考K个,而热卡填充是参考最近的1个,所以热卡填充可以用KNN做,关键代码是:

from sklearn.impute import KNNImputerhot_deck_imputer = KNNImputer(n_neighbors=2, weights="uniform")  # 虽然看着是用KNN,但是参数固定:n_neighbors=2
dataframe = hot_deck_imputer.fit_transform(dataframe)

示例代码

import pandas as pd
import numpy as npdef hot_deck_imputation(dataframe: pd.DataFrame):from sklearn.impute import KNNImputerhot_deck_imputer = KNNImputer(n_neighbors=2, weights="uniform")  # 虽然看着是用KNN,但是参数固定:n_neighbors=2new_df = hot_deck_imputer.fit_transform(dataframe)return new_dfdef get_dataset():"""得到数据:return data_x:有缺失值的数据:return true_value:缺失数据的原始真实值:return data_y:原问题中待预测的label"""import copyfrom sklearn.datasets import make_classificationdata_x, data_y = make_classification(n_samples=100, n_classes=4, n_features=6, n_informative=4,random_state=0)  # 6个特征data_x = pd.DataFrame(data_x)data_x.columns = ['x1', 'x2', 'x3', 'x4', 'x5', 'miss_line']true_data = copy.deepcopy(data_x)# 在miss_line这一列删除20%的数据drop_index = data_x.sample(frac=0.2).indexdata_x.loc[drop_index, "miss_line"] = np.nantrue_value = true_data.loc[drop_index, 'miss_line']  # 空值的真实值return data_x, true_value, data_yif __name__ == '__main__':value_x, true_value_x, value_y = get_dataset()fill_df = hot_deck_imputation(value_x)

缺失值填充2——python 热卡填充(Hot deck imputation)、冷卡填充(Cold deck imputation)相关推荐

  1. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...

  2. 绘图杂记【2】使用Python/R语言对柱形图、饼图进行纹理填充

    python 填充 颜色填充 import matplotlib.pyplot as plt import pandas as pdlabels = ['吉祥物公仔','校服','文化摆件','实用工 ...

  3. 形态学重建:孔洞填充的python实现

    主要参考:(美)拉斐尔·C.冈萨雷斯. 数字图像处理 第3版[M]. 阮秋琦,译. 北京:电子工业出版社, 2017: 633. 形态学重建 形态学重建涉及两幅图像和一个结构元: Marker 图像: ...

  4. flutter 填充_如何在您的Flutter应用中实现自动填充

    flutter 填充 The developers at Flutter recently released version 1.20.0. This update features performa ...

  5. 2018最后一个月的Python热文Top10!赶紧学起来~

    作者 | Mybridge 译者 | linstancy 整理 | Jane 出品 | AI科技大本营 过去一个月里,我们对近 1000 篇 Python 文章进行了排名,并挑选出热度前10的文章.这 ...

  6. mysql自动填充测试数据库_入门篇(三):通过填充器快速填充测试数据

    入门篇(三):通过填充器快速填充测试数据 由 学院君 创建于2年前, 最后更新于 1年前 版本号 #3 11119 views 9 likes 0 collects 我们在前两篇教程中分别介绍了如何连 ...

  7. python flask热更新_客户端python热更新

    介绍: 热更新,就是在维持服务不间断的情况下,对软件代码逻辑或配置数据进行更新修复.随着游戏项目引入了脚本语言以后,热更新技术逐渐成为了标配,在我经历过的游戏项目中,无论是服务端还是客户端,版本的更新 ...

  8. Python实现钉钉/企业微信自动打卡

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的P ...

  9. Python OpenCV开发MR智能人脸识别打卡系统(一、需求分析与系统设计)

    需要源码请点赞关注收藏后评论区留言私信~~~ 整体系统讲解如下链接 Python OpenCV开发MR智能人脸识别打卡系统(二.文件系统.数据实体模块设计) Python OpenCV开发MR智能人脸 ...

最新文章

  1. python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例
  2. Yann LeCun主讲!纽约大学《深度学习》2021课程全部放出,附slides与视频
  3. 在.net2.0中实现Action和Func方法
  4. ORACLE 错误:oralce record is locked by another user
  5. Ubuntu用户与用户组
  6. Maven发布工程到私服
  7. LeetCode: Merge k Sorted Lists
  8. 田渊栋教你读paper的正确姿势
  9. 超强Mac数据恢复软件:Disk Drill Enterprise Mac
  10. 《推荐系统笔记(七)》因子分解机(FM)和它的推广(FFM、DeepFM)
  11. Android、IOS文字居中偏离的解决方案
  12. React-Native 使用自定义IconFont
  13. 【游戏开发】卡牌游戏战斗系统设计与实现
  14. 锐捷 linux共享wifi,电脑共享wifi都弱爆了,无线路由器直接共享锐捷
  15. mybatis-plus自定义sql注入器
  16. spatial transformer network (STN)
  17. 浙江师范大学计算机复试考什么,浙江师范大学考研难吗?一般要什么水平才可以进入?...
  18. 30岁前如何规划自己的人生?这9本书告诉你
  19. 最完整的Android 安卓开发体系了解一下
  20. Linux第七章相关代码

热门文章

  1. c++中字符输入函数getline、cin.getline区分
  2. 用U盘给苹果电脑装Win7系统教程
  3. win7下PHP运行环境搭建(apache2+mysql+php)
  4. logrus 输出多个文件_Logrus源码阅读(1)基本用法
  5. 第一次学游泳技巧_游泳前,让自己不再怕水的5堂准备课
  6. MATLAB学习笔记(七)
  7. python写一个类_python3学习笔记--002--写一个类
  8. CSS系统学习之CSS简介
  9. 数据结构之 栈与队列(一)
  10. 3-17Pytorch与线性代数运算