我们已成功将数据集分成两个不同的部分:训练集和测试集。评估流程的下一个合理步骤是使用训练集来真正教授我们的机器学习模型。这个阶段被称为模型训练或模型拟合。可以把训练集想象成你为考试而学习的课本和练习题。模型就像学生一样,研习这些材料,从而学习其中的道理和规律。学习过程在训练期间,机器学习算法会接收训练数据(包括输入特征和相应的已知结果或标签),并重复调整其内部设置,这些设置通常被称为参数或权重。所使用的具体算法取决于问题的类型(分类或回归)以及所选的模型(例如线性回归、逻辑回归、决策树等)。例如:如果我们正在构建一个回归模型来预测房价,训练算法可能会调整参数,以找到最能表示房屋特征(如面积、卧室数量)与训练数据中价格之间关系的直线(或曲线)。目标是最小化此训练数据上的预测误差。如果我们正在构建一个分类模型来检测垃圾邮件,算法可能会学习规则或识别电子邮件文本(来自训练集)中的模式,从而区分垃圾邮件和非垃圾邮件。它会自行调整,以尽可能正确地分类更多的训练邮件。核心想法是模型尝试仅基于训练集中提供的示例,找到从输入特征到输出目标的最佳可能对应关系。digraph G { bgcolor="transparent"; rankdir=LR; node [shape=box, style=filled, fillcolor="#e9ecef", fontname="sans-serif"]; edge [fontname="sans-serif"]; TrainData [label="训练数据\n(特征 + 标签)", fillcolor="#a5d8ff"]; Algorithm [label="机器学习算法\n(例如:线性回归、\n决策树)", shape=ellipse, fillcolor="#ffec99"]; TrainedModel [label="已训练模型\n(学习到的模式)", fillcolor="#b2f2bb"]; TrainData -> Algorithm [label=" 输入"]; Algorithm -> TrainedModel [label=" 输出"]; }训练过程会使用训练数据,并使用机器学习算法来生成一个能够做出预测的已训练模型。“已训练”意味着什么?训练阶段的输出不是数据;而是模型本身,现在它已配置了学习到的参数。这个“已训练模型”包含了在训练数据中发现的模式。它现在可以应用于新的、未见过的数据来做出预测。保持测试集独立绝对有必要记住,测试集在训练期间绝不能展示给模型。测试集就像期末考试。如果学生(我们的模型)在学习(训练)时看到了考题(测试数据),那么他们在考试中的表现就无法真实反映他们的学习情况。同样,在训练期间将模型暴露给测试数据,将导致对其在新数据上的表现评估过于乐观和不可靠。这个训练步骤纯粹是为了从数据的指定训练部分中学习。一旦模型训练完成,我们就会进入流程的下一步:使用这个已训练模型对未见过的测试集进行预测,这将使我们能够评估它真正学习泛化的程度。