测试数据
探索测试数据在人工智能中的重要性,它在评估模型性能、检测过拟合以及确保实际应用可靠性方面的作用。
在机器学习中,测试数据是数据集中单独、独立的部分,用于在模型经过充分训练和调整后对其进行最终评估。
模型的最终评估。该数据集可作为模型的 "期末考试",对模型在新的数据上的表现进行无偏见的评估。
模型的 "期末考试",对模型在未见过的新数据上的表现进行无偏见的评估。核心原则是模型
在开发过程中绝不能从测试数据中学习或受其影响。这种严格的分离确保了
在测试集上计算的性能指标,如
准确率或
平均精确度 (mAP) 等性能指标是对模型能力的真实反映。
真实地反映了模型
真实世界场景的能力。严格的
模型测试是
模型部署前的关键步骤。
测试数据在 ML 生命周期中的作用
在一个典型的机器学习 (ML)项目中,数据会被仔细分割,以满足不同的目的、
数据会被仔细分割,以满足不同的目的。了解这些分区之间的区别是
是建立可靠模型的基础。
-
训练数据:这是最大的
数据子集,用于教授模型。模型通过以下方式迭代学习模式、特征和关系
调整其内部模型权重。
训练集中的示例。有效的模型创建有赖于高质量的训练数据和遵循最佳实践(如本文档中的最佳实践)。
实践,如本
模型训练技巧指南中的最佳实践。
-
验证数据:这是一个
在训练过程中使用的单独数据集。其目的是就模型在未见数据上的
在未见数据上的表现提供反馈,这有助于
超参数调整(如调整
学习率)和防止
过度拟合。它就像一个练习测试,有助于
指导学习策略。评估通常使用专门的
验证模式。
-
测试数据:该数据集完全与外界隔绝,直到完成所有训练和验证。
它只使用一次,以提供关于模型性能的无偏见的最终报告。使用测试数据对模型进行任何
使用测试数据对模型进行任何进一步调整都会使结果失效,这种错误有时被称为 "数据泄漏 "或 "教学"。
"这种错误有时被称为 "数据泄漏 "或
测试"。这种最终评估对于了解一个模型(比如
Ultralytics YOLO11模型在部署后的表现。
培训后,您可以使用 val 模式来生成最终的性能指标。
from ultralytics import YOLO
# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")
# Evaluate the model's performance on the COCO8 test set.
# This command runs a final, unbiased evaluation on the 'test' split.
metrics = model.val(data="coco8.yaml", split="test")
print(metrics.box.map) # Print mAP score
虽然基准数据集可以作为测试集
基准数据集的主要作用是作为比较不同模型的公共标准,通常在学术挑战中使用,如
如
ImageNet 大规模视觉识别挑战赛 (ILSVRC) 等学术挑战中使用。您可以
在模型比较页面中可以看到这方面的示例。
实际应用
-
汽车领域的人工智能:开发人员创建了一个
物体检测模型
自动驾驶汽车的物体检测模型。
的驾驶录像进行训练和验证。在将这一模型部署到车队之前,要根据一个测试数据集对其进行评估。
测试数据集进行评估。该测试集将包括具有挑战性的、以前从未见过的场景,例如在夜间大雨中驾驶
雨中行驶、在暴风雪中导航或检测被其他物体部分遮挡的行人。模型的
在该测试集上的表现,通常使用来自 nuScenes 等基准测试的数据。
nuScenes 等基准的数据,来确定模型是否符合严格的
安全性和可靠性标准。
汽车应用中的人工智能所需的严格安全性和可靠性标准。
-
医学影像分析:A
训练计算机视觉 (CV)模型,以
从一家医院的胸部 X 光图像中detect 肺炎的迹象。为确保该模型对临床有用,必须
模型必须在不同医院系统的图像数据集上进行测试。测试数据将包括
由不同的放射科医生解读。
在这个外部测试集上评估模型的性能对于获得监管部门的批准至关重要,例如
美国
美国食品和药物管理局等监管机构的批准,并确认其在医疗保健领域的实用性。
人工智能在医疗保健领域的应用。这一过程有助于确保
模型避免数据集偏差,并在新的临床环境中可靠运行。
新的临床环境中可靠地运行。您可以在以下资源中找到公共医学影像数据集
癌症成像档案 (TCIA)。
管理测试数据的最佳实践
为确保评估的完整性,请考虑以下最佳实践:
-
随机取样:在创建数据分割时,确保测试集是整个问题空间中具有代表性的
的样本。像
scikit-learn 的 train_test_split
等工具可以帮助自动进行随机分区。
-
防止数据泄漏:确保训练集和测试集之间不存在重叠。即使是细微的泄漏
例如在两个集中都有来自同一视频片段的帧,都会人为地提高性能分数。
-
代表分配:对于
分类等任务,验证测试集中的类分布是否
测试集中的类别分布是否反映了你期望遇到的真实世界分布。
-
评估指标:选择与业务目标相一致的指标。例如,在安全
应用中,高召回率可能比
精确度,以确保不遗漏任何威胁。
严格遵守这些原则,您就可以放心地使用测试数据来证明您的
Ultralytics 模型已为生产环境做好准备。