探索性数据分析,简称 EDA,是数据科学流程中一个重要的阶段,专注于熟悉数据本身。这包括在进行复杂分析之前理解数据集的特征。可以将其视为在构建任何复杂事物之前的初步侦察任务。正如一个人不会在没有先勘察土地的情况下建造房屋一样,复杂的分析需要对数据特性有透彻的理解。EDA 是一种分析数据集的方法,用于总结它们的主要特点,通常使用可视化方法。它不太关乎证实预设的假设,而更多是关于查看数据本身能告诉你什么。主要目的是培养对数据集的直观感受,理解其结构,识别潜在的数据质量问题,发现潜在的规律,并产生问题或假设,供后续更正式的分析使用。为什么要进行探索性数据分析?在任何数据科学项目中,投入时间进行 EDA 都是一项有价值的投资。它能帮助你:理解数据结构: 熟悉存在的变量(特征),它们的数据类型(数值型、分类型、文本型等——如第2章所述),以及数据的整体形态(例如,行数和列数)。识别规律和关系: 找到不同变量之间可能存在的联系或相关性。例如,网站访问量的增加是否与销售额的增加有关联?发现异常和错误: 发现异常值(离群点)、缺失数据点或其他不一致之处,这些需要在数据准备阶段处理(第4章会更详细地讲解)。及早发现可以防止这些问题影响后续分析的准确性。生成假设: EDA 过程中发现的规律和见解通常会引出具体的问题或假设,这些可以使用统计方法进行更严格的检验(第5章会介绍)。为后续步骤提供信息: 从 EDA 中得到的发现会指导决策,确定哪些数据准备技术是必需的,以及哪种类型的模型可能适合,如果项目涉及预测或分类。常见的 EDA 方法在这个入门阶段,EDA 通常涉及多种简单技术的结合:初始数据检查: 简单查看数据的前几行和后几行就能提供即时信息。了解列名及其包含的值类型是基础。总结存在的数据类型以及每列非缺失值的计数也是一个标准的初步步骤。计算汇总统计量: 计算基本描述性统计量可以对数据进行量化汇总。这包括集中趋势度量(如均值、中位数)和离散度度量(如极差、标准差),这些内容将在第5章讲解。这些统计量能迅速显示每个数值特征的典型值和变异性。基本数据可视化: 创建简单的图表通常是理解分布和关系的有效方式。EDA 中常用的图表包括:直方图: 用于理解单个数值变量的分布(例如,不同年龄段的客户数量)。条形图: 用于比较不同类别之间的计数或数量(例如,不同产品类型的销售数据)。散点图: 用于可视化两个数值变量之间的关系(例如,绘制广告支出与收入的关系)。这些可视化技术将在第6章进一步讨论。让我们来描绘一下 EDA 在整个工作流程中的位置。digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="sans-serif", color="#495057", fontcolor="#495057"]; edge [color="#adb5bd", fontname="sans-serif", fontcolor="#868e96"]; splines=ortho; "定义问题" -> "获取数据" -> "准备数据" [label=" 初步准备 "]; "准备数据" -> "数据分析(EDA)" [label=" 清理后的数据 "]; "数据分析(EDA)" -> "产生见解/假设"; "数据分析(EDA)" -> "准备数据" [constraint=false, label=" 优化准备 "]; "产生见解/假设" -> "数据建模(可选)" ; "产生见解/假设" -> "成果沟通" ; "数据建模(可选)" -> "成果沟通"; }数据科学流程通常需要循环往复于数据准备和数据分析,因为来自 EDA 的见解可能会显示出需要进一步清理或转换。EDA 是一个迭代过程重要的是要认识到,EDA 并非一个严格的线性步骤,并非执行一次就结束。通常,你的初步分析会发现意想不到的情况,也许是数据质量问题,或是有趣的规律,值得进一步查看。这可能要求你回到数据准备阶段来解决问题,或者它可能促使你提出新的问题,并进行额外的分析或可视化。这种准备、分析和提问的迭代循环是高效数据科学工作的核心。例如,在分析销售数据时,你可能会创建一个购买金额的直方图,并注意到一些交易的数值异常高(离群点)。这一发现会促使你进一步查看这些交易。它们是错误,还是合法的批量订单?答案决定了你在后续数据准备和分析步骤中如何处理它们。理解 EDA 有助于我们理解原始数据。它将抽象的数字和类别转化为具体的见解,指导整个数据科学项目的方向,并确保后续分析建立在对数据特征的扎实理解之上。