返回 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")





