0前言

代码请访问github的个人储存库里下载,喜欢的给个Star喔。

实验要求:完成插补实验
实验工具: 1、excel表格
2、记事本txt文件
3.、pycharm
4、JBPCAfill.jar包

1前期处理

1.2删除特殊字符

表格中含有None,#NULL!的字符,表示数据缺失,在表格统计数据个数时,字符None,#NULL!影响统计的数量,所以这些字符需要删除。代码在first包里的Prepare.py里。
思路:两个for循环对行和列进行扫描,遇到None或#NULL!字符,对其赋空值。

2.EM算法插值

2.1 步骤

1、下载ycimpute库,里面含有EM算法的插值函数
2、插入’index’字段名,目的是后期为筛选出非空的数据进行文字转数字,最后根据index值还原顺序
2、地址和手机号码都是文本类型,而EM算法的插值函数要求特征值全部为数字类型,于是将文本标签转为数字
4、选定特征值,
5、使用ycimpute库里的EM()函数插值
6、将数字类型的地址和手机号转成文本标签
步骤思路图

2.2 备注

代码操作如first包里的em.py所示,并且调用了toencoding.py代码

3 多重插值

代码操作如first包里mice.py所示,直接调用ycimpute库里的MICE函数,代码操作思路与EM算法操作相似,只需将from ycimpute.imputer import EM 改from ycimpute.imputer.mice import MICE,调用MICE函数里的插补函数即可。

4.比较EM算法、PPCA算法、BPCA算法的插值误差

4.1前期测试集的选取

1、将txt文件转成csv表格,代码如two包里的txttocsv所示
2、观察表格中各个属性的特点,车牌号是单一的,而其他因素都会影响着车的速度,对于时间的处理,我选择了取间隔时间,当前时间与下一个的时间间隔代码在two包的Diff.py里。
3、测试集的代码位于two包里的share.py里, 此测试集代码可以保证每次运行都得到相同的测试集,找到测试集的下标并保存。并将其速度赋值为空。将测试集和训练集全部存入另一张表格。
4、对trafficflow21.csv里的特征值进行标准化处理

4.2. bpca算法的操作

4.2.1.前期处理

对于ppca算法,python2有直接安装的包,python3安装则会出错,于是我将ppca插值算法的包里函数直接复制粘贴到ppca.py里。对ppca插值算法的操作代码在two包的ppcamake.py里。分离出训练的特征值,进行标准化处理,对空值全部赋999操作,如two包的bpcapre.py所示,然后将转成txt文件。

4.2.2.操作步骤

在BPCA的jar包下载了JBPCAfill.jar,此包由Shigeyuki Oba所编写,此jar包作用是采用bpca算法对缺失的数据进行插补。此jar包的使用方法如图从网站截图而来。


将trafficflow23_filled.txt转成csv格式。

4.3.PPCA算法插值

1.python2可直接导入下载的PPCA插值的代码库,python3导入出错,于是将将ppca包里的函数复制粘贴至two包的ppca.py里,ppcamake.py是调用ppca插值算法里的函数。

4.4.EM算法插值

调用ycimpute里的EM模块即可。将测试集的特征值带进EM里的插值函数。返回插值处理后的特征值数据集。

4.5.三者比较的结果的可视化

代码如two包里的share.py所示,调用Plotfigure函数,如two包里的mainfunction.py所示,mainfunction.py通过调用ppcamake, emmake, bpcamake,share模块里的函数里的处理后的特征值数据集。进行可视化分析。bpca算法和EM算法插值的效果几乎相同,可见bpca算法最有效。


经验总结:
处理的数据存入表格,再进行操作,否则,会出现容易出现object类型
安装ycimpute库需要下载适合python版本的whl包

知识可以共享,数据打死也不会共享。

