【问题标题】:Splitting the data in machine learning在机器学习中拆分数据
【发布时间】:2021-06-02 06:12:30
【问题描述】:

在机器学习中,为什么我们需要拆分数据?为什么我们将测试大小设置为 0.3 或 0.2(通常)?我们可以将大小设置为1吗?以及为什么 85% 被认为对准确性有好处?

附言。我是初学者请多关照^^

【问题讨论】:

    标签: python dataset


    【解决方案1】:

    这是一个非常基本的问题。我建议您在在这里提问之前先学习一些课程,因为几乎所有关于机器学习的好课程都会解释这一点。我推荐 Andrew Ng 的课程,你可以在 Coursera 上找到它们,但视频也在 youtube 上。

    为了更直接地回答您的问题,您可以使用训练集来教您的模型如何对数据进行分类,并使用“开发”或“测试”集来测试您的模型,以了解它在新的看不见的数据上的学习情况.

    把它想象成通过告诉孩子 1+4=5 和 5+3=8 和 2+7=9 来教孩子加法。如果你再问孩子“什么是 1+4”,你想知道他们是否学会了加法,而不仅仅是记住你给出的例子。

    该视频特别回答了使用什么大小的测试/训练集的问题。 https://www.youtube.com/watch?v=1waHlpKiNyY

    【讨论】:

    • 是的,我目前正在学习这些,但我仍然感到困惑,但现在不再困惑了。谢谢!
    【解决方案2】:

    那么我们为什么要拆分数据呢?我们需要一些方法来确定我们的分类器的性能如何。一种方法是使用相同的数据进行训练和测试。但是,如果我们这样做,我们将无法判断我们的模型是否过度拟合,我们的模型只是记住训练集的特征,而不是学习一些底层表示。取而代之的是,我们保留了一些我们的模型从未见过并且可以对其进行评估的数据进行测试。有时我们甚至将数据分成 3 个部分 - 训练、验证(我们仍在选择模型参数时的测试集)和测试(用于调整模型)。

    测试规模只是我们数据在测试集中的一小部分。如果您将测试大小设置为 1,那么这就是您的整个数据集,并且没有什么可训练的了。

    为什么 85% 有利于准确度?只是一个启发式。假设你正在做一个分类任务,选择最频繁的类会给你至少 50% 的准确率。我们可能会怀疑一个模型是否具有 100% 的准确度,因为人类做得不好,而且您的训练数据可能不是 100% 准确,因此 100% 的准确度可能表明出现了问题,例如过拟合模型。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 2018-06-10
    • 2017-06-21
    • 2019-03-06
    • 2017-05-16
    • 2018-03-09
    • 2020-05-04
    • 2019-08-24
    相关资源
    最近更新 更多