就像谷歌学术(Google Scholar)用于研究论文那样,Google Dataset Search用于数据集。谷歌搜索的应用是无处不在的。这是了解特定主题的绝佳起点。谷歌还管理自己的通用公共数据存储库,称为Google Public Data,亚马逊也拥有自己的AWS数据注册中心。Kaggle.com是致力于数据科学的在线社区。它具有由社区和组织贡献的大型数据集存储库,其中包含大量主题,任你选择。该站点还是以比赛或讨论方式学习数据分析细节的重要资源。研究机构通常会发布科学数据供公众使用。如果你需要敏感的人类数据(如果可以确信已经适当匿名),这将特别有用。在澳大利亚,我们拥有诸如澳大利亚统计局、联邦科学与工业研究组织(CSIRO)之类的机构,甚至还有一个用于访问所有政府数据的在线门户,名为data.gov.au。在世界其他地方,著名的机构包括NASA、NOAA NIST、CDC、WHO、UNICEF、CERN、Max Planck Institute、CNR、EPA等。同样,许多国家或地区都有中央政府数据存储库,例如data.gov(美国)、open.canada.ca、data.govt.nz、data.europa.eu和data.gov.uk等。一些具有非科学目的的公司,如果达到了自己能够进行内部研究或被要求进行内部研究的规模,甚至会发布数据存储库。世界银行和国际货币基金组织(IMF)就是一个很好的例子,它们已经成为开放的金融和大众数据的主要来源。在允许的情况下,从信誉良好的组织采购数据是确保准确性、覆盖范围以及适用的价值类型和格式的绝佳方法。FiveThirtyEight和BuzzFeed这样的新闻网站,提供了从公众调查中获得的数据以及关键文章收集的数据,从可能涉及公众福祉的重要社会和政治数据(网络审查、政府监控、枪支、医疗保健等),到体育等一切内容的分数或民意测验。Reddit的/r/datasets是一个信息共享的好地方。你可以浏览人们发布的有趣的东西,或者在特定的问题上寻求帮助。甚至还有一些很好的元信息,比如有人发布了一个详尽的每个开放数据门户的列表。当你浏览Reddit的时候,/r/MachineLearning也是一个好选择。有时,随机发烧友也会真正为你服务。作者个人最喜欢的网站是Jonathan’s Space Home Page,其中一位来自哈佛大学史密森天体物理学中心的天体物理学家,在网站上保存着发射到太空的所有物体的广泛列表。只是作为附带项目,太奇妙了。稍微不寻常的数据的另一个重要来源是整数数列在线大全(OEIS),它是各种数字数列及其附加信息(例如图或用于生成数列的公式)的庞大集合。因此,如果你对卡塔兰数感到好奇或想了解忙碌的海狸问题,OEIS帮你排序了。还有无数的网站致力于成为诸如开放政府、重要研究出版物中使用的学术数据等领域数据集的中央注册中心。这或许说明了这一点:数据无处不在。我们每时每刻都在创造更多的东西,而且很多人和组织都致力于让这对我们所有人都有用。个人对数据源的喜好是靠时间和经验建立起来的,因此要广泛地进行探索和实验。
在开始搜索之前要有一个清晰的计划,知道你需要什么来对你要解决的问题建模。在要包括的潜在数据中,考虑以下因素:
- 该集合单独是否足以解决你的问题。如果不能,那么是否容易合并其他的来源?
预准备的数据集经常需要进行修改以适合其他用途。通过这种方式,即使可以假设数据已经是干净的(应该进行验证以防万一),仍然可能需要进行一些数据转换。为了确保输出质量,你应该从这里开始观察通常的数据准备步骤。请记住,在某种程度上,可能需要一些额外的或不同格式的信息才能产生预期的结果。一个预构建的数据集是一个很好的起点,但是它绝不应该被免除审查:即使在短期内需要做大量的工作,也要修改或替换不合适的数据集。
要从头创建数据集,你必须从某个地方获取原始数据。这些工作通常分为三个主要的维度:记录数据、整理数据和收集数据。
每个国家都有自己关于数据集收集、存储和维护的法律法规。本节中描述的一些方法在一个地区可能是合法的,但在下一个地区则是非法的。在没有首先检查数据集合法性的情况下,你决不能采取任何行动来获取数据集。通过数据抓取或追踪的方法观察你不拥有的在线内容,在世界上的某些地方会招致严重的惩罚,不管你是不知道,也不管你这么做的目的是什么。这是不值得做的。其他方法在法律中可能不明确,例如从公共场所收集照片或录像,或出于其他目的提供数据的所有权。即使数据集有一个许可证说明你可以使用所需的数据,在你拥有数据之后,也要仔细考虑收集它的方法和职责。你所在地区的法律总是优先于授予你数据权限的许可。根据经验,如果不是你自己创建的数据,你就不拥有它(即使你确实创建了它,仍然可能不拥有它)。所以,除非你得到明确的许可,否则不能收集或使用它。
数据记录是一流的数据收集:你自己在做一些现象和属性的观察,记录属于你自己的独特数据。这可以通过物理设备(如传感器或相机)或数字观测设备(如网络追踪器或爬虫)来完成。你可以收集关于在特定位置发生的动作或环境条件的数据,记录你想要识别的不同对象的图像,或者记录Web服务的流量以预测用户行为。针对以前可能没有观察到的主题,你可以使用这些方法创建高度针对性的数据集,但这是最耗时的方法。收集的数据的质量也取决于收集数据的设备或方法,因此建议你具备一些专业知识。数据整理是将多个信息源组合起来,以创建要分析的新数据的实践过程。可以通过从报告中提取数据、从不同的在线来源合并数据或查询API等方法来构建。它将存在于许多地方的数据以一种有用的方式整合在一起。在某些情况下,整理数据几乎和记录或生成自己的数据一样耗时,但更有可能会创建一组关于发生在难以触及的地方(如海外或私人组织内部)的现象的数据。不共享某个问题初始数据集的公司可能会发表多篇包含所有数据的论文。或者,一个站点不允许你下载每个做过Y操作的用户的记录,可能会允许你无数次查询用户X是否做过Y?整理的数据的质量取决于在合并来源时你的关注程度。某些数据整理错误可能危及整个项目,例如合并了使用不同测量单位的来源或发生简单的转录错误等。数据抓取是一种收集大量信息的方法,这些信息已经存在,但可能没有被观察到,它们可以生成适合使用的结构化数据。这是过去社交媒体分析的主要方式(尤其是由第三方进行),但许多平台都限制了人们获取数据或使用从其服务中获取的数据的能力。抓取是用软件来执行的,该软件可以加载、观察和下载大量的内容,这些内容通常是不加区别地从Web目标上下载的,然后就可以对其进行调整以供使用。数据抓取要有目的性。