0

带你识别AI数据集的各种面孔 (AI 从业万字干货)

 7 months ago
source link: https://www.woshipm.com/pd/5986661.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

带你识别AI数据集的各种面孔 (AI 从业万字干货)

2024-01-31
0 评论 397 浏览 4 收藏 43 分钟

上一篇文章,我们讲了AI神经网络的优化,里面提到要用很多AI数据集才能完成训练。这篇文章,我们就来讲下AI数据集的数个面孔,希望能一次给大家说明白。

9cd97fdc-ec01-11ed-94e0-00163e0b5ff3.jpg

欢迎一起揭秘AI的世界,相信对AI略有了解的朋友已经知道,AI的智能是因为底层是一批又一批的数据在AI大模型的后面支撑运行,成为了基石,造就了AI。

如果读过我前面几篇AI系列文章的朋友,也会知道,AI的神经网络在机器学习中发挥了巨大的作用,而神经网络的训练也是基于数据来完成的。所以,接上篇和大家聊了如何训练神经网络的全过程技术原理后,这次我们来聊聊AI中的基石:数据集。

如果对AI神经网络的训练优化部分感兴趣的朋友,可以看我的这篇文章《(万字干货)如何训练优化“AI神经网络”模型》

由于数据集部分要说的内容比较多,一篇文章上万字已经是大部分人的阅读上限了,但是吧,为了减少文字去压缩内容也非我本意。所以本次,为了说清楚数据集,又不想造成过长的阅读压力,我会将近期写的数据集的内容拆分成多篇文章发布。

本篇文章一万字左右,预计阅读时间:10分钟,若是碎片时间不够,建议先收藏后看,便于找回。

照例,开篇提供文章结构导图,方便大家在阅读前总揽全局,有大致的画面框架。

xLDSHswGoweWWY95OoyH.png

一、什么是AI数据集?

在机器学习领域中,数据集是一组经过组织和整理的数据,是用于AI模型的训练、验证和测试的数据集合,其质量、多样性和数据规模会直接影响着AI模型的性能和泛化能力。

数据集通常包含大量的数据点,每个数据点代表一个样本或实例,还有与其相关的特征和标签。特征是用来描述数据点的变量,而标签则是与数据点相关的输出变量。

例如,在图像识别任务中,数据集可能包括许多带有不同颜色、形状和大小的图片,每张图片的特征可以是像素值,而标签则表示图片中物体的类别。

如果数据集存在错误、偏差或噪声,AI模型在学习过程中可能会产生错误的理解和预测,从而降低其性能。

如果数据集包含的数据点过于相似或者缺乏代表性,AI模型可能会出现过拟合的问题,即在训练数据上表现良好,但在新的、未见过的数据上表现不佳。关于数据拟合问题的讨论,《万字干货)如何训练优化“AI神经网络”模型?》中有更详细的描述,就不在此赘述了。

一般来说,数据集规模越大,AI模型的学习效果越好。这是因为大规模的数据集可以提供更多的信息,帮助AI模型学习到更多的特征和规律。然而,数据集规模的增加也会带来计算资源和时间的挑战。

可见,我们在实际应用中,需要根据任务的特性和需求,选择合适的数据集,并对其进行适当的预处理和增强,这样可以提高AI模型的训练效果和泛化能力。

二、AI数据集长什么样?什么格式?

为了适应不同场景,数据也需要变成合适的模样(也就是格式),便于AI模型可以直接运用。因此,我们常常需要处理各种格式的数据集,也需要对常见的格式有一些了解,知晓其适用的场景,有哪些特点和不足之处,这样我们在面对各种数据集和应用场景时,就能做到“心中有数”。

数据集常见的格式主要有:CSV(逗号分隔值),JSON(JavaScript对象表示法),XML(可扩展标记语言),HDF5(层次数据格式5),Parquet(列式存储),xlsx、xls等格式的Excel文件。

既然知道了有那么多格式,我们就分别根据这些常用的格式进一步展开,先介绍这些格式的基本定义,为了便于大家理解,会举一个简单的例子,还会再说说什么场景下适合用什么数据格式来存储和处理数据,这些格式在实际运用中又会暴露出哪些劣势。

iwXKYrSeXbSvKRlhGZFj.png

1. CSV(逗号分隔值)

