‫在上一个视频中, 我们停止了对机器学习模型进行评分,
‫我们在填充了所有数值､ 所有分类值并将所有数据转换为数字后, 将其拟合到数据中｡
‫模型工作｡
‫我们的数据没有缺失值, 都是数字｡
‫但我们离开了这个问题为什么这个指标不可靠？
‫让我们把它放在这里, 因为这是值得强调的, 因为记住,
‫永远记住拟合一个机器学习模型或评估一个机器学习模型是一样重要的拟合一个｡
‫这就是我们现在所处的位置, 因为我们刚刚拟合了一个机器学习模型｡
‫我们必须确保我们的结果站得住脚, 对吧, 因为我们不想承诺我们的模型做不到的事情｡
‫那么, 问题是为什么上面的指标不成立呢？
‫Hold water是一种表达方式, 用于说明为什么指标不可靠？
‫那只是一种说法｡
‫那么为什么它不成立呢？
‫为什么不可靠？
‫你考虑过吗？
‫如果我们回到主题演讲, 我将向您展示一个图表, 它可能会刷新您的记忆｡
‫你们还记得从一开始, 机器学习中最重要的概念｡
‫好吧, 三套｡
‫所以我们所做的就是在一个数据集上训练一个机器学习模型, 但是我们做了什么呢？
‫我们回到代码上来｡
‫我们符合模型｡
‫在一些数据集上, 但是我们在完全相同的数据上评估了它｡
‫-你好
‫如果我们回到这里, 基本上我们所做的是, 如果我们把它当作一门大学课程,
‫我们已经学习了课程材料.
‫但我们所做的,
‫不是在期末考试, 也就是测试数据集上测试我们的模型, 我们只是在完全相同的材料上评估我们的机器学习模型｡
‫你在一节课上, 你得到了一本书要读, 然后在同一时间,
‫这就像你将被测试的问题直接从你阅读的书｡
‫嗯嗯嗯
‫好吧, 我会的
‫但我们追求的是我们的模型的泛化能力, 以及机器学习模型在从未见过的数据上表现良好的能力,
‫这就是我们所追求的｡
‫如果我们回到卡格尔｡
‫有一个训练数据集, 其中包含截至2011年底的数据｡
‫有验证集和测试集｡
‫这就是我们要找的
‫我们需要评估我们的模型, 而不是在我们训练它的数据上, 我们需要在测试数据上评估它｡
‫但在那之前｡
‫如果您还记得顶部, 让我们回到顶部导入的第一个数据帧｡
‫我说过我们会重新考虑的现在时机到了｡
‫所以我们走这里｡
‫我们进口的｡
‫培训和有效的csv｡
‫嗯嗯嗯
‫想知道我们为什么要这么做吗？
‫好吧, 这一切都将在这段视频中变得清晰｡
‫我们有train invalid csv, 我们有一个有效的csv, 我们有try and see as v,
‫为什么我们不单独导入它们呢？
‫我想演示一下创建自己的验证集是什么样的, 而不是其他人用时间序列数据集为你创建验证集,
‫这是我们正在做的｡
‫所以这是一个完美的游乐场｡
‫如果我们在这里看到train CSV是训练集｡
‫所以基本上我们一直在做的和有效的CSV是一个验证集｡
‫这里的关键点是,
‫因为它是一个时间序列, 训练数据集包含截至2011年底的数据, 而验证数据集包含2012年1月1日至2012年4月30日之间的数据｡
‫因此, 为了更好地评估模型, 我们需要将数据分为训练集和验证集｡
‫那就这么办吧｡
‫让我们在这里将数据拆分为训练验证集, 因为这是我们要做的｡
‫现在我们有了模型｡
‫我们现在可以建立模型, 但我们需要的不仅仅是建立更好的模型,
‫我们需要确保我们评估的东西是有意义的｡
‫让我们再次检查数据, 就像我们一直做的那样｡
‫也许我们可以用年份, 比如说, 它叫什么来着｡
‫哦, 是的｡
‫所以你要说｡
‫哦, 是的｡
‫我们走吧｡
‫好吧, 我会的
‫所以可能是因为我们的数据框架是有序的｡
‫是的, 我知道
‫这将有助于我们导入数据框｡
‫我们是按销售日期的顺序订购的｡
‫现在, 为了创建我们自己的验证集, 我们需要拆分数据｡
‫因此, 所有数据列都在2011年之前, 所以销售年度是2011年, 可以在训练集中｡
‫然后, 2012中的所有行都可以是验证集｡
‫我们现在不担心测试集, 因为它在一个单独的数据集中｡
‫我们之所以只处理train和有效CSV, 是因为我们在笔记本的开头导入了train和有效CSV｡
‫这个文件在这里｡
‫所以我们必须创建自己的验证数据集｡
‫那就这么办吧｡
‫我们有开发模板, 请检查销售年度价值计数｡
‫2012年的｡
‫所以2012年有11,573个样本｡
‫好吧, 我会的
‫所以要把我们的数据分成训练和验证, 应该很简单, 好吧, 让我们反思一下｡
‫我们的年份列和等于2012的每一列都将是销售年份和示例的验证集, 而不等于2012的每一行都将在训练集中｡
‫丹尼尔, 我们不要再讨论这个了, 让我们看看代码｡
‫因此, 将数据分为训练和验证｡
‫这可能是你自己的时间序列数据, 对吧？
‫因为你不会总是以Kaggle格式给出, 对吗？
‫当您与客户合作或处理项目时, 您并不总是能够自动使数据处于训练､ 有效和测试状态｡
‫这些都是你必须为自己创造的东西｡
‫查看此销售列或查看时间列, 查看日期列,
‫并找出如何创建自己的培训和验证集｡
‫因此, 这正是我们将它们作为一个集合导入的原因, 这样我们开始可以练习制作自己的训练集和验证集｡
‫我觉得我说了很多单词集, 但这很重要, 因为我们回到了我们的｡
‫关键注记｡
‫这是机器学习中最重要的概念, 因为无论我们训练我们的模型是什么,
‫我们都希望确保我们在其他方面评估它｡
‫因此, 这里的验证集是DF temp中的每一行, 其中销售年份列等于2012？
‫是的, 没错｡
‫训练集的日期是DF temp中同一年列不等于2012的每一行｡
‫好极了｡
‫然后我们就可以走了, 莱恩｡
‫列车的DF瓦尔和长度｡
‫所有这一切都将告诉我们这两个数据帧的长度｡
‫真漂亮｡
‫因此, 现在我们有一个包含11, 573行的验证集和一个包含401, 125行或样本的训练数据集,
‫以及它们的拆分日期｡
‫真漂亮｡
‫我们在这里拿箱子｡
‫现在我们要做的就是把数据分成X和Y｡
‫我们以前见过这种情况｡
‫这样我们就有了一个X训练集和一个Y训练集, 一个X有效集和一个Y有效集, 这就是我们的数据和标签｡
‫所以我们有X列, y列等于DF｡
‫现在, 我们正在使用这里的训练集｡
‫我们要删除第一个轴a上的销售列｡ k､ a只需放下色谱柱, 然后将其设置为DF
‫train｡
‫Y列车将等于销售｡
‫看看我是怎么用逗号的｡
‫我只是在一行中做这件事有点棘手｡
‫真漂亮｡
‫我们要去这里｡
‫有效y有效｡
‫不确定am df输出是否再次降低销售, 但这次使用验证集df val dot,
‫这实际上将是销售价格｡
‫我们走吧｡
‫现在我们要仔细检查一下数据, 以确保我们没有在某个地方犯错误,
‫你们应该都是彼此可比的形状｡
‫为什么？
‫有效形状｡
‫所以我们只是把我们在这里创建的这些数据集, 我们正在找出它们的形状｡
‫真漂亮｡
‫因此, 我们的训练集是401, 000行或大约102个特征, 102列｡
‫我们的Y训练是401, 000行, 然后验证大约是11500行, 其中X的列数相同,
‫Y的列数相同, 因为y只有一列｡
‫我们来看看｡
‫听着, 这就是我们的工作.
‫确保我们所有的数据｡
‫好了, 这些都是销售｡
‫真漂亮｡
‫哇哦｡
‫好的, 我们已经将数据放入训练集和验证集｡
‫我们已经处理了三件最重要的事情或最重要的集合中的两件｡
‫我们稍后会看一下测试集｡
‫但这是我们创建的, 一个训练集和一个验证集｡
‫是时候继续构建更多的模型了｡
‫所以我们可以在这里结束这个视频, 我们必须找到一种方法来评估我们的机器学习模型｡
‫我们可能会在下一个视频中看到｡