5 个章节、25 条规范,全方位 Get 数据集选择与创建的「百科全书」

简介: 5 个章节、25 条规范,全方位 Get 数据集选择与创建的「百科全书」

 一个高质量的数据集不仅可以提高模型的准确率和运行效率,还可以节省训练时间和算力资源。

本篇文章中,我们参考 Jan Marcel Kezmann 的文章「The Dos and Don’ts of Dataset Selection for Machine Learning You Have to Be Aware of」,对创建和选择数据集的方式方法进行了详细说明,希望帮助各位数据科学工程师避免陷阱、践行模型训练的最佳实践,一起来看看都有哪些 Tips 吧

阅读英文原文:

https://medium.com/mlearning-ai/the-dos-and-donts-of-dataset-...

目录

  1. 选择数据集的最佳实践
  2. 注意规避的陷阱
  3. 5 个 Tips
  4. 创建数据集的最佳实践
  5. 数据集评估

适用人群:

初学者,数据科学家,机器学习相关从业者

1. 选择数据集的最佳实践

这部分将深入探讨选择公开数据集的最佳实践,需要牢记以下 6 个关键步骤:

1.1 理解问题

理解要解决的问题非常重要,包括确定输入和输出变量、问题类型(分类、回归、聚类等)以及性能指标。

1.2 定义问题

通过指定行业或领域、需要的数据类型(文本、图像、音频等)以及数据集相关的限制条件,从而缩小数据集的范围。

1.3 关注质量

寻找可靠、准确且与问题相关的数据集。检查缺失数据、异常值和不一致性,因为这些问题可能会对模型的性能产生负面影响。

1.4 考虑数据集大小

数据集的大小会影响模型的准确性和泛化能力。较大的数据集虽然有助于提高模型的准确性和稳健性,但也意味着更多的计算资源和更长的训练时间。

1.5 检查Bias

数据集中的 Bias 可能会导致不公平或不准确的预测。要注意与数据收集过程相关的 bias,例如抽样偏差,以及与社会问题相关的偏差,例如性别、种族或社会经济地位。

1.6 寻求多样性

选择不同来源、人群或地点多样化的数据集,有助于帮助模型从各种不同的例子中学习,避免过拟合。

2. 注意规避的陷阱

本部分适用于预定义数据集及自行创建的数据集。

2.1 数据不足

数据不足会导致模型无法捕捉数据中的潜在模式,从而使得性能不佳。如果没有足够的数据,可以考虑借助数据增强或迁移学习等技术,来增强数据集或模型能力。如果标签一致,可以将多个数据集合并成一个。

2.2 不平衡的类别

类别不平衡是指一个类 (class) 的样本数明显多于另一个类,这会导致预测偏差或其他模型错误。为了解决这个问题,建议使用过采样、欠采样或类别加权等技术。增强代表性不足的类也可以减少这个问题。

温馨提示:

不同的机器学习任务,类不平衡问题对模型的影响也不一样,例如在异常检测任务中,类严重不平衡是正常现象;而在标准图像分类问题中,这种情况比较少见。

2.3 异常值 (Outlier)

异常值是与其他数据样本明显不同的数据点,可能会对模型性能产生负面影响。如果数据集中包含太多的异常值,机器学习或深度学习模型通常会难以学习所需的分布。

可以考虑使用诸如 winsorization 之类的技术删除或校正异常值,或者使用均值/中位数插补方法,将样本中出现的所有缺失值替换为均值或中位数。

2.4数据窥探和泄漏

数据窥探 (data snooping) 会导致过拟合和性能降低,为了避免这种情况,应该将数据集分为训练集、验证集和测试集,并只使用训练集来训练模型。

另一方面,用测试集的数据训练模型会引发数据泄漏,从而导致过于乐观的性能估计。为了避免数据泄漏,应该始终保持验证和测试集的隔离,并只使用它们来评估最终模型。

3. 5 个 Tips

  • 借助迁移学习,用预训练模型解决相关问题,对于特定问题,可以使用较小的数据集进行微调。
  • 合并多个数据集以增加数据集的大小和多样性,从而得到更准确和更稳健的模型。需要注意数据兼容性和质量问题。
  • 用众包方式以较低成本快速收集大量标记数据。需要注意质量控制和偏差问题。
  • 留意各种公司和组织的数据 API,以便以代码方式访问其数据。
  • 检查提供标准化数据集及评估指标的可用 benchmark,便于比较针对同一问题不同模型的性能区别。

4. 创建数据集的最佳实践

4.1 定义问题和目标

在收集任何数据之前,明确想要预测的目标变量、想要解决的问题范围以及数据集的预期用途。

明确问题和目标有助于专注收集相关数据,避免在无关或嘈杂的数据上浪费时间和资源,同时有助于理解数据集的假设和局限性。

4.2 收集多样化和具有代表性的数据集

从不同的来源和领域收集数据,可以确保数据集能够代表现实世界的问题。这包括从不同的地点、人口统计学和时间段收集数据,保证数据集不偏向于特定的群体或领域。

此外,要确保数据不含任何混淆变量 (confounding variable),影响假定原因和假定结果的第 3 个未测量变量,会对结果产生影响。

