首页IT科技自动化数据流程包括(全自动化数据洞察!数据分布对比可视化!⛵)

自动化数据流程包括(全自动化数据洞察!数据分布对比可视化!⛵)

时间2025-06-20 22:01:31分类IT科技浏览5485
导读:? 作者:韩信子@ShowMeAI...

? 作者:韩信子@ShowMeAI

? 数据分析实战系列:https://www.showmeai.tech/tutorials/40

? 本文地址:https://www.showmeai.tech/article-detail/411

? 声明:版权所有             ,转载请联系平台与作者并注明出处

? 收藏ShowMeAI查看更多精彩内容

? 引言

可视化是EDA的基础                。当面对一个新的             、未知的数据集时                      ,视觉检查使我们能够了解可用的信息        ,绘制一些有关数据的模式          ,并诊断出我们可能需要解决的几个问题                     。在这方面                     ,?Pandas Profiling 一直是每个数据科学家工具箱中不可或缺的瑞士刀            ,可以帮助我们快速生成数据摘要报告       ,包括数据概览                      、变量属性        、数据分布          、重复值和其他指标      。它能够在可视化中呈现这些信息                    ,以便我们更好地理解数据集            。但如果我们能够比较两个数据集呢                ,有没有快速的方式可以实现?

在本篇博客文章中    ,ShowMeAI将介绍如何利用 Pandas Profiling 的比较报告功能来提升数据探索分析 (EDA) 流程                      。我们会介绍到如何使用 Pandas Profiling 比较报告功能来比较两个不同的数据集                    ,这可以帮助我们更快地对比分析数据                    ,获取分布差异,为后续做准备         。

我们本次用到的数据集是 ?Kaggle 的 HCC 数据集                ,大家可以通过 ShowMeAI 的百度网盘地址下载        。

? 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』                       ,或者点击 这里 获取本文 [42]Pandas Profiling:使用高级EDA工具对比分析2个数据集 『HCC 数据集

ShowMeAI官方GitHub:https://github.com/ShowMeAI-Hub

关于更多数据自动化探索工具    ,可以参考ShowMeAI过往文章 ?自动化数据分析 (EDA) 工具库大全                       。

? 全自动数据EDA工具 Pandas Profiling 功能回顾

我们回顾一下 Pandas Profiling 的安装与使用方式:

# 通过pip安装 pip install pandas-profiling==3.5.0

如果我们需要对 hcc 数据集进行分析             ,参考代码如下:

import pandas as pd from pandas_profiling import ProfileReport # Read the HCC Dataset df = pd.read_csv("hcc.csv") # Produce the data profiling report original_report = ProfileReport(df, title=Original Data) original_report.to_file("original_report.html")

我们会得到非常清晰的数据分析结果报告                      ,如下是报告的头部信息:

Alerts部分对数据进行分析后        ,给出了4种主要类型的潜在分析结果          ,包含可能有的风险和处理方式:

Duplicates :数据中有 4 个重复行; Constant :O2是常量字段                     ,求职999; High Correlation :有强相关性的几个特征; Missing :“Ferritin                ”字段存在缺失值            。

? 数据处理

这对这些问题我们可以做一些处理    。

? 删除重复行

在数据集中            ,有些特征非常具体       ,涉及到个人的生物测量值                    ,比如血红蛋白                     、MCV            、白蛋白等                        。所以                ,很难有多个患者报告所有特征的相同精确值                。因此    ,我们可以从数据中删除这些重复项。

# Drop duplicate rows df_transformed = df.copy() df_transformed = df_transformed.drop_duplicates()

? 删除不相关的特征

在数据分析过程中                    ,有些特征可能不具有太多价值                    ,比如 O2 常数值                    。删除这些特征将有助于模型的开发                    。

# Remove O2 df_transformed = df_transformed.drop(columns=O2)

? 缺失数据插补

数据插补是用于处理缺失数据的方法   。它允许我们在不删除观察值的情况下填补缺失值                。均值插补是最常见和最简单的统计插补技术,它使用特征的均值来填充缺失值                     。我们将使用均值插补来处理 HCC 数据集中的缺失数据      。

# Impute Missing Values from sklearn.impute import SimpleImputer mean_imputer = SimpleImputer(strategy="mean") df_transformed[Ferritin] = mean_imputer.fit_transform(df_transformed[Ferritin].values.reshape(-1,1))

? 数据并行对比分析

下面我们就进入高级功能部分了!我们在对1份数据分析后                ,如果希望有另外一份数据能够比对分析                       ,怎么做呢            。下面我们以处理前后的数据为例    ,来讲解这个分析的实现方式:

transformed_report = ProfileReport(df_transformed, title="Transformed Data") comparison_report = original_report.compare(transformed_report) comparison_report.to_file("original_vs_transformed.html")

最后的对比报告如下:

我们可以从数据集概述中立即了解什么?

转换后的数据集包含更少的分类特征("O2"已被删除) 165个观察值(而原来的171个包括重复项) 没有缺失值(与原始数据集中的79个缺失观察值形成对比)

这种转变如何影响我们的数据质量?这些决定是否很好?我们发现在删除重复记录方面             ,没有特别的影响                      ,数据缺失和数据分布有一些变化        ,如下图所示:

从上述图解中          ,可以看出一些信息                     ,比如对于“铁蛋白                     ”字段            ,插补数据的均值估算值导致原始数据分布被扭曲                      。这样处理可能是有问题的       ,我们应该避免使用均值估算来替换缺失值         。在这种情况下                    ,应该使用其他方法来处理缺失值                ,例如删除缺失值或使用其他统计方法来估算缺失值        。

也可以通过相互作用和相关性的可视化来观察到这一点    ,在“铁蛋白      ”与其他特征之间的关系中                    ,会出现不一致的相互作用模式和更高的相关值                       。

上图为铁蛋白与年龄之间的相互作用                    ,估算值显示在对应于平均值的垂直线上            。

上图为相关性情况对比,铁蛋白相关值似乎在数据插补后增加    。

? 总结

在本篇内容中                ,ShowMeAI讲解了 pandas-profiling 工具对不同数据进行对比分析的方法                       ,我们用处理前后的数据做了一个简单的讲解    ,实际这个方法也可以用到训练集和测试集的对比中             ,用于发现数据漂移等问题                        。

关于数据漂移                      ,可以参考ShowMeAI的文章 ?机器学习数据漂移问题与解决方案                。

参考资料

? Pandas Profiling ? 自动化数据分析 (EDA) 工具库大全:https://showmeai.tech/article-detail/284 ? 机器学习数据漂移问题与解决方案:https://showmeai.tech/article-detail/331

推荐阅读

? 数据分析实战系列

:https://www.showmeai.tech/tutorials/40

? 机器学习数据分析实战系列

:https://www.showmeai.tech/tutorials/41

? 深度学习数据分析实战系列

:https://www.showmeai.tech/tutorials/42

? TensorFlow数据分析实战系列

:https://www.showmeai.tech/tutorials/43

? PyTorch数据分析实战系列

:https://www.showmeai.tech/tutorials/44

? NLP实战数据分析实战系列

:https://www.showmeai.tech/tutorials/45

? CV实战数据分析实战系列

:https://www.showmeai.tech/tutorials/46

? AI 面试题库系列:https://www.showmeai.tech/tutorials/48
声明:本站所有文章        ,如无特殊说明或标注          ,均为本站原创发布。任何个人或组织                     ,在未征得本站同意时            ,禁止复制       、盗用                    、采集                、发布本站内容到任何网站    、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理                    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
输入网址后,无法打开网页怎么办(当你输入网址,小手一点,然后发生了什么?)