Learn the essentials of data cleaning for AI and ML. Discover how to fix errors and remove noise to optimize models like [YOLO26](https://docs.ultralytics.com/models/yolo26/) for peak performance.
数据清洗是检测并修正(或删除)记录集、表格或数据库中损坏、不准确或无关记录的关键过程。在人工智能(AI) 和机器学习(ML)领域,这一步骤常被视为工作流程中最耗时却至关重要的环节。在YOLO26等模型能有效学习识别物体之前, 必须清除训练数据中的错误, 以避免"垃圾进,垃圾出"现象—— 即低质量输入导致不可靠输出。
高性能计算机视觉模型在很大程度上依赖于其训练数据集的质量。若数据集包含标注错误的图像、重复数据或损坏文件,模型将难以概括模式特征,导致过拟合或 推理准确性低下。有效的数据清洗能提升预测模型的可靠性,确保算法从有效信号而非噪声中学习。
从业者运用各种策略来优化数据集,使用工具如 Pandas 处理表格数据,或采用专业视觉工具。
数据清理在部署人工智能的各个行业中都至关重要。
虽然数据清洗与数据预处理常被混为一谈,但二者存在本质区别。数据清洗侧重于修正错误并剔除"不良"数据;而预处理则涉及将已清洗数据转换为适合模型的格式,例如图像尺寸调整、归一化处理,或通过数据增强技术提升数据多样性。
现代工作流(Ultralytics 提供的功能)在训练开始前会集成自动化检查机制,用于识别损坏图像或标签不一致问题。以下是一个简单的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")