趋近智
如同我们上一章所谈到的,在模型学习过的数据上评估它,就像在考试前给学生提供考题和答案。他们可能获得满分,但这几乎不能说明他们是否真正理解了材料或能处理新问题。为了可靠地评估模型在新数据(未见过的数据)上的表现,我们必须在训练前预留一部分数据集。这项步骤,即训练-测试集划分,是评估流程的一个基本构成部分。
将您的整个数据集视为所有可用信息的集合。我们需要将这个集合分成两个不同的部分:
过程本身很简单:
完整数据集被划分为独立的训练集和测试集的示意图。
在模型训练前进行划分是非常重要的。如果您在完整数据集上训练模型,然后才尝试选择测试集,模型就已经“见过”测试数据了,即使是间接的。这就失去了拥有独立评估集的意义。测试集必须保持原始和未触碰状态,直到最终评估阶段。
大多数机器学习库都提供函数来轻松处理这一点。例如,在Python的scikit-learn库中,train_test_split函数被普遍使用。它根据指定的测试集大小比例处理数据的打乱和划分。通常,您会看到像random_state这样的选项。将其设置为特定数字可确保每次运行代码时都发生相同的随机打乱和划分。这使您的结果可重复,这对于调试和分享工作很重要。虽然我们在此不会查看具体的代码,但请记住,其主要思想是在流程中进一步操作之前,将您的数据随机划分为这两个不同的集合。
通过仔细分离数据,我们为在一部分数据上训练模型,然后在预留的测试部分上对其性能进行公正无偏的评估奠定了基础。可靠模型评估正是建立在这种划分之上。
这部分内容有帮助吗?
train_test_split函数的官方文档,详细说明其参数、用法以及数据分区在实践中的应用。© 2026 ApX Machine Learning用心打造