如何很容易地将数据共享为Kaggle数据集

本文由斯坦福大学研究计算和斯坦福医学院的研究软件工程师VanessaSochat撰写。

我们都知道,数据共享是一件很难的事,但在发现与奖励方面具有很大的潜力。一个典型的“共享操作”可能看起来像是在移动硬盘上传递信息,将压缩档案放在某个大学或云服务器上,或批量存储在一个安全的大学集群中。这是最佳方法吗?这是容易的事吗?要回答这些问题,首先考虑一下数据采集的可能经历的旅程。它看起来像下面这样:

因为数据的生成更像是一个流,这一过程流经常是周期性的,数据从步骤1到步骤6的过程中停止的唯一原因就是我们决定停止收集。在最理想的情况下,我们希望将这些步骤完全自动化。第1步我们可能是在MRI扫描仪上生成图像,第2步可能是用自动化脚本将初始文件格式转化为研究人员所需的格式,第3步移动到专用集群存储,第4步用于研究组进行使用,第5步和第6步(如果两步全部发生)是额外的工作,进行再次处理并将数据传输到共享位置。

▌动态数据

一个自动生成和共享数据集的简单管道又是怎么样的可能像下面这样:

第4步到第6步仍然会发生(研究人员正在做分析),但不是有一组人渴望得到这些数据,而是为了有成千上万的人可以使用它们。不同的是我们在步骤3中添加了一个助手,即持续集成,用以简化处理和共享数据的过程。我们通常认为持续集成(CI)用于测试或部署,但它也可能是数据共享的有用工具。因此我们把这个概念叫做"连续数据"。一旦数据被处理并传输到研究组的存储中,它也可能具有这个连续的数据步骤,将其打包以便共享。

▌KaggleAPI

虽然一个更大的、机构层面的努力是理想的,但与此同时,我们也可以利用开源,免费使用Kaggle这样的资源。我认为Kaggle有可能做Github在早期科学重现性方面所做的事情。如果共享数据集既简单又有趣,有潜在的回报,Kaggle将会对规模化的发现和协作产生影响。但我们需要一个开始!我决定从显示我可以使用的KaggleAPI来上传数据集开始。它在Web界面中很容易实现,利用命令行也很容易实现。简单来说,我们需要的只是一个包含数据文件和元数据(json文件)的目录,我们可以将API客户端指向该目录。例如,这是我上传的一个数据集:

datapackage.json描述正在上传的内容

▌Tools

在这里我创建了一个Docker容器,提供了一个之前与KaggleAPI交互并生成一些数据集的简短的示例。我在这里介绍一下脚本的基本逻辑。Kaggle命令行客户端在很多任务上都做得很好,但是作为一名开发人员,我希望更多地控制元数据规范和文件的创建。我还希望对它进行Dockerized,这样我就可以执行一个与主机隔离的创建操作。

▌创建容器

此映像提供在DockerHub上,你也可以自己构建:

我没有将创建脚本公开为入口点,因为我希望这是一个“shell到容器中,并了解发生了什么”的交互,你可以这样做:

▌创建数据集

create_dataset.py脚本位于工作目录中,此方法接收您希望生成数据集的参数。你可以不带参数运行该脚本来查看细节:

然后我想把它们上传到一个叫做vanessa/code-images.命令行如下:

上述涉及的参数说明如下:

关键字:以逗号分隔的关键字列表(无空格!)

文件:要上传的数据文件的完整路径

标题:数据集标题(有空格需要加上引号)

命名:数据集本身的名称(不能包含空格或特殊字符以及引号)

用户名:你的kaggle用户名,或数据集所属组织的名称

接下来将会生成一个包含数据包的临时目录:

然后将文件添加到其中,例如,这是我的临时文件夹的结果:

机构需要优先考虑数据,并帮助研究人员管理自己的数据。研究者应该能够得到支持来管理他们的数据,然后让它以编程的方式访问。这必须超越传统库提供的“归档”,深入研究api、通知、部署或分析触发器。虽然我们没有这些生产系统,但一切都是从简单的解决方案开始的,以便轻松创建和共享数据集。我的设想是,在进行计算的地方(我们的研究计算集群)和数据存储的地方(以及通过上载或API自动共享的地方)之间建立牢固的关系。类似这样:

通知的范围可以从任何地方发出:

(1)进入一个提要以告诉另一研究人员新数据;

(2)触发CI作业从存储重新上载到共享位置;

(3)触发某个容器的新版本的构建和部署,该容器将数据作为依赖项

▌WhatWeNeed:数据工程师&协作平台

一个机构需要分配资源和人员来帮助研究人员提供数据。我相信,在未来,研究人员可以通过协作平台,通过其他研究人员提供的数据源,共同合作进行研究。

更多内容可访问原文链接

通过上面的介绍,大家肯定已经感受到收集数据集这项工作的艰难和重要意义。而作为学习者,Kaggle,一个神一般的资源,面对成千上万并每天都会更新添加的数据,我们又该如何找到数据集呢?接下来大为家介绍一些技巧和窍门,希望可以帮助大家更好的学习并利用Kaggle,找到对自己有用处,感兴趣的数据集。

原文链接:

▌从数据集页面搜索

点击Kaggle页面顶部显示的“数据集”标签,即可进入数据集页面

▌数据集搜索

当您在数据集页面中使用搜索栏时,与使用页面顶部的搜索栏不同,您将获得包含所有搜索结果的新页面

▌搜索提示

Kaggle的搜索支持一些额外的搜索语法。这意味着您可以使用以下修改来更准确地进行搜索。

“”:将搜索文本放在双引号(“”)中将搜索引号中的确切短语。“巧克力蛋糕”将返回关于巧克力蛋糕的结果,但不包括巧克力棒或红色天鹅绒蛋糕。

+:在两个单词之间加上一个(+),中间没有空格,将返回具有第一个词和第二个词的搜索结果。“巧克力+蛋糕”将返回巧克力和蛋糕的结果,但它们不必一起同时出现。

|:在两个单词之间放置一个(|)将返回结果中包含第一项或第二项。“蛋糕|巧克力”将返回关于蛋糕或巧克力的结果。

*:如果您要查找多种拼写的内容,可以使用星号(*)表示“此处有任何字符”。“choc*”将返回以“choc”开头的结果,如“choclate”,“chocked”或“chockablock”。

-:将减号(-)放在单词前面会返回不包含该单词的结果。“蛋糕-巧克力”将返回不包含“巧克力”一词的蛋糕的结果。

▌在搜索结果中找到特定内容

如果您的搜索有很多结果,在搜索结果页面中使用浏览器的“在页面查找”功能返回有时会有所帮助。

▌排序结果

还可以用不同的方式对搜索结果进行排序:

投票数最多:根据他们收到的最高票数排序。

▌特色VS.所有数据集

▌数据集标签

另一种查找数据集的方法是使用标签(一个相对较新的功能)。您可以通过两种方式搜索特定标签。首先是通过点击数据集列表中的标签或数据集页面上的标签。这将返回具有匹配标签的数据集列表。第二个是在搜索框中搜索标签。您可以通过添加“tag”来完成此操作,然后在单引号中添加标签的名称。如果标签中有空格,请包含它们。

数量众多的标签涵盖了数据发布者用于使数据更容易被发现的各种主题。目前,用户无法添加自己的单独标签。建议点击标签以了解更多有关标签的信息,而不是使用文本搜索并试图猜测某个标签是否存在。

▌页面顶部搜索栏进行搜索

当知道某些数据集已经存在,可以在Kaggle网页顶部的搜索栏进行搜索,这是一个方便的捷径,但对于深入搜索,个人偏好还是喜欢在数据集页面内进行搜索

在右侧,可以看到当搜索“巧克力“时,在数据集的最佳结果都是数据集。

在左边,可以看到,当搜索“巧克力”时,显示结果依次是:数据集,内核和用户。

以上是关于Kaggle数据集的搜索Tips,如果此时您需要使用特定类型的数据,可以上传您的数据,也为这项艰难伟大的工程贡献一份力量。