这是最常见的一种数据格式,是一种简单的文本格式,每行表示一个样本,每列表示一个特征,各个元素之间用逗号分隔。

以下是一个简单的CSV文件的例子:

VgQMfhNH9CBd2Z2A1Rh7.png

在这个例子中,每一行代表一个数据点(一个人),而每列则表示该数据点的一个特征(姓名、年龄、城市)。逗号用于分隔不同的数据值。

CSV格式的数据文件结构清晰,易于理解和操作。每个数据记录都被逗号分隔开,每一列数据都是独立的,我们可以很容易地通过简单的文本编辑器或者表格软件来查看和编辑数据。

我们在AI数据集的应用中,什么情况下会选择用CSV格式存储或处理数据?

【当数据足够简单又结构化表示时】

当数据集的结构相对简单,又是结构化的形式,每一行表示一个数据点,每一列表示一个特征或属性,用CSV格式就是一个很不错的选择,直观且方便。

【当数据需要被多人共享时】

CSV文件是一种通用的文本格式,易于共享和协作。在多个团队或研究者之间传递数据时,CSV提供了一种简单的、不依赖特定软件的共享方式,很常用。

【当数据需跨平台使用时】

CSV格式具有跨平台的优势,几乎所有的数据处理工具和编程语言都支持CSV文件的读写。项目成员在不同环境和工具中使用数据非常方便。

【当数据集规模比较小时】

对于规模相对较小的数据集,CSV是一个轻量级的选择,性价比高。它不会占用过多磁盘空间,所以非常方便我们传输、存储和处理数据。

【为了方便查看和编辑时】

CSV文件是纯文本文件,可以用文本编辑器轻松查看和编辑,这很方便我们随时查看或编辑数据。

n5kGo0dv7D5rHtx9UoAS.png

我们在AI数据集的实际应用中,也并不是优先就用CSV格式,它也会暴露出一些劣势。

【文件的大小会限制数据的处理能力】

由于CSV文件中的数据是以文本形式存储的,这意味着当数据集非常大时,CSV文件的大小也会相应地增大。这可能会导致内存不足,从而影响数据处理的效率和速度。

此外,对于大型数据集,可能需要将数据分割成多个CSV文件进行处理,这会增加数据管理的复杂性。

【不适用于复杂数据结构】

在实际应用中,我们可能需要处理包含多种类型数据(如数值、文本、日期等)的数据集。然而,CSV格式只能简单地将这些数据以字符串的形式存储在一起,无法清晰地表示数据之间的层次关系和关联性。

可见,CSV只能适用于简单的表格形式的结构化数据。对于包含复杂嵌套结构、多层次关系或大量元数据的数据集,CSV格式不够灵活。

【数据不规范就会出错】

由于CSV文件中的数据是以逗号分隔的,因此如果某个字段中包含了逗号,或者字段的值中包含换行符等特殊字符,那么这个字段的值就会被错误地解析为多个字段。而且这种情况在实际应用中是非常常见的,却很难通过简单的方法来避免或修复。

tHyXc6BohFrhkO7OpOPc.png

在我们了解了CSV格式后,在实际应用时,面对需要处理的一堆数据时,我就可以知道什么时候用CSV格式,什么时候不用。

比如,只是数量较少又简单的用户表,含有用户的姓名、年龄、地址等基础文本信息的话,可以方便地存储在CSV文件中。如果数据集包含时间序列或地理空间信息,数据结构又比较复杂,CSV格式就不合适了。

2. JSON(JavaScript对象表示法)

JSON基于JavaScript的语言标准,是一种轻量级的,用于存储和交换数据的文本格式,支持层次结构和复杂的数据类型,有着优秀的结构化数据表示能力。

在AI数据集中,往往存在复杂的信息层次和多层嵌套的结构,而JSON的树状表达方式非常适合清晰地呈现这些数据之间的关系。

以下是一个简单JSON格式的例子:

L68nTKEesFG9DLBRMvrw.png

在这个JSON中,每个对象表示一个数据点,例如动物。对象包含各种特征(如颜色、大小、栖息地)以及一个标签(表示动物的类别)。这种结构可以很好地表示复杂的数据集。

我们在AI数据集的应用中,什么情况下会选择用JSON格式存储或处理数据?

【当需要多语言、多平台应用时】

