在机器学习中拆分数据

时间:2021-03-03 16:10:09

标签: python dataset

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

附注。我是初学者,请放轻松^^

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

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

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