THE END
1.kaggle数据集下载yuanzhoulvpikaggle数据集下载 现在做数据科学工作的,大部分都曾经在kaggle上下载过数据集。但是最近kaggle好像搞了个API接口。这样很方便下载数据集。接下来,我将分享给大家: 第一步:安装kaggle这个库,这个库是python的库,大家可以像安装python一样安装kaggle。 第二步:到自己的kaggle的账户上下载kaggle.json文件。打开My Account...https://www.cnblogs.com/yuanzhoulvpi/p/8612893.html
2.kaggle下载数据资源| 各领域公开数据集下载 本文整理了一些网上的免费数据集,分类下载地址如下,希望能节约大家找数据的时间。本篇文章来自知乎专栏赵熙的文章《各领... Jake_张江阅读 10,900评论 0赞 20 [Kaggle] 数据建模分析与竞赛平台介绍 前段时间在学习MXnet提供的样例的时候接触了一下Kaggle的两届NDSB比赛,于是就稍微调研了...https://www.jianshu.com/p/b95c8da4dca4
3.基于Kaggle心脏病数据集的数据分析和分类预测基于Kaggle?脏病数据集的数据分析和分类预测-StatisticalLearning统。。。 基于Kaggle?脏病数据集的数据分析和分类预测-StatisticalLearning统计学习实验报告 ?、实验准备 本数据来源于 aggle,包含14个维度,303个样本,具体的变量说明如下表所?。 变变量量名名 详详细细说说明明 取取值值范范围围 target 是否...https://max.book118.com/html/2023/0922/8143045036005134.shtm
1.如何在kaggle上面快速下载数据?训练好的kaggle的output怎么下载现在做数据科学工作的,大部分都曾在kaggle上下载过数据集,但是最近kaggle好像搞了个API接口,这样很方便下载数据集,具体步骤如下(参考kaggle数据集下载:https://www.cnblogs.com/yuanzhoulvpi/p/8612893.html),并以具体例子说明: 假设我们现在需要下载kaggle上面的一个图像数据集plant-seedings-classification,首先需要...https://blog.csdn.net/zichen_ziqi/article/details/80172295
2.Kaggle最受欢迎的10个竞赛数据集腾讯云开发者社区1机器学习是万能的吗?AI落地有哪些先决条件?如果你刚接触ML,或者对ML觉得很神秘,请先看下这篇文章。 2如何做才能真正提升计算速度?硬件再牛,也难以招架业务场景中产生的数据,提高算法性能和计算速度是永远的话题。 最近有人问有没有相关数据集,这几天抽时间整理了以下数据集,标题即是Kaggle竞赛题目,可以直接搜索...https://cloud.tencent.com/developer/article/1350748
3.kaggle数据可视化##Kaggle数据可视化:让数据讲述旅程故事 在数据科学领域,数据可视化是一项极为重要的工作。通过数据可视化,我们可以将抽象的数据转化为直观的图形,帮助我们更好地理解数据背后的规律和趋势。Kaggle作为全球最大的数据科学竞赛平台,提供了丰富的数据集和工具,为数据可视化提供了很好的资源和平台。 ###数据可视化的重要性数...https://blog.51cto.com/topic/5327a4c78c85486.html
4.Kaggle:YourMachineLearningandDataScienceCommunityKaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.https://www.kaggle.com/
5.零基础学机器学习如果大家希望了解更多机器学习的相关内容,欢迎关注公众号“咖哥数据科学讲习所”,让我们共同进步。 最后,还必须要感谢各位机器学习领域的前辈,如吴恩达、李宏毅、莫烦等老师,他们无私分享的机器学习教学资源,以及Kaggle网站中的机器学习数据集,都是包括我在内的每一个探索者在学习之路上不可或缺的财富。感谢我的朋友...https://labs.epubit.com/bookDetails?id=UB7245bf2ca7715
6.有人一周内清理了PASCAL数据集中的17120张图像,将mAP提高了13%我们的首要任务是改进数据集。我们从 Kaggle 获得数据集,将其上传到 Hasty 平台,导入注释,并安排两次 AI CS 运行。对于那些不熟悉我们 AI CS 功能的人,该功能支持类、目标检测和实例分割审查,因此它会检查注释的类标签、边界框、多边形和掩码。在进行审查时,AI CS 会寻找额外或缺失的标签、伪影、错误类别的注释...https://www.thepaper.cn/newsDetail_forward_17829637