JSON具备跨平台兼容性。在多语言、多平台的AI应用中,我们常常需要进行数据交换。JSON格式可以在不同编程语言和操作系统之间实现灵活通用。这种特性在构建跨领域或多模块的AI系统时显得尤为重要。

【在Web应用和API开发中】

由于JSON在JavaScript中的原生支持,以及易于解析和生成的特性,JSON成为了Web服务和应用程序之间进行数据传输的首选格式。

在与Web生态系统集成的场景下,选择JSON有助于确保数据的顺畅交流,为系统的互联互通提供了便捷途径。

【适用于轻量级应用中】

JSON是一种轻量级的数据交换格式,结构相对简单,由键值对构成,易于理解和编写。也因为此特性,JSON在网络传输中占用的带宽相对较小。

如果遇到一些对数据量要求不大的轻量级应用或移动应用,JSON是不错的选择,在这类应用中JSON可以减少数据传输的负担,提高系统的运行效率。

bA2Nt3oK4GJOb91k10Oo.png

有利也有弊,我们在AI数据集的实际应用中,JSON格式自然也会暴露出一些劣势。

【数据冗余】

JSON格式的数据通常包含许多嵌套的结构,这可能导致数据的冗余。例如,如果一个对象的属性是另一个对象的列表,那么这个属性可能会被重复多次,导致数据的冗余,在存储和传输时也会占用更多的空间和带宽。

【解析与生成相对较慢】

由于JSON是一种文本格式,解析时需要进行字符的逐个解析,通常需要消耗更多的计算资源和时间。而二进制格式则可以直接通过字节进行快速解析。因此,JSON的解析和生成相对于二进制格式来说,会更加耗时。

正因为JSON文件不支持直接对数据进行高效的压缩和解压缩操作。相比之下,当需要对大量数据进行快速读写操作时,使用JSON格式并不合适,二进制格式可能会更加高效。

【处理复杂嵌套数据会比较麻烦】

由于JSON文件中的数据是以树形结构组织的,当数据层次较深,存在大量嵌套和重复的信息时,JSON文件可能变得较为臃肿,在读取或写入嵌套数据时需要进行递归操作。这可能会导致性能下降并增加程序的复杂性。

unYwAk6DQy6Rdnygennl.png

BTW,递归是一种编程技巧,它是通过函数自我调用的方式来解决问题的一种方法。基本思想是将一个问题分解为若干个相似的子问题,然后逐个解决这些子问题,最后将这些子问题的解合并得到原问题的解。如果对这方面感兴趣的朋友,可以自行了解。

3. XML(可扩展标记语言)

XML是一种标记语言,用于存储和传输结构化信息,适用于各种数据类型。它的主要特点是允许用户自定义标签,这些标签可以用来描述数据的结构和内容。

以下是一个简单的XML示例,表示一个包含不同信息的数据集:

ql9mzgbZ1s498B9wQbQK.png

在这个例子中, <dataset> 元素包含多个 <sample> 元素,每个 <sample> 元素包含一个标识符 <id> 、文本 <text> 和标签 <label> 。

XML和JSON有一些相似之处,但依旧有其独特的优势。虽然在某些场景下逐渐被JSON取代,但在某些应用中,仍然被广泛使用着。

我们在AI数据集的应用中,什么情况下会选择用XML格式存储或处理数据?

【当数据结构复杂时】

由于XML的树状结构,它能够自然地表达复杂的数据关系,包括嵌套、多层次结构等。因此,XML非常适合表示具有复杂关联的数据,例如文档、配置文件等。

【当数据更新频繁时】

如果一个AI系统需要频繁地更新数据,那么使用XML格式也是一个不错的选择。因为XML文件的读取和写入速度相对较快,这使得我们可以更快地加载新的数据并更新模型。

【当对元数据需求高时】

如果数据集需要携带大量的元数据信息,如数据来源、标签、版本等,XML提供了灵活的方式来嵌入这些元数据,有助于更全面地描述数据。

6wMv4Yc2Hs0EtZtaCeNm.png

BTW,元数据是关于数据的数据,它提供了有关数据的描述性信息,帮助理解、管理和使用实际数据。在XML格式中,元数据通常以标签的形式嵌入到数据中,提供了额外的信息。

假设有一个图书馆数据库,用于管理图书信息。每本书都有详细的元数据,这些元数据可以使用XML格式进行表示。

5VmyP2Cq8LeTvN7KyxH7.png

