‫看看我们｡
‫走吧｡
‫我们将在Lightning Pace采用这种框架｡
‫我们已经完成了问题定义｡
‫我们看过数据｡
‫我们已经确定了一个评估指标｡
‫我们已经了解了数据中的一些特征｡
‫现在我们到了第五步, 也就是建模｡
‫现在有几个部分需要建模, 我们将其分为四个不同的部分, 这是第一部分｡
‫这可能是机器学习中最重要的概念, 即三个集合｡
‫现在, 在整个建模过程中, 我们希望基于我们的问题和数据来回答这个问题｡
‫我们应该使用什么机器学习模型？
‫建模可以分为三个部分｡
‫选择和训练一个模型｡
‫调整模型和模型比较｡
‫在我们开始之前, 第一部分是建模,
‫在整个课程中, 最重要的主题是机器学习中最重要的概念, 训练验证和测试拆分,
‫通常称为三个集合｡
‫现在, 既然你想使用机器学习模型来获得对一些数据的洞察力, 以预测未来,
‫那么测试它们在真实的世界中的表现就很重要了｡
‫为此, 您需要将数据拆分为三个不同的集：一个是用于根据验证集训练模型的训练集, 一个是用于搅动模型的验证集,
‫另一个是用于测试和比较不同模型的测试集｡
‫为什么这很重要？
‫你可以这样想
‫当你在大学里的时候, 你可能整个学期都在学习课程材料｡
‫然后在期末考试之前, 你可能会看到如何通过练习考试来提高你的知识｡
‫在模拟考试中取得好成绩后, 您相信自己在期末考试中也会取得好成绩｡
‫当你参加期末考试的时候,
‫一些你以前从未见过的问题, 你可以把你从学习材料中学到的知识, 应用到期末考试中略有不同但相似的问题上｡
‫正因为如此, 你以优异的成绩通过了期末考试｡
‫这种从课程材料和练习考试到期末考试的适应性在机器学习中被称为泛化,
‫或者说机器学习模型在以前从未见过的数据上表现良好的能力, 因为它在另一个数据集上学到了什么｡
‫现在, 哪里可能出错呢？
‫好吧, 如果你的教授不小心把期末考试发给了每个人, 让他们在真正考试的时候练习,
‫每个人都应该已经看到了｡
‫现在, 既然人们知道他们应该期待什么, 他们通过考试, 他们轻松地回答了所有的问题,
‫每个人最终都得到了最高分｡
‫现在, 最高分可能看起来不错, 但学生们真的学到了什么, 还是他们只是专家级的记忆机器？
‫让你的机器学习模型在预测未来的事情上有价值｡
‫对于看不见的数据, 你会希望避免它们成为记忆机器｡
‫这就是培训､ 验证和测试拆分的用武之地｡
‫在我们的心脏病例子中, 假设有100个病人｡
‫我们从100开始｡
‫创建这些分割的一种方法是将这些患者洗牌, 然后选择70%进行训练｡
‫也就是说, 那里将有大约70个患者记录, 15%用于验证, 15%用于测试,
‫这意味着训练集中将有70个患者｡
‫15名患者在验证分流中, 15名患者在测试分流中｡
‫现在, 每一项的百分比可能会有所不同, 但标准做法通常是70-80%用于培训,
‫10-15%用于验证, 10-15%用于测试｡
‫您可能会在一些示例中看到, 某些集合或某些数据集只被拆分为训练集和测试集, 但这是一种具体情况｡
‫通常你会有三个不同的集合｡
‫然后, 一旦你用你选择的模型得到了这些分割, 你就可以输入训练数据或这70个病人记录的信息｡
‫一旦您的模型完成训练, 您就可以检查其结果, 看看是否可以在验证集上改进它们｡
‫这是您将进行模型调整的地方｡
‫所以仅仅因为你的机器学习模型在病人记录上得到了一组结果, 你就可以实际上改进它们｡
‫我们将在以后的课程中看到验证拆分｡
‫好吧, 验证拆分是您应该测试的地方, 看看您是否可以改进它｡
‫最后, 一旦改进了模型, 就可以检查模型的结果,
‫以及在测试集上进行实验时可能已经完成的任何其他模型的结果｡
‫重要的是要记住, 这三个集合都是独立的｡
‫在定型期间, 模型永远不会看到验证分割或测试分割｡
‫在测试过程中, 你是在测试分割上做的, 而不是在训练集上｡
‫和你准备考试的时候一样｡
‫如果你在练习的时候看到期末考试, 那就是作弊, 你的期末成绩也不能反映你学得有多好｡
‫暂时的｡
‫想想你上一次去考试的时候｡
‫你事先练习过吗？
‫你做的练习对考试有帮助吗？
‫当你考虑这个问题时, 试着想想它是如何与为什么不让机器学习模型在训练时看到测试集或测试数据分割的重要性相一致的｡