摘要:机器学习模型的优劣取决于它们训练的数据。因此,获得高质量且相关的数据集是机器学习过程中的关键一步。有很多开源仓库,比如 Kaggle,你可以从中下载数据集。你甚至可以购买数据、抓取网站,或独立收集数据。让我们看看机器学习中不同的数据集来源以及如何获取它们。

目录

什么是数据集?

数据集类型

获取机器学习数据集

热门开源/公共数据集

Kaggle 数据集

AWS 数据集

谷歌数据集搜索引擎

UCI机器学习资源库

Microsoft数据集

Scikit-learn 数据集

HuggingFace数据集中心

政府数据集

领域专用数据集平台

计算机视觉:

自然语言处理(NLP):

时序 / 金融数据:

数据抓取

数据采购

自行采集 / 标注数据集

数据采集方法

数据标注

获取高质量数据集的策略

确定你想解决的问题

确定数据集的大小

确保数据相关且准确

数据预处理

 获取数据集的核心注意事项

合法性与合规性

数据集质量评估

数据集划分


什么是数据集?

数据集是以结构化和有组织方式收集的数据集合。它通常用于简化分析、存储或处理、机器学习模型训练等任务。数据集可以存储多种格式,如 CSV、JSON、zip 文件、Excel 等。

数据集类型

数据集通常根据其所包含的信息进行分类。一些常见的数据集类型包括:

  • 表格数据集:它们是结构化的数据集合,按行和列组织,类似于表格。
  • 时间序列数据集:这些数据包括跨时期的数据,例如股票价格分析、气候信息等。
  • 图像数据集:这些数据包括图像,用于图像分类、物体检测和图像分割等计算机视觉任务。
  • 文本数据集:这些信息包括数字、字符和字母表等文本信息。它们被用于自然语言处理技术中,如情感分析和文本分类。

获取机器学习数据集

获取数据集是开发机器学习问题解决方案时非常重要的一步。数据是训练机器学习模型的关键。收集到的数据质量、数量和多样性将极大影响机器学习模型的性能。

获取机器学习数据集的方法或来源各不相同。其中一些列出如下 −

  • 开源数据集
  • 数据抓取
  • 数据采购
  • 数据收集

让我们详细讨论上述机器学习数据集的每个来源——

热门开源/公共数据集

有许多公开的开源数据集可以用来进行机器学习。一些常见的公共数据集来源包括Kaggle、UCI机器学习存储库、谷歌数据集搜索和AWS公共数据集。这些数据集常用于研究,并向公众开放。

一些最受欢迎且有结构化且有价值数据的来源包括 −

  • Kaggle Datasets
  • AWS Datasets
  • Google Dataset Search Engine
  • UCI Machine learning Repository
  • Microsoft Datasets
  • Scikit-learn Dataset
  • HuggingFace Datasets Hub
  • Government Datasets

Kaggle 数据集

Kaggle 是一个受欢迎的数据科学和机器学习在线社区。它托管了超过23,000个公共数据集。它是获取数据集最受青睐的平台,因为它允许用户轻松搜索、下载和发布数据。它提供了高质量的预处理数据集,几乎适用于所有基于用户需求的机器学习模型。

Kaggle还提供包含算法和不同类型预训练模型的笔记本。

AWS 数据集

你可以搜索、下载并分享AWS开放数据注册库中公开可用的数据集。虽然这些数据集通过AWS访问,但由政府机构、企业和研究人员维护和更新。

谷歌数据集搜索引擎

谷歌数据集搜索是谷歌开发的一款工具,允许用户从网络不同来源搜索数据集。它是一个专门为数据集设计的搜索引擎。

UCI机器学习资源库

UCI机器学习存储库是由加州大学欧文分校专门为机器学习开发的一个数据集存储库。它涵盖了来自广泛领域的数百个数据集。你可以找到与时间序列、分类、回归或推荐系统相关的数据集。

Microsoft数据集

Microsoft Research Open Data由Microsoft于1918年推出,提供云端数据仓库。

Scikit-learn 数据集

Scikit-learn 是一个流行的 Python 库,提供一些数据集,比如 Iris 数据集、波士顿住房数据集等,供试错。这些数据集是开放的,可用于学习和实验机器学习模型。

使用 Scikit-learn 数据集的语法 −

from sklearn.datasets import load_iris
iris = load_iris()

在上面的代码片段中,我们把 iris 数据集加载到了 Python 脚本中。

HuggingFace数据集中心

HuggingFace数据集中心提供主要的公共数据集,如图片数据集、音频数据集、文本数据集等。您可以通过以下命令安装“数据集”访问这些数据集——

pip install datasets

你可以用以下简单语法获取任何用于程序的数据集——

from datasets import load_dataset
ds = load_dataset(dataset_name)

例如,你可以使用以下命令加载虹膜数据集 −