在上述XML示例中,每个 <book> 元素表示一本书,而 <title> 、 <author> 等标签包含了有关该书的元数据。例如, <genre> 提供了关于书籍类型的信息, <publicationYear> 提供了关于出版年份的信息,而 <location> 元素包含了书籍在图书馆的位置信息。

通过这个小例子,可以看出通过使用XML格式,可以将这些元数据结构化地组织在一起,不仅易于理解和处理,也有助于图书馆管理系统更有效地跟踪图书信息,提供查询服务,以及管理库存。

我们在AI数据集的实际应用中,XML格式也因为自身的一些劣势(如下),自然也有不适用的地方。

【占用更多存储空间】

XML文件的结构相对冗余,包含了大量标签和元素,这些都会增加文件的大小,同时增加存储和传输的负担。尤其是在处理大规模数据时,这种情况可能成为性能瓶颈。

【解析复杂】

XML文件的解析相对复杂,需要使用专门的解析器。与其他格式相比,解析XML文件需要更多的计算资源和时间。这会导致在处理大型XML文件时,解析和处理速度相对较慢。

【标记过多】

成也标记,败也标记。XML因为使用了大量的标记符号(如尖括号和斜杠)来定义元素和属性。如果标签嵌套层次太深或标签使用过于频繁,可能会导致文件结构混乱,难以维护。

【不适合简单数据结构】

俗话说,什么马配什么鞍。对于简单的数据结构,使用XML格式可能显得过于繁重。例如,如果只需表示键值对或简单的层次结构,XML的结构则显得过于繁琐,选择更轻巧的格式可能更加合适。

jOCGTXmHXd1zwCWx0zfU.png

总体而言,我们在实际应用中,需要根据具体需求,综合考虑XML的优势和劣势,以及与其他格式的比较,选择最适合的数据格式。

4. HDF5(层次数据格式5)

HDF5(Hierarchical Data Format 5)是一种用于存储和组织大规模数据的文件格式。从“层次数据格式”这个名字中我们可以知道,HDF5支持层次化的数据结构,这意味着数据可以按照层次关系进行组织,就像文件夹和文件的结构一样。这种层次化的结构让存储和检索复杂的数据变得更加灵活和高效。

HDF5的设计目标是支持各种类型和复杂性的数据,它支持多种数据类型,包括数值、字符、图像和音频等,适用于科学、工程等领域的数据管理和分析。

在AI机器学习中,特别是在深度学习和大规模数据处理方面,研究人员和工程师经常使用HDF5格式来存储和交换数据,例如神经网络的权重、训练样本等。

HDF5格式可以包含多个组(Group)和数据集(Dataset)。每个数据集都可以包含多维数组以及与之相关的元数据。以下是一个HDF5格式的文件示例:

vjmtYTY00WcEpFlwvXL7.png

在这个例子中,我们用HDF5格式存储实验室测得的温度和湿度数据。 Weather_Data 是整个数据集的名称,包含了多个实验组( Experiment_1 , Experiment_2 等)。每个实验组中都有温度( Temperature )和湿度( Humidity )两个数据集,它们分别包含相应的测量数据。

HDF5格式这种层次化的组织方式可以让权重信息清晰地保存和读取,也适用于存储和管理复杂、大规模的科学数据,比如气象学、地球科学等领域的数据。

我们在AI数据集的应用中,什么情况下会选择用HDF5格式存储或处理数据?

【当处理大规模数据集时】

对于深度学习中包含庞大权重和特征的模型,HDF5格式就有了发挥之地。HDF5有压缩和分块存储的特性,可以高效地压缩、存储和检索大量数据,能够有效应对深度学习模型中产生的海量数据。

【当数据结构复杂时】

当数据集具有复杂的层次结构或包含多个数据类型时,用HDF5格式比较合适。它支持多层次的数据组织,允许在同一文件中存储各种数据类型,包括标量、数组和复合数据类型。对于在传感器网络、科学实验结果等场合中,涉及多层次信息的数据存储和处理非常重要。

【有元数据管理需求时】

元数据对于数据集的理解和解释至关重要。HDF5格式提供了高度灵活的元数据管理机制,允许我们附加详细的描述性信息,对数据进行标注和注释。正因为如此,数据集更具可读性,更易于共享和协作,对于科研领域的数据集尤为有益。

