文章目录
- 一、前言
- 二、下载
- 二、使用介绍
- 2.1 绘制缺失值条形图
- 2.2 绘制缺失值热力图
- 2.3 缺失值树状图
- 三、参考资料
一、前言
在我们进行机器学习或者深度学习的时候,我们经常会遇到需要处理数据集缺失值的情况,那么如何可视化数据集的缺失情况呢?这里介绍一种方法:
使用missingno
包!
missingno
提供了一个灵活且易于使用的缺少数据可视化工具和实用程序的小型工具集,使你可以快速直观地概述数据集的完整性。
二、下载
pip install missingno
二、使用介绍
missingno
一般配合numpy
和pandas
一起使用,如下是一个案例:
空白越多说明缺失越严重。
比如我们的一个数据集是data_2
:
2.1 绘制缺失值条形图
plt.rcParams['font.sans-serif'] = ['STSong']
import missingno as msn
msn.matrix(data_2, labels = False, label_rotation = 90)
msn.bar(data_2)
2.2 绘制缺失值热力图
missingno
相关性热力图可以显示无效的相关性:一个变量的存在或不存在如何强烈影响的另一个的存在。
数值为1:两个变量一个缺失另一个必缺失;
数值为-1:一个变量缺失另一个变量必然不缺失。
数值为0:变量缺失值出现或不出现彼此没有影响。
热力图非常适合于选择变量对之间的数据完整性关系,但是当涉及到较大的关系时,其解释力有限,并且它不特别支持超大型数据集。
注:始终为满或始终为空的变量没有任何有意义的关联,因此会从可视化中删除。
msno.heatmap(collisions)
2.3 缺失值树状图
通过树状图,可以更全面地观察缺失变量的关联性,揭示比关联热力图更深刻的相关关系:
msno.dendrogram(collisions)
树状图使用层次聚类算法通过变量的无效相关性(以二进制距离来衡量)将变量彼此分类。
在树的每个步骤中,根据哪个组合最小化其余群集的距离来对变量进行拆分。变量集越单调,它们的总距离越接近零,而它们的平均距离(y轴)越接近零。以零距离链接在一起的簇叶完全可以预测彼此的存在-一个变量在填充另一个变量时可能始终为空,或者它们可能始终都被填充或都为空,依此类推。
簇叶几乎分裂为零,但不分裂为零,彼此预测得很好,但仍不完美。
如果你自己的数据集的解释是,这些列实际上是或者应该是在无效相互匹配(例如,作为CONTRIBUTING FACTOR VEHICLE 2和VEHICLE TYPE CODE 2应该),那么集群叶的高度告诉你,在绝对数量,记录多久是“不匹配”或提交错误的文件,也就是说,如果您愿意,则必须填写或删除多少个值。
三、参考资料
https://blog.csdn.net/qq_42722197/article/details/124464365