数据挖掘之缺失数据缺失的各种插补算法比较相关推荐

  1. 插值法补齐缺失数据_一种挽救你缺失数据的好方法——多重补插

    原标题:一种挽救你缺失数据的好方法--多重补插 缺失数据--研究中的绊脚石 在医学研究中,我们经常会碰到缺失数据.无论是因为实验设计的问题,或是检测手段精度,又或是医学实验中的不可抗力因素.一旦数据没 ...

  2. missforest_missforest最佳丢失数据插补算法

    missforest Missing data often plagues real-world datasets, and hence there is tremendous value in im ...

  3. MATLAB数据预处理之缺失值插补

    文章目录 前言 1 加载原始数据 2 查找缺失值并填充缺失值 总结 2021年4月5日09:51:56更新 2021年5月18日10:46:15更新 2022年10月15日07:25:01更新 参考资 ...

  4. CNC插补技术(从原理、分类到具体插补算法,较为详细)

    版权声明:本文为CSDN博主「qq_39887918」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 对于插补技术的理解与认识 对于插补技术的理解与认识 1 插补及 ...

  5. c语言直线插补原理程序,直线插补算法

    直线插补算法,就是刀具或绘笔每走一步都要和给定的数据进行比对,看该点在次点的上方或者是下方,从而决定下一步该怎么走. 即机床数控系统依照一定方法确定刀具运动轨迹的过程.也可以说,已知曲线上的某些数据, ...

  6. 圆弧插补程序c语言,用C语言写的简易的逐点比较法插补算法,包括直线逐点插补和圆弧插补...

    源文件:https://pan.baidu.com/s/17FQKqn3UaEPQHkmTcOXKOg 提取码:atb2 #include #include #include #include //运 ...

  7. 开源项目推荐:运动控制速度前瞻算法(Look-Ahead),连续小线段高速插补算法

    一.什么是速度前瞻 Look-Ahead 技术又称为速度前瞻控制技术,目前实现此技术有两个基本思路: 1.进行路径段之间速度衔接: 2.进行大量微小线段参数曲线拟合. Look-Ahead 技术考虑的 ...

  8. 基于单位四元数的姿态插补算法

    基于单位四元数的姿态插补算法 文章目录 基于单位四元数的姿态插补算法 摘要 单位四元数空间与欧式空间的转化 四元数的旋转变换表示空间定点旋转 两个姿态间的插补 仿真验证 小结 摘要 现代制造领域对工业 ...

  9. DDA直线插补算法原理与实现(matlab)

    DDA直线插补算法   数值微分法即DDA法(Digital Differential Analyzer),是一种基于直线的微分方程来生成直线的方法. 直线DDA算法描述   设(x1,y1)和(x2 ...

  10. 笛卡尔空间直线轨迹规划——S型曲线加减速插补算法(含MATLAB仿真验证代码)

    写这个算法,是因为博主正在做一个机械臂和全向小车的项目,里面涉及需要笛卡尔空间做直线轨迹的规划.通常的算法有梯型加减速,这个算法只是速度连续,加速度并不连续.所以实际冲击较大,无法实现柔性控制.况且网 ...

最新文章

  1. JavaScript最全编码规范
  2. 理解shared_ptrT
  3. 全闪存存储时代 NVMe到底是什么?
  4. 数据分析入门极简书单
  5. web开发常用工具介绍
  6. JDK和JRE它们之间的关系及区别
  7. 三星旗舰机系列名称即将更换 S10或成最后绝唱
  8. 初识Quartz (一)
  9. configure/make的shared object参数
  10. 2021东华杯misc详解
  11. Pytorch-NLU,一个中文文本分类、序列标注(实体识别、分词、词性标注)的极简工具包,基于pytorch与tramsforers
  12. 【计算机组成原理】计算机系统概述 —— 计算机硬件组成与性能指标
  13. 不一样的设计!20个国外优秀的电子商务网站
  14. python处理netcdf_Python处理netCDF文件
  15. WebRTC中的信令和内网穿透技术 STUN / TURN
  16. 老笔记本机械硬盘换固态装系统,再战10年!
  17. 感悟信息安全之道——温水煮青蛙
  18. 视频教程-Oracle从入门到精通全套视频教程之SQL与PLSQL(四)-Oracle
  19. vue定制化桌面开发
  20. css 实现跑马灯/走马灯无缝衔接 js实现无缝滚动图片

热门文章

  1. R语言使用倾向评分提高RCT(随机对照试验)的效率
  2. 由于轮播图片超宽造成的影响
  3. linux ls和ll命令学习小结
  4. html调用一言api,一言-纯净API
  5. 最强整理:阿里云大师深入拆解Java虚拟机,经典好文
  6. 【EXCEL VBA】自学心得
  7. 第7章第20节:单图排版:使用巨型字母分隔整张图片 [PowerPoint精美幻灯片实战教程]
  8. [渝粤教育] 西南科技大学 建筑CAD 在线考试复习资料
  9. 青春三宝:书籍、时间和健康
  10. 解决nginx启动失败