81Kb8SCCB7LakW08exQq.png

在知道了适用场景之后,我们也同样需要知道,在AI数据集的实际应用中,HDF5格式会暴露出哪些劣势?

【学习成本高相对较高】

虽然HDF5格式在灵活性和性能方面迪欧不错,但与CSV或JSON等文本格式相比,HDF5文件的结构和使用方式可能对新手不够友好,需要一定的时间来适应。这可能对一些小型项目或初学者构成一定的障碍。

【不适用于简单结构和小规模数据】

HDF5格式的优势在于处理大规模和复杂结构的数据,但对于简单结构和小规模数据,它可能就“大材小用”了,或者说性价比不高。使用HDF5格式存储小规模数据会显得繁琐,而且文件大小相对较大,不如其他轻量级格式直观。

【不适用于文本数据】

HDF5格式主要用于存储数值型和结构化的数据,对于文本数据的支持相对较弱。在一些需要纯文本存储和处理的场景下,像CSV这样的格式可能更为简单和实用。

63t34cX6aVAb0L8Fsq7W.png

我们通过二元对立的角度来看,HDF5格式在处理大规模、复杂数据集上有优势,但在学习成本,数据类型兼容等方面也存在不足,我们在选择格式时需权衡利弊,根据具体需求和应用场景做出合适的选择。

5. Parquet(列式存储)

Parquet是一种开放源代码的列式存储格式,旨在提供高效的数据压缩和快速扫描性能。它最初由Apache软件基金会开发,支持多种编程语言的读写。

它具有良好的压缩性能和高效的查询性能,适用于大数据分析和机器学习。目前广泛应用于大数据领域,特别是在Apache Hadoop生态系统中。

假设我们有一个包含用户信息的数据集,使用Parquet格式进行存储可能如下所示:

SCKgtn7BH0l5aSmY5i1u.png

在这个例子中,我们为每个用户提供了姓名、年龄、电子邮件的信息。这种结构充分展示了Parquet格式的列式存储特性,有助于在处理大规模数据集时提高存储和查询效率。

我们在AI数据集的应用中,什么情况下会选择用Parquet格式存储或处理数据?

【当数据类型和关系复杂时】

Parquet支持多种数据类型,包括数值、日期、时间戳等,所以它非常适合处理复杂的AI数据集。此外,Parquet还支持嵌套的数据结构,如数组和字典,这个特点有助于它可以轻松地表示复杂的数据关系。

【需要处理大规模的数据时】

Parquet有高效的查询性能。在AI数据集中,经常需要处理大规模的数据,Parquet格式的列式存储特点,在查询和分析特定列的数据时更加高效。AI应用常常需要频繁读取、筛选或聚合大量数据,用Parquet格式是很好的选择。

又加上Parquet有良好的压缩性能。Parquet的压缩算法,可以减小存储空间。在AI领域,数据集通常庞大,对存储空间的有效利用至关重要。使用Parquet格式可以降低存储成本,提高数据集的可扩展性。

【处理时间变化的数据模式时】

Parquet支持嵌套数据结构和模式演化。在AI研究中,数据集的结构和字段可能会随项目进展而演化,而Parquet非常灵活,它可以轻松地处理复杂的数据类型和随时间变化的数据模式。

cv10937m3QAVMPk1oq2S.png

与此同时,我们在AI数据集的实际应用中,也需知晓Parquet格式会暴露出哪些劣势?

【不适合频繁追加数据】

Parquet就像一位单一专长厉害到天花板的歌手,让它唱美声可以到达一流,但是唱流行歌曲可能就一般般了。由此可见,Parquet格式适用于分析性质的工作负载,如数据分析和查询。但在一些需要频繁修改和追加数据的场景下,Parquet可能并不是最佳选择。

【不适合小规模数据】

我们在实际应用中,也需要追求使用效益的性价比。对于小规模数据集,Parquet格式可能会显得过于复杂,而且对存储和处理的优势不如在大规模数据集中明显。我们在做AI项目时,如果是在一些小型项目或快速原型开发中,选择其他更简单的格式可能更为合适。

【可读性较差,学习成本高】

Parquet文件以二进制格式存储,因此可读性较差,不如一些文本格式(如CSV)那样直观。这倒是和HDF5格式有了同样的问题了。可读性差也带来了学习成本的提高,对于初次接触Parquet的团队成员,可能需要额外的培训,更多的时间来了解其工作原理、优化技巧以及实操练习。

