python - 在机器学习中拆分数据
问题描述
在机器学习中,为什么我们需要拆分数据?为什么我们将测试大小设置为 0.3 或 0.2(通常)?我们可以将大小设置为 1 吗?还有为什么 85% 被认为对准确性有好处?
PS。我是初学者请放轻松^^
解决方案
那么我们为什么要拆分数据呢?我们需要一些方法来确定我们的分类器的性能如何。一种方法是使用相同的数据进行训练和测试。但是,如果我们这样做,我们将无法判断我们的模型是否过度拟合,我们的模型只是记住了训练集的特征,而不是学习一些底层表示。取而代之的是,我们保留了一些我们的模型从未见过并且可以对其进行评估的数据进行测试。有时我们甚至将数据分成 3 个部分 - 训练、验证(我们仍在选择模型参数时的测试集)和测试(用于调整模型)。
测试规模只是我们在测试集中的数据的一小部分。如果您将测试大小设置为 1,那么这就是您的整个数据集,并且没有什么可训练的了。
为什么 85% 对准确率有好处?只是一个启发式。假设你正在做一个分类任务,选择最频繁的类会给你至少 50% 的准确率。我们可能会怀疑一个模型是否具有 100% 的准确度,因为人类做得不好,而且您的训练数据可能不是 100% 准确,因此 100% 的准确度可能表明出现了问题,例如过拟合模型。
推荐阅读
- python - 如何在使用 Azure 认知语音翻译 API 时使用 python sdk 识别说话者?
- python - 错误属性错误:“列表”对象没有属性“发送键”
- sql - Azure DB 上的简单 SQL 更新性能不佳
- arrays - `.=` 什么时候比 `=` 更有效?
- http - 使用 wrk 对 nginx 反向代理进行负载测试时如何找出大量非 2xx 或 3xx 响应背后的错误
- firebase - 是否有任何关于开发用户聊天消息屏幕的教程/链接,类似于 AirBnB 或 Instagram 等应用程序?
- python - 从 xml 到封面要求列表
- javascript - Node.js - Discord.js - 尝试在嵌套地图中导航。- UnhandledPromiseRejectionWarning
- product - 如何在产品编辑页面(管理员)Prestashop 中创建自定义字段
- java - 递归函数的 JUnit 测试(创建文件并比较大小)