4.3 仔细标注数据

使用明确并且能清晰反映 ground truth 的标签标注数据,通过多位标注人员 (annotator) 或众包方式,减少个人偏见对数据的影响,提高标签的质量和可靠性。建议对数据进行版本控制,以更轻松地跟踪、共享和重现训练和评估过程。

温馨提示:

如果数据集只包含 80% 的正确标签,那么即使是最好的模型,在大多数情况下其准确率也不会超过 80%。

4.4 确保数据的质量和完整性

数据质量是指数据的准确性 (accuracy)、完整性 (completeness) 和一致性 (consistency)。借助数据清洗、异常值检测和缺失值插补等技术,有助于提高数据集质量。此外,还需要确保数据格式易于机器学习算法的理解和处理。

4.5 确保数据隐私和安全

为了保护隐私,需要确保数据的收集和存储都是安全的,任何敏感信息都已被匿名化或加密处理。此外,还可以考虑使用加密技术来保护数据在传输和静态存储时的安全。

温馨提示:

注意验证数据的使用规范,确保其符合法律法规。

5. 数据集评估

检查数据集是否已经充分满足以下 5 个标准:

  • 数据规模:通常来说,数据越多越好。
  • 数据分布:确保数据集是平衡和有代表性的。
  • 数据质量:干净、一致和无误的数据至关重要
  • 数据复杂度:确保数据不过于复杂。
  • 数据相关性: 数据应与问题相关。

以上就是数据集选择与创建指南的完整内容,选择一个合适的数据集是机器学习的关键,希望这份指南可以帮助各位选择或创建优质数据集,训练出准确、稳健的模型!

海量公开数据集在线下载

截至目前,HyperAI超神经官网已上线 1200+ 优质公开数据集,完成近 50 万次下载,贡献 2000+TB 流量,极大降低了海内外优质公开数据集的访问门槛。

—— 完 ——


相关文章
|
4月前
|
机器学习/深度学习 开发框架 数据可视化
我们可以从系统工程的角度来讨论如何优化组织架构,并给出一些可能涉及的Python应用领域的示例。
我们可以从系统工程的角度来讨论如何优化组织架构,并给出一些可能涉及的Python应用领域的示例。
|
6月前
|
数据库
第二章用表组织数据
第二章用表组织数据
|
JSON 运维 项目管理
文档的重要性及接口文档模板
优质的文档不仅能提高工作效率,还能有效降低沟通成本,因此我们必须注重文档的撰写和格式。
388 1
文档的重要性及接口文档模板
|
存储 分布式计算 Hadoop
了解基础讨论数据
了解基础讨论数据
45 0
|
存储 算法 安全
公共医疗数据库汇总:无需实验,高效论文撰写利器
在医学研究领域,获取高质量的数据和文献资源是进行科学论文撰写的关键。随着信息技术的发展,以及公共医疗数据库的不断壮大和完善,研究人员可以轻松地获取大量的医学数据和文献信息,从而提高论文撰写的效率和质量。本文将为您介绍一系列全面的公共医疗数据库,这些数据库不仅为您提供了丰富的医学资源,还无需进行实验,成为高效论文撰写的利器。
1833 1
|
缓存 算法 前端开发
协同文档工作机制简介
随着在线办公的兴起,传统办公套件 Office 的在线化需求也随之增加。钉钉文档作为钉钉核心办公套件之一,上线已经三年,其间持续迭代,已成为一个极其复杂的产品。对前端工程师而言,协同文档是一个较为有挑战的领域,除了传统天坑富文本编辑器外,还引入了协同编辑这一挑战,钉钉文档甚至还支持专业排版能力。 来自钉钉的前端技术专家本杰,就在第十六届D2前端技术论坛进行了分享,本次分享以钉钉文档为例,简述协同文档的工作机制。
720 0
协同文档工作机制简介
|
JSON 算法 JavaScript
02 方法论:没有任何文档,怎么才能快速了解接口的信息?
02 方法论:没有任何文档,怎么才能快速了解接口的信息?
|
数据挖掘
一文速览-数据分析基础以及常规流程
一文速览-数据分析基础以及常规流程
124 0
一文速览-数据分析基础以及常规流程
|
机器学习/深度学习 运维 算法
DataScience&ML:金融科技领域之风控的简介、类别、应用流程(定义目标变量→特征构建思路等)、案例集锦之详细攻略
DataScience&ML:金融科技领域之风控的简介、类别、应用流程(定义目标变量→特征构建思路等)、案例集锦之详细攻略
DataScience&ML:金融科技领域之风控的简介、类别、应用流程(定义目标变量→特征构建思路等)、案例集锦之详细攻略
|
项目管理
【软件工程】CMMI 能力成熟度模型集成 ( CMMI 级别 | CMMI 级别、过程域、目标、实践 | CMMI 评估对象 | 过程域的 阶段式分组 | 过程域的 连续式分组 ) ★
【软件工程】CMMI 能力成熟度模型集成 ( CMMI 级别 | CMMI 级别、过程域、目标、实践 | CMMI 评估对象 | 过程域的 阶段式分组 | 过程域的 连续式分组 ) ★
342 0