OeKAeoUMWeL8f4xdRprk.png

6.xlsx、xls等格式的Excel文件

最后,还是想说一下以xlsx、xls等格式为代表的Excel文件。对于xlsx或xls格式,相信大家都不陌生,我们常常在Excel中遇见这样的格式。

想说一下Excel的原因也很简单,因为它太常见了,常见到我们常常忽略了Excel本身并不属于任何一种数据格式,它其实是一种软件。它可以辅助我们录入数据、处理数据、完成数据分析和数据可视化等。

同时,Excel文件可支持的格式太多了,如果都说就偏离了本文的重心。我就以最常用的xlsx、xls这两个格式为例,来说一下我们在AI数据集的场景中,会如何运用它。

我们将数据以xlsx格式存储在Excel表格中,每个工作表可以包含一个或多个单元格,用于存储数据、公式、文本等。每一行或者每个单元格可以包含一个数据点,适用于结构化数据。

以下是一个简单的Excel表格中xlsx的示例,表示一个包含文本和标签的数据集:

Mc0bhKqfXrfgEo3mNzIe.png

在这个例子中,每一行代表一个数据点(一个文本例子),而每列则表示该数据点的一个特征(positive、negative、neutral)。每个单元格中的数据都按行和列组织,这是Excel表格的典型结构。这种结构化的表格形式非常适合表示和处理数据。

我们在AI数据集的应用中,什么情况下会选择用Excel文件存储xlsx、xls这类格式的数据?

【当数据小规模、结构化时】

在处理小规模、结构化的数据时,Excel的表格格式适合整齐排列的数据,我们可以快速了解数据的结构和内容,也能够快速进行基本的数据操作和分析,并通过Excel将数据存储为xlsx、xls这类格式。

【当数据有多种简单类型时】

Excel支持多种简单的数据类型,包括文本、数字、日期和时间等。如果我们需要将不同类型的数据存储在同一个工作表中,同时还需要对数据进行简单的整合和分析,用Excel是很好的选择。

【需要一些公式计算来处理数据时】

Excel支持各种复杂的数学和统计函数,当我们使用数据集时,如果需要对数据进行处理和计算,可以在Excel中执行操作,而无需编写复杂的代码。

q2yvQqXMnMTMoTUvLHIO.png

虽然Excel非常强大,我们几乎离不开它,但在AI数据集的实际应用中,用Excel文件存储xlsx、xls这类格式的数据会依旧存在一些劣势。

【容量大小限制】

Excel的最大行数为1048576行,这意味着当数据集的大小超过这个限制时,Excel将无法正常工作。

一般情况下,Excel文件的大小上限为100MB/200MB左右,这限制了可以存储在单个Excel文件中的数据量。随着数据集的增长,可能需要将数据分散到多个Excel文件中,这将导致数据管理和维护变得复杂和低效。

所以,对于大规模的数据集,特别是深度学习等需要大量数据的任务,Excel可能无法满足需求。

【不支持复杂数据类型】

复杂数据类型通常指的是那些无法通过简单的数值或文本表示的数据,例如图像、音频或视频等。Excel在面对这类数据时,就会明显暴露其局限性。

【不适合多模态数据】

多模态数据是指同时包含两种或更多种形式的数据的数据。这类数据可能是一个产品描述,它包含文本描述(如产品的功能和规格),以及图像信息(如产品的外观和颜色)。

在这种情况下,我们需要同时考虑和处理文本和图像信息,以便更好地理解和分析数据。这时,通过Excel就无法对数据进行有效处理。

因此,当数据集涉及多种类型的数据时,我们通常需要寻找更灵活的存储和处理方式。例如,我们可以使用数据库或者专门的数据处理软件来存储和处理多模态数据。

GBLmGj3D8OmJS53wfiXi.png

7. 不止这些

当然,AI数据集中的格式远远不止以上列举的这些,还有很多在专业领域派上用场的数据格式,比如TFRecord、Avro、Feather、DICOM等。

我们知道,在AI项目中,数据是推动模型训练和性能提升的核心。选择合适的数据格式对于不同类型的AI项目至关重要。所以我们对图像,文本,音频,视频,时间序列甚至是传感器等等各类数据,都需要找到匹配的数据格式。

