数据初步分析不只是一个初步步骤;它是数据科学中一个基本方法。在尝试构建复杂模型或得出最终结论之前,你需要充分理解你正在处理的资料。可以将其比作一名侦探在提出理论前对犯罪现场进行调查。EDA是你的调查阶段,侧重于熟悉数据、理解其特点,并找出初步信息。EDA的主要目的是最大限度地从数据集中获取信息,通过结合统计汇总和可视化方法,通常是在你心中还没有具体假设的时候。其核心是提出开放性问题,并让数据指引你。以下是进行EDA时的基本目的:最大限度地获取数据集信息这是总体的目的。EDA有助于你形成对数据的直观感知。有哪些变量?它们的类型是什么(数值型、类别型、文本型、日期/时间型)?有多少条记录?整体结构如何?获得这种基本熟悉程度是所有后续分析的根本。识别数据质量问题“实际数据很少是完美的。EDA的一个主要目的就是发现需要在建模前处理的问题。这包括:”缺失值: 找出含有缺失($NaN$)数据的列或行,并理解缺失的程度和可能的模式。异常值: 找出那些远离大部分数据的观测值。这些可能是错误,也可能是真实的极端值,两者都需要关注。错误和不一致: 找出不可能的值(例如,负年龄)、不一致的格式(例如,'USA' 与 'United States')或重复的记录。理解变量分布每个变量的值是如何分布的?对于数值型变量,你会希望理解它们的集中趋势(均值、中位数)和离散程度(标准差、方差、范围)。直方图和箱线图等可视化图表在此处非常有用。它们是正态分布、偏斜分布还是多峰分布?对于类别型变量,理解每个类别的频率,通过计数和条形图来进行,这点很重要。有些类别是非常罕见还是非常常见?找出变量间关系数据点很少孤立存在。EDA旨在找出联系:相关性: 数值型变量如何共同变化?它们是正相关还是负相关?散点图和相关系数有助于量化这些关系。比较: 一个数值型变量在另一个变量的不同类别中如何表现差异?例如,平均收入在不同教育水平之间是否有明显差异?分组箱线图或小提琴图在此处很有用。关联: 两个类别型变量之间有何关联?交叉制表和堆叠/分组条形图可以显示关联。提出假设并检验前提尽管EDA通常是初步性的,但它自然而然地引出假设。例如,观察到两个变量之间有强相关性,可能会引出一方影响另一方的假设。此外,许多统计模型依赖于对数据的特定前提(例如,线性回归的线性,某些测试的正态性)。EDA对于直观和统计地检查数据集是否合理满足这些前提非常重要。如果前提被违背,EDA可能会提示进行数据转换或采用其他建模方法。为特征工程和选择提供信息通过理解单个变量及其关系,EDA为特征工程提供了有价值的信息——特征工程是从现有特征中创建新的、可能更具信息量的特征的过程。例如,如果你看到非线性关系,你可能会考虑创建多项式特征。EDA还可以帮助找出可能从模型中排除的冗余或不相关特征。本质上,EDA的目的围绕着对数据结构、质量、模式和关系的全面理解。这种理解不仅仅是学术上的;它直接为后续的数据清洗、特征工程、模型选择和解释提供信息,最终带来更可靠和有意义的结果。