4、探索性数据分析(EDA):通过可视化工具理解形象数据分布、相关性和异常模式
形象数据(Image Analytics Data)通常包含高维像素特征、颜色直方图、纹理参数、目标检测框坐标、人脸关键点坐标、美学评分等多类异构字段。在进入建模或业务决策之前,探索性数据分析(EDA)是至关重要的一步——它帮助我们回答三个核心问题:数据长什么样?哪些变量之间存在关联?是否存在需要特殊处理的异常样本?本章将围绕直方图、箱线图、散点图三大可视化工具,结合形象数据的实际场景,系统拆解EDA的执行路径与判断逻辑。
4.1 核心原理:为什么EDA是形象数据建模的“体检报告”
形象数据与传统表格数据最大的区别在于其高维性和语义耦合性。一张1080×1920的RGB图像展开后是超过600万个像素特征,但实际业务中我们通常提取的是经过降维或工程化处理后的结构化特征,例如:颜色直方图(256 bins × 3通道)、HOG纹理特征、人脸106个关键点的坐标、目标检测框的宽高比、图像美学评分等。这些特征构成了一个多维特征空间,而EDA正是对这个空间进行系统性“体检”的过程。
EDA的核心价值体现在三个层面:数据质量验证(发现缺失、重复、错误标注)、特征分布理解(判断是否符合正态性假设、是否存在长尾分布)、变量关系探索(识别线性/非线性相关、发现潜在交互效应)。在形象数据场景中,EDA还能帮助我们发现一些特有的问题,例如:不同光照条件下同一物体的特征漂移、不同分辨率图像的尺度不一致、标注框的坐标偏移等。
4.2 直方图:单变量分布的“显微镜”
4.2.1 操作流程与判断方法
直方图用于展示单个特征(如“人脸关键点置信度”“检测框面积”“颜色饱和度均值”)的数值分布。在形象数据EDA中,直方图的分析遵循以下流程:
- 确定分析维度:选择需要检查的特征列,如“人脸角度yaw值”“目标检测置信度”“图像亮度均值”。
- 设置分箱数(bins):一般建议使用Sturges公式(bins = 1 + log₂(n))或Freedman-Diaconis规则;对于形象数据,若样本量超过10万,建议固定bins=50~100以观察细粒度分布。
- 观察分布形态:判断是否近似正态、左偏/右偏、双峰/多峰、是否存在截断。
- 记录异常区间:标记频数骤降或突增的区间,这些往往是数据采集偏差或标注错误的信号。
| 分布形态 | 可能含义 | 形象数据示例 | 处理建议 |
|---|---|---|---|
| 右偏(长尾) | 存在少量极大值 | 检测框面积(少数大物体) | 对数变换或分位数截断 |
| 左偏 | 存在少量极小值 | 图像亮度(少数过暗样本) | 检查采集设备,考虑剔除 |
| 双峰 | 两个子群体混合 | 人脸角度(正面/侧面) | 分层建模或增加类别特征 |
| 截断分布 | 数据被人工限制 | 置信度分数(被截断到0.5~1.0) | 确认业务规则,谨慎使用 |
| 均匀分布 | 可能随机生成或采样偏差 | 颜色直方图某个bin | 检查数据来源真实性 |
4.2.2 案例拆解:人脸关键点置信度分布分析
背景与约束:某安防项目需要基于人脸关键点进行活体检测,训练集包含50万张人脸图像,每张图像附带106个关键点的置信度分数(0~1)。业务要求模型在低置信度场景下不能误判。
初始现象:直接查看“平均关键点置信度”的直方图,发现分布呈现明显的右偏形态,大量样本集中在0.9~1.0区间,但存在一条延伸到0.3的长尾。
分析过程:进一步将置信度按关键点部位拆分(眼睛、鼻子、嘴巴、轮廓),绘制分组直方图后发现:轮廓点的置信度普遍低于内部点,且长尾主要由遮挡(口罩、墨镜)样本贡献。通过对比采集日志,确认这些低置信度样本集中在下午时段(逆光环境)。
操作步骤:① 对置信度做分位数截断(保留0.1~99.9百分位);② 将“是否存在低置信度关键点”作为二值特征加入模型;③ 对逆光样本进行数据增强(模拟低光照)。
结果对比:处理后模型在遮挡场景下的误检率从7.2%降至3.1%,整体AUC提升0.04。
4.3 箱线图:离群点与分组差异的“雷达”
4.3.1 核心原理与判断标准
箱线图通过五数概括(最小值、Q1、中位数、Q3、最大值)展示数据的集中趋势和离散程度,并使用IQR(四分位距)定义离群点:低于Q1-1.5×IQR或高于Q3+1.5×IQR的点被视为离群点。在形象数据中,箱线图特别适合用于:
- 分组对比:比较不同类别(如“猫”vs“狗”)、不同采集设备、不同时段的特征分布差异。
- 离群点检测:识别标注框坐标异常、关键点跳变、颜色特征极端值。
- 数据质量监控:在数据流水线中定期生成箱线图,监控特征漂移。
4.3.2 实战场景:商品主图检测框尺寸分析
背景与约束:电商平台需要自动检测商品主图中的商品主体区域,用于后续的智能裁剪。训练数据来自多个商家,图片尺寸从400×400到2000×2000不等。业务要求裁剪后不能切掉商品主体。
初始现象:绘制“检测框宽度/图片宽度”比值的箱线图,发现存在大量离群点(比值>0.95或<0.2)。
分析判断:通过按商家分组绘制箱线图,发现离群点主要来自两类商家:一类上传了包含多个商品的拼图(导致检测框过小),另一类上传了带有大面积留白的“艺术感”图片(导致检测框过大)。
实际操作:① 对离群样本进行人工复核,确认其中30%是标注错误(框选到了背景),20%是真实的多物体场景;② 建立“检测框占比”的合理范围(0.3~0.9),超出范围的样本进入人工复审队列;③ 对多物体图片增加“主商品识别”预处理步骤。
结果与复盘:经过处理后,智能裁剪的满意度从82%提升至91%。复盘发现,箱线图的价值不仅在于发现离群点,更在于通过分组对比揭示了数据来源的异质性——不同商家的上传习惯差异巨大,需要在数据规范层面进行统一。
4.4 散点图:变量相关性与聚类结构的“透视镜”
4.4.1 多维散点图的扩展应用
传统散点图展示两个变量的关系,但在形象数据中,我们经常需要同时观察多个维度。常用的扩展方案包括:
- 颜色编码散点图:用颜色表示第三个变量(如图像类别、置信度等级)。
- 气泡图:用点的大小表示第四个变量(如检测框面积)。
- 散点图矩阵(SPLOM):对多个特征两两组合绘制散点图,用于快速筛查相关性。
- 降维散点图:使用PCA或t-SNE将高维特征降到2D后绘制,观察样本的聚类结构。
4.4.2 案例拆解:美学评分与构图特征的相关性分析
背景与约束:图像美学评估项目需要从构图、色彩、纹理等维度预测用户评分(1~5分)。特征工程师提取了32个手工特征,包括三分法强度、对角线平衡度、色彩和谐度、纹理复杂度等。
初始现象:初步建模时,使用全部32个特征训练线性回归模型,R²仅为0.31,且部分特征的系数符号与直觉相反。
分析过程:绘制“三分法强度”与“用户评分”的散点图,发现两者并非线性关系,而是呈现倒U形——评分在三分法强度为0.6左右达到峰值,过高或过低都会降低评分。进一步绘制“色彩和谐度”与“纹理复杂度”的散点图,发现这两个特征存在明显的负相关(r=-0.68),说明它们存在信息冗余。
操作步骤:① 对非线性特征添加二次项;② 对高度相关的特征进行PCA降维,保留前8个主成分;③ 使用散点图矩阵重新检查处理后的特征关系。
结果对比:优化后模型R²提升至0.58,且所有特征的系数符号符合美学直觉。
| 特征对 | 相关系数 | 散点图形态 | 处理策略 |
|---|---|---|---|
| 三分法强度 vs 用户评分 | 0.12(线性) | 倒U形 | 添加二次项 |
| 色彩和谐度 vs 纹理复杂度 | -0.68 | 线性负相关 | PCA降维或保留其一 |
| 亮度均值 vs 对比度 | 0.45 | 弱正相关 | 可同时保留 |
| 主体占比 vs 留白面积 | -0.82 | 强负相关 | 合并为“构图密度” |
4.5 三工具联动:完整EDA流程与常见误区
4.5.1 标准操作流程
在实际项目中,三个工具不是孤立使用的,而是形成一个闭环分析流程:
- 第一步:全局扫描——对所有数值型特征绘制直方图,快速识别分布异常和取值范围问题。
- 第二步:分组对比——按业务类别(如图像类型、采集设备、标注人员)绘制箱线图,发现组间差异和离群点。
- 第三步:关系探索——对候选特征两两绘制散点图(或散点图矩阵),识别相关性、非线性关系和聚类结构。
- 第四步:交叉验证——将直方图中发现的异常区间、箱线图中的离群点、散点图中的离群簇进行交叉比对,确认是否为同一批样本。
- 第五步:记录与决策——将发现写入EDA报告,明确每个异常的处理方式(剔除、修正、保留、单独建模)。
4.5.2 常见误区总结
| 误区 | 后果 | 正确做法 |
|---|---|---|
| 只看均值/方差,不看分布形态 | 忽略双峰分布、长尾分布 | 必须绘制直方图观察形态 |
| 直接删除所有离群点 | 丢失困难样本,模型泛化差 | 先分析离群原因,再决定处理方式 |
| 只计算皮尔逊相关系数 | 漏掉非线性关系 | 结合散点图观察,必要时计算斯皮尔曼秩相关 |
| 忽略分组差异 | 总体分布正常但子群异常 | 按业务维度分组绘制箱线图 |
| 一次性分析所有特征 | 信息过载,无法聚焦 | 先结合业务筛选重要特征,再逐步展开 |
在实际操作中,建议使用Python的matplotlib/seaborn或R的ggplot2快速生成上述图表,并将EDA脚本封装为可复用的数据质量检查模块,在每次数据更新后自动运行。对于形象数据特有的高维特征(如深度学习中间层输出),可结合UMAP或t-SNE降维后进行散点图可视化,以发现语义层面的聚类结构。记住:EDA的核心目标不是“画图”,而是通过画图建立对数据的直觉理解,从而为后续的特征工程和模型选择提供坚实依据。