返回 Ultralytics 术语表
Data Cleaning
掌握数据清洗以提升 AI 模型准确率。了解如何移除错误、处理缺失值,并为 Ultralytics YOLO26 准备干净的数据集。
数据清洗是从记录集、表格或数据库中检测并纠正(或删除)损坏、不准确或无关记录的关键过程。在人工智能(AI)和机器学习(ML)领域,这一步通常被认为是工作流程中最耗时但又必不可少的环节。在YOLO26等模型能够有效学习识别对象之前,必须清除训练数据中的错误,以避免“垃圾进,垃圾出”现象,即低质量输入会导致不可靠的输出。
AI 中数据完整性的重要性#
高性能的计算机视觉模型高度依赖其所使用数据集的质量。如果数据集包含错误标注的图像、重复项或损坏的文件,模型将难以泛化模式,从而导致过拟合或较差的推理准确率。有效的数据清洗可以提高预测模型的可靠性,确保算法从有效信号而非噪声中学习。
常见的数据清洗技术#
从业者会采用各种策略来优化数据集,例如使用pandas处理表格数据,或使用专用视觉工具。
- 处理缺失值:这包括删除含有缺失数据的记录,或使用插补技术,根据统计平均值或最近邻来填补空缺。
- 删除重复项:训练集中的重复图像可能会无意中使模型产生偏差。删除这些重复项可以确保模型不会记住特定示例,从而帮助减轻数据集偏差。
- 异常值检测:识别并处理与正常情况存在显著偏差的异常或离群值至关重要,因为它们可能会扭曲统计分析和模型权重。
- 结构修复:这包括修正类别标签中的拼写错误(例如,将“Car”与“car”统一),以确保类别一致性。
实际应用#
数据清洗在部署 AI 的各个行业中都至关重要。
- 医学图像分析:在医疗 AI 应用中,数据集通常包含带有伪影的扫描图像、错误的患者元数据或无关的背景噪声。清洗这些数据可以确保医学图像分析模型只关注与诊断相关的生物标志物。
- 零售库存管理:对于零售业中的 AI,产品数据集可能包含已淘汰的商品或宽高比不正确的图像。清洗这些数据集可以确保目标检测模型准确识别库存水平,并减少实时环境中的误报。
区分数据清洗与预处理#
虽然这两个术语经常互换使用,但数据清洗不同于数据预处理。数据清洗侧重于修复错误并删除“有问题”的数据。相比之下,预处理涉及将干净的数据转换为适合模型的格式,例如调整图像大小、标准化,或应用数据增强来增加多样性。
自动化质量检查#
现代工作流程(例如Ultralytics Platform上提供的工作流程)会集成自动化检查,在训练开始前识别损坏的图像或标签不一致问题。下面是一个简单的 Python 示例,演示如何使用标准的Pillow 库检查并识别损坏的图像文件,这是将数据输入 YOLO26 等模型前的常见步骤。
from pathlib import Path
from PIL import Image
def verify_images(dataset_path):
"""Iterates through a directory to identify corrupt images."""
for img_path in Path(dataset_path).glob("*.jpg"):
try:
with Image.open(img_path) as img:
img.verify() # Checks file integrity
except (OSError, SyntaxError):
print(f"Corrupt file found: {img_path}")
# Run verification on your dataset
verify_images("./coco8/images/train")








