zoukankan      html  css  js  c++  java
  • Python可视化查看数据集完整性: missingno库(用于数据分析前的数据检查)

    数据分析之前首先要保证数据集的质量,missingno库提供了一个灵活易用的可视化工具来观察数据缺失情况,是基于matplotlib的,接受pandas数据源

    快速开始

    样例数据使用 NYPD Motor Vehicle Collisions Dataset 数据集. 运行下面命令获得数据

    pip install quilt
    quilt install ResidentMario/missingno_data
    

    加载数据到内存

    from quilt.data.ResidentMario import missingno_data
    collisions = missingno_data.nyc_collision_factors()
    collisions = collisions.replace("nan", np.nan)
    

    image

    有几个主要函数来不同方式的可视化展示数据集数据缺失情况

    Matrix

    Matrix是使用最多的函数,能快速直观地看到数据集的完整性情况,矩阵显示

    import missingno as msno
    %matplotlib inline
    msno.matrix(collisions.sample(250))
    

    image右边的迷你图总结了数据集的总的完整性分布,并标出了完整性最大和最小的点

    最多支持50列

    可以通过figsize指定图像大小,例如这样msno.matrix(collisions.sample(250),figsize=(12,5))

    如果数据是时序的,那可以用freq参数

    null_pattern = (np.random.random(1000).reshape((50, 20)) > 0.5).astype(bool)
    null_pattern = pd.DataFrame(null_pattern).replace({False: None})
    msno.matrix(null_pattern.set_index(pd.period_range('1/1/2011', '2/1/2015', freq='M')) , freq='BQ')
    

    image

    Bar Chart

    msno.bar可以简单的展示无效数据的条形图

    msno.bar(collisions.sample(1000))
    

    image

    Heatmap

    热图

    image两个变量的无效相关范围从-1(如果一个变量出现,另一个肯定没有)到0(出现或不出现的变量对彼此没有影响)到1(如果一个变量出现,另一个肯定也是)

    数据全缺失或全空对相关性是没有意义的,所以就在图中就没有了,比如date列就没有出现在图中

    大于-1和小于1表示有强烈的正相关和负相关,但是由于极少数的脏数据所以并不绝对,这些例外的少数情况需要在数据加工时候予以注意

    热图方便观察两个变量间的相关性,但是当数据集变大,这种结论的解释性会变差

    Dendrogram

    树状图

    image

    树状图采用由scipy提供的层次聚类算法通过它们之间的无效相关性(根据二进制距离测量)将变量彼此相加。在树的每个步骤中,基于哪个组合最小化剩余簇的距离来分割变量。变量集越单调,它们的总距离越接近0,并且它们的平均距离越接近零

    在0距离处的变量间能彼此预测对方,当一个变量填充时另一个总是空的或者总是填充的,或者都是空的

    树叶的高度显示预测错误的频率

    和矩阵Matrix一样,只能处理50个变量,但是通过简单的转置操作即可处理更多更大的数据集

  • 相关阅读:
    TCP带外数据
    ASP.Net Core 返回的json数据,自定义日期格式
    C# 简单的区块链实现
    PowerShell自动部署ASP.NET Core程序到 IIS
    ASP.NET Core依赖注入多个服务实现类
    EF Core 2.0 执行原始查询如何防止SQL注入
    C#7 进入快速迭代道路
    QuartzNet 任务管理系统
    WebApi如何传递参数
    C# 快速高效率复制对象另一种方式 表达式树
  • 原文地址:https://www.cnblogs.com/yongestcat/p/11458057.html
Copyright © 2011-2022 走看看