在大规模数据集和实时应用中,匹配的数据格式能够提高数据处理的效率和速度。一些数据格式在存储和读取时更为高效,可以减少数据预处理的时间,加速模型的训练和推理过程,提高整体效果。

考虑到AI项目中的数据大小和存储成本,以及不同的数据格式对存储空间的需求不同。比如有些格式具有高度的压缩性,适合大规模数据集的存储,而有些则不需要。所以,我们在考虑存储成本和资源限制时,选择匹配的数据格式可以降低整体成本。

为了更好地训练监督学习模型,选择匹配的数据格式也有助于更好地处理数据标注和标签。一些格式支持多种数据类型的同时保持标签信息,也可以让数据集的标签管理更为方便。

总而言之,考虑到AI项目的特定需求、模型结构、数据处理效率、存储成本等多方面因素,我们提前选择好合适的数据格式有助于提高AI模型性能、降低成本,并简化整个工作流程。这样做起来好处多多,我们何乐不为呢。

MGpgtT5G44eMCk6hQiiz.png

三、推荐几个人工智能数据集

人工智能早已成为各行各业最受关注的“网红”。好像凡事不和AI有关,就仿佛被时代淘汰了。然而实际情况是,大多数AI项目由于种种原因无法实现成功部署。这其中一个重要因素就是数据质量低或数据不足。

数据集对机器学习模型的性能日益重要,现在有许多站点都托管数据存储库,涵盖主题广泛,应有尽有。无论机器学习项目是什么,都可以找到相关的数据集。

但是,我们在寻找合适的数据集时,需要先问自己两个问题:

1.我想用AI项目达成什么目标?2.我需要数据涵盖哪些情景?然后,带着答案去有目的地寻找。

如果想清楚了,就去网上看看有没有你想要的公开数据集。以下就是推荐的几个常见的公开数据集平台

1. Kaggle

网址:https://www.kaggle.com/datasets

介绍:Kaggle 提供了一个庞大的数据集仓库,包括各种领域的数据,涵盖了自然语言处理、计算机视觉、医学、金融等多个领域。

kq55WOLwOwxGIr79qe6Q.png

2. UCI机器学习数据集库

网址:https://archive.ics.uci.edu/

介绍:UCI机器学习数据库被世界各地的学生、教育工作者和研究人员广泛使用。它包含了多种类型的数据集,涵盖了分类、回归、聚类、关联规则挖掘等不同任务的数据。这些数据集来自多个领域,包括医学、金融、社会科学等。

J9IIpXN3AyKvNkrKcyjm.png

3. Google Dataset Search

网址:https://datasetsearch.research.google.com/

介绍:“Google数据集搜索”是一个数据集搜索引擎。用户只需搜索关键字,就能在网络上发现托管在数千个存储区中的数据集。目前已对近 2500 万个数据集建立了索引,几乎能找到你想找到的任何数据集。

FP1b5kOR8LD71UouelC3.png

4. AWS数据库

网址:https://registry.opendata.aws/

介绍:AWS(亚马逊)公共数据库里面存储了AWS收集的数据集,有来自各行业领先数据提供商的3000种现有数据产品。

wA9a3QBTE3SxHmgV0jUH.png

5. 阿里云天池数据集

网址:https://tianchi.aliyun.com/dataset/

介绍:天池数据集是阿里集团对外开放的科研数据平台,覆盖了电商、娱乐、物流、医疗健康、交通、工业、自然科学、能源等十多个行业,涵盖了数据挖掘、机器学习、计算机视觉、自然语言处理、决策智能等经典的人工智能技术领域。

zVNKidcrJgj9y91PX7Aj.png

四、新篇预告

以上,就是关于AI数据集的首篇内容了,介绍了AI数据集是什么,这些数据集常用什么样的格式来存储和处理数据,当我们需要数据来做AI项目时,有哪些公开的数据集平台可供参考。

AI的世界很大,在门外时会觉得神秘,刚入门时又会觉得陌生,日渐相处之后又会发现如此有趣,AI数据集的内容我们还没说完,后面的篇章我们会围绕“训练集,验证集,测试集”的话题展开,继续说说AI数据集。

如果觉得有所收获,欢迎关注我,我们在AI路上携手同行。

作者:果酿,公众号:果酿产品说

本文由 @果酿 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自 Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK