Python系列 | missingno模块(缺失值可视化)

missingno 是一个可以将缺失值情况进行可视化的库,十分便捷、好用。本文以 boston 数据集为例,对 missingno 的使用进行示例讲解。

目 录

下载和安装非常方便,直接使用 pip 安装即可:

pip install missingno
  1. 导入数据集
import missingno as msno
from sklearn.datasets import load_boston
import pandas as pd
import numpy as np
data,target = load_boston()['data'],load_boston()['target']
df = pd.concat([pd.DataFrame(data,columns=[str('features'+str(i)) for i in range(13)]),pd.DataFrame(target,columns=['target'])],axis=1)
df.head(10)

Python系列  | missingno模块(缺失值可视化)

由于原数据不存在缺失值,这里选择将所有等于 0 的元素替换为缺失值:

df1 = df.where(df != 0,np.nan)
df1.isnull().sum()

Python系列  | missingno模块(缺失值可视化)

现在数据集中的 features1 和 features 3 出现了缺失值,下面便可通过 missingno 对缺失值情况进行可视化。

  1. missingno 缺失值可视化

3.1 msno.matrix

msno.matrix(df1, labels=True)

Python系列  | missingno模块(缺失值可视化)

若是图中白线越多,则说明缺失值越多。左侧纵坐标上的两个数值为样本数量的始末(即从 1 开始数有 506 条数据),右下角数字 12 表示数据中共有 12 列不存在缺失值,右侧数字 14 表示数据共计 14 列。

3.2 msno.bar

msno.bar(df1)

Python系列  | missingno模块(缺失值可视化)
上图高度越低说明缺失值越多,左侧纵坐标为数据非缺失值所占的百分比,右侧纵坐标为数据非缺失值的数量。

3.3 msno.heatmap

 msno.heatmap(df1)

Python系列  | missingno模块(缺失值可视化)

上方热图用以表示存在缺失值的特征之间的相关性,即某特征存在缺失值时另一特征也会存在缺失值的相关程度。上图的热图中没有数字,说明特征之间不存在缺失的相关性。

若是热图中 features1 和 features3 出现热度值 1,则说明 features1 缺失时,features3 也一定缺失。

3.4 msno.dendrogram

msno.dendrogram(df1)

Python系列  | missingno模块(缺失值可视化)

missingno 的树状图采用层次聚类算法对特征进行聚类,如上图所示,左侧的特征数据为一类,彼此的距离为 0(因为没有缺失数据),右侧的特征数据为另一类(两个存在缺失数据的特征)。

Original: https://blog.csdn.net/weixin_48249563/article/details/114899818
Author: 麻瓜1号
Title: Python系列 | missingno模块(缺失值可视化)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/699058/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球