from datasets import load_dataset
ds = load_dataset("scikit-learn/iris")

    政府数据集

    每个国家都有一个来源,供公众使用政府相关数据,这些数据来自各部门收集。这些资源的目标是提高政府透明度,并用于富有成效的研究工作。

    以下是一些政府数据集链接——

    领域专用数据集平台

    • 计算机视觉

      • ImageNet:超大规模图像分类数据集,含 1400 万 + 标注图像,是 CNN 模型(如 AlexNet、ResNet)的基准测试集。
      • COCO (Common Objects in Context):用于目标检测、分割、关键点检测,含 33 万 + 图像和 200 万 + 标注对象。
    • 自然语言处理(NLP)

      • GLUE:通用语言理解评估基准,包含 9 个 NLP 任务数据集(如情感分析、文本匹配)。
      • WikiText:基于维基百科的文本数据集,适合语言模型预训练。
    • 时序 / 金融数据

      • Yahoo Finance:提供股票、期货、汇率等金融时序数据,可通过 Python 库(如 yfinance)直接爬取。
      • NASA Meteorological Data:气象、海洋、天文等时序数据集。

    数据抓取

    数据抓取涉及自动从网站或其他来源提取数据。它可以成为获取无法以预包装数据集形式获得的数据的有用方式。然而,确保数据的抓取符合伦理和合法性,且来源可靠准确非常重要。

    数据采购

    在某些情况下,可能需要购买机器学习数据集。许多公司销售针对特定行业或用例量身定制的预包装数据集。在购买数据集之前,评估其质量和对机器学习项目的相关性非常重要。

    对于高价值、高专业性的数据集(如医疗影像、金融风控、精准营销数据),可向专业数据服务商购买,特点是:

    • 数据质量高,标注规范,贴合行业需求;
    • 需签署版权协议,避免法律风险;
    • 常见服务商:DataMarket、慧科数据、镝数聚等。

    自行采集 / 标注数据集

    数据收集涉及从各种来源手动收集数据。这可能耗时且需要精心规划,以确保数据准确且与你的机器学习项目相关。这可能涉及调查、访谈或其他形式的数据收集。

    当公开数据集无法满足业务需求(如特定行业场景、私有数据)时,需要自行采集数据。

    数据采集方法

    • 爬虫爬取:针对网页数据(如电商评论、新闻文本、商品信息),使用 Python 工具库(requestsScrapyBeautifulSoup)爬取;注意遵守网站robots.txt协议和法律法规。
    • 传感器 / 设备采集:工业场景(如设备监控、生产参数)、物联网(IoT)场景,通过传感器、PLC、边缘设备采集时序数据或结构化数据。
    • 用户行为采集:通过 APP、网站埋点(如友盟、神策分析)收集用户点击、浏览、购买等行为数据。

    数据标注

    采集的原始数据(如图像、文本)通常需要标注才能用于监督学习,常见标注方式:

    • 手动标注:小样本场景,使用 Excel、LabelImg(图像标注)、LabelStudio(多类型数据标注)等工具手动标注。
    • 半自动标注:利用预训练模型生成初步标注结果,人工修正(如用 YOLO 模型标注目标检测数据),提升效率。
    • 众包标注:大样本场景,委托众包平台(如百度众包、京东众智)完成标注,适合图像分类、文本标注等简单任务。

    获取高质量数据集的策略

    一旦确定了数据集的来源,确保数据质量良好且与你的机器学习项目相关非常重要。以下是获取高质量数据集的一些策略——

    确定你想解决的问题

    在获取数据集之前,确定你想用机器学习解决的问题非常重要。这将帮助你确定你需要哪种类型的数据以及从哪里获取。

    确定数据集的大小

    数据集的大小取决于你试图解决的问题的复杂程度。通常,数据越多,机器学习模型的表现就越好。然而,重要的是要确保数据集不过大,不包含无关或重复的数据。

    确保数据相关且准确

    确保数据与你要解决的问题相关且准确非常重要。确保数据来源可靠且经过验证。

    数据预处理

    数据预处理包括清理、归一化和转换数据,以为机器学习做好准备。这一步对于确保机器学习模型能够有效理解和利用数据至关重要。

     获取数据集的核心注意事项

    合法性与合规性

    • 遵守《网络安全法》《数据安全法》《个人信息保护法》,不得采集、使用未授权的个人隐私数据(如身份证号、手机号、人脸信息)。
    • 商用数据集需确认版权归属,避免侵权。

    数据集质量评估

            低质量数据会导致模型 “垃圾进,垃圾出”,需重点检查:

    • 完整性:是否存在缺失值、重复值;
    • 一致性:数据格式、单位是否统一(如日期格式、数值单位);
    • 准确性:标注是否正确(如分类标签是否错误);
    • 代表性:数据集是否覆盖业务场景的全部情况(避免样本偏差,如训练集全是男性数据,测试集包含女性数据)。

    数据集划分

    获取数据集后,需划分为训练集(Training Set)验证集(Validation Set)测试集(Test Set),比例通常为 7:1:2 或 8:1:1,目的是:

    • 训练集:用于模型参数学习;
    • 验证集:用于调整模型超参数、防止过拟合;
    • 测试集:用于评估模型的泛化能力(需与训练集无交集)。
    Logo

    魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

    更多推荐