许多数据集将数据存储在表(网格)中,例如, 逗号分隔值 (CSV),或者直接从电子表格或 数据库表。表是机器的直观输入格式 学习模型。 您可以将表格中的每一行想象成一个 将每列视为一个潜在的特征或标签。 也就是说,数据集也可以从其他格式衍生而来,包括 日志文件和协议缓冲区。
无论采用哪种格式,机器学习模型的性能都只取决于 训练数据。本部分将介绍关键数据特征。
数据类型
数据集可能包含多种数据类型, 不限于:
上述数据类型可以进一步细分。 本课程的后续单元 - 例如,“分类” 数据模块 - 详情 并对这些数据类型进一步分类。
数据数量
一般来说,您的模型应至少使用一个订单来训练, 数量级(或 2 个)的样本。不过, 通常,模型训练的样本数量通常远远超过这一数量。
利用大型数据集训练的模型, 功能 通常优于基于小型数据集训练的模型, 很多功能。 以前,Google 曾在 Google Cloud 上 大型数据集。
不同机器学习程序的不同数据集可能需要很大 不同数量的示例来构建有用模型。对于一些相对来说 几个简单的问题,添加几个示例可能就足够了。对于其他问题 10 万亿个样本可能不够。
如果您调整语言, 一个已经基于大量数据进行训练的现有模型, 架构相同
数据质量和可靠性
每个人都喜欢高质量而不是低质量,但质量非常模糊 这个概念可以用多种不同的方式进行定义。本课程定义了 质量:
高质量的数据集有助于您的模型实现其目标。 数据集质量不佳会妨碍模型实现目标。
高质量的数据集通常也很可靠。 可靠性是指您的数据值得信赖的程度。 基于可靠数据集训练的模型更有可能产生实用信息 与使用不可靠数据训练的模型相比,更易预测。
在衡量可靠性时,您必须确定:
- 标签错误有多常见?例如,如果您的数据 您的人工审核者出错的频率如何?
- 您的特征是否嘈杂?也就是说,将特征中的值 包含错误?实事求是 - 您不能完全清除数据集 所有噪声。有些噪声属于正常现象;例如,任何物体的 GPS 测量数据, 每周都会有小幅波动。
- 数据是否针对您的问题进行了适当的过滤?例如: 您的数据集应包含来自聊天机器人的搜索查询吗?如果您 构建垃圾邮件检测系统,那么可能答案是肯定的。 不过,如果您想要为用户改进搜索结果,就不能这样。
以下是导致数据集中的数据不可靠的常见原因:
- 省略的值。例如,用户忘记为 房龄。
- 重复样本。例如,服务器错误地上传了 两次。
- 错误的特征值。例如,有人输入了额外的数字,或 温度计被落在阳光下
- 标签有误。例如,某人错误地为某张 就像枫树一样的橡树。
- 数据错误部分。例如,某个特征非常可靠, 只不过有一天网络总是崩溃
我们建议使用自动化功能来标记不可靠的数据。例如: 定义或依赖于外部正式数据架构的单元测试 指定范围内的标记值。
完整示例与不完整示例
在理想情况下,每个样本都是完整的;也就是说,每个样本 每个特征的值。
遗憾的是,现实世界中的示例往往是不完整的, 缺少一个特征值。
请勿根据不完整的示例训练模型。修正或消除 执行以下任一操作,从而创建不完整的样本:
- 删除不完整的示例。
- Impute缺失值; 也就是说,将不完整的样本转换为完整的样本,提供 对缺失值的合理猜测。
如果数据集包含足够完整示例来训练有用模型, 然后考虑删除不完整的样本。 同样,如果只有一个特征缺少大量数据, 一个特征可能对模型没有太大帮助,则考虑删除 从模型输入中选择该特征,并观察当前模型在训练中 移除。如果模型在不使用它时也可以正常运行,或几乎没有它,那就太棒了。 反之,如果您没有足够完整样本来训练有用的模型, 那么您可以考虑输入缺失值。
可以删除无用或多余的样本,但不要删除 重要示例。但遗憾的是,我们很难 无用和有用示例之间的界限。如果您无法确定 则可以考虑构建两个数据集:一个通过删除 另一个则以输入的方式进行。 然后,确定哪个数据集可以训练更好的模型。
<ph type="x-smartling-placeholder">
一种常见的算法是用平均值或中位数作为估算值。 因此,当您用 Z-scores,则 估算值通常为 0(因为 0 通常是平均 Z 分数)。
练习:检查您的理解情况
以下是按 Timestamp
排序的数据集的两列。
时间戳 | 温度 |
---|---|
2023 年 6 月 8 日 09:00 | 12 |
2023 年 6 月 8 日 10:00 | 18 |
2023 年 6 月 8 日 11:00 | 缺失 |
2023 年 6 月 8 日 12:00 | 24 |
2023 年 6 月 8 日 13:00 | 38 |
下面哪一项是应估计的合理值 Temperature(温度)的缺失值?