我们生活在一个淹没在数据中的世界。互联网跟踪,股票市场运动,基因组测序技术及其同类产品都会产生大量数据。
这些数据中的大部分都是别人的责任,由其他人生成,存储在别人的数据库中,由数据库保存并提供......你猜对了......别人。
但。每当我们执行机器学习项目时,我们正在处理所有数据的一小部分。
无论您是生成自己的数据,还是使用公开数据,您的结果都必须是可重现的。分析的可重复性主要取决于数据管理。
数据管理很重要
照片由Ken Teegardin拍摄,保留一些权利
什么是数据管理?
数据管理是存储,处理和保护原始数据和任何相关元数据的过程。
这个过程包括:
- 为您的分析确定适当的数据
- 下载数据
- 根据需要重新格式化
- 清理数据
- 将数据存储在适当的存储库中
- 备份数据
- 使用元数据进行批注
- 维护数据
- 将数据提供给您想与之共享的人
- 保护数据免受恶意或意外访问
上面列表中的前四个点已在此博客的其他帖子中得到解决。在这篇文章中,我们将介绍处理工作数据集的过程。
组织良好,文档齐全,保存和共享数据对于推进科学探究和增加学习和创新机会具有不可估量的价值。
- 英国数据档案
为什么不把它留给别人呢?
如果要生成自己的数据,则需要明确数据管理。但是,即使您使用其他人的数据,您仍需要制定经过深思熟虑的数据管理政策和程序。
大多数在线数据库都在不断增长,而且往往呈指数级增长。如果您已经生成了今天可用数据的结果,那么在一个月内,您的数据集将仅代表更大数据集的一部分,并且在两年内它可能只是当前数据库的一小部分。为了产生可重现的结果,您必须下载,清理和保护您自己的数据集。
按数字划分的数据管理流程
1.将数据存储在适当的存储库中
有几种不同类型的数据存储库具有不同的用途。这些包括,从最简单到最复杂:
数据库:“ 有组织的相关信息 ”(定义)
这里的关键术语是有条理的。简单的关系数据库以明确定义的结构化方式存储记录和记录之间关系的最基本信息。结构是关键,数据库不一定需要掌握有关存储的数据或它们的含义的任何知识。许多类型的数据甚至可以存储为二进制大对象(BLOBS)。
数据仓库:“ 来自多个可能异构数据源的数据集成存储库,具有一致且一致的语义 ”(定义)
随着数据仓库的语义被添加到数据结构中。语义算法试图通常以本体的形式为数据添加含义。基于受控词汇表的本体,在词汇术语之间具有明确定义的关系(例如,“ 醇脱氢酶 ”是“ 蛋白质”)。
数据存档:“ 为历史或参考目的保存文档版本的存储 ”(定义)
数据存档通常保存在可靠的媒体上,并且不一定必须快速访问,因为数据是为了历史目的而保存的。许多组织要求将数据保留一段特定的时间,即使在分析数据并公布结果之后也是如此。
数据集成:“ 组合驻留在不同来源的数据并为用户提供这些数据的统一视图的过程 ”(定义)
前三种类型的存储库通常处理单一类型的数据:就业记录,或蛋白质 - 蛋白质相互作用数据。数据集成不是一个存储库,而是一组用于将不同数据类型组合到单个数据集中的算法,以便允许更有用的分析。例如,将人口统计数据(年龄,性别,BMI等)与血液检测结果和经济数据相结合,可以让您比单独的血液检查更深入地了解您的健康状况。
2.备份数据
每个人都知道应该定期备份所有硬盘驱动器,尽管可怕的比例人们并不经常这样做。这样做吧!数据备份应包括:
每日增量备份到不同的硬盘驱动器,甚至是USB记忆棒。有许多备份解决方案,包括免费和专有。维基百科有一个相当全面的列表。
文件同步软件不会尝试从一个驱动器备份到另一个驱动器的所有内容,但会跟踪每个文件的上次更新版本,并保存最新版本。如果文件已在两个位置同时更新,则大多数应用程序将询问用户选择哪一个。请参阅维基百科列表。
对于它的价值,我使用Unison,并且对它的性能非常满意。
除每日增量备份外,还应定期执行完整备份。备份的一个副本应存储在现场,以便在发生灾难时快速访问,并且至少有一个异地,以防发生真正的灾难。如果您有硬盘故障并需要访问您的文件,它们应该在抽屉中。如果您的办公室烧毁,文件应该在您家或妈妈的家里。
3.使用元数据进行批注
当我们第一次下载数据时,它的来源和含义对我们来说是非常明显的。我们知道为什么我们想要它,我们做了什么,以及它意味着什么。但是,经过几个月,这种理解可能不那么清楚。
元数据是关于数据的数据。元数据可以包括诸如谁生成数据,何时生成数据,何时下载,使用哪些分析,使用了哪些实验条件,使用了哪些文件以及是否存在任何已知问题等信息。数据。
有许多以社区为基础的组织旨在指定复制数据所需的最少信息,特别是现代分子生物学实验产生的复杂数据。
元数据注释看起来像是一个真正的问题,但如果您的结果值得报告,则值得再现,元数据对于长期理解原始数据至关重要。
4.维护数据
一旦您选择,清理,正确存储,注释和备份数据,您可能会认为困难部分已经结束。当然,它不是那么简单,它永远不会。必须保持数据。
维护涉及:
- 添加新数据(和适当的元数据)
- 更新现有数据(和关联的元数据)
- 在错误显现(并更新元数据)时处理错误
如果你有一次性数据集,第一点可能没有实际意义,但最后两点很重要。存储的数据应反映您当前对问题的最佳理解,并且任何更新,更改或丢弃都应记录在元数据中。
数据维护的另一个重要问题是媒体问题。存储介质变得过时,真正令人恐惧。
如今,大多数数据集都存储在硬盘上,并备份到DVD或USB记忆棒。这些媒体将不可避免地变得过时,在比现在看来可能更少的年代,机器学习从业者必须非常了解这一趋势。特别是在档案数据集(可能无法经常访问)的情况下,定期检查以确保数据仍然可读并且采用现代格式是必不可少的。
十多年来,1976年维京火星登陆的磁带未经处理。后来分析时,数据是不可读的,因为它是一种未知的格式,原来的程序员已经死亡或者离开了NASA
- 来自维基百科关于数字黑暗时代的文章。
5.向那些人提供数据,并且仅向那些与您共享数据的人员提供数据
许多出版论坛坚持认为用于生成报告结果的数据可供感兴趣的读者使用。即使在出版之外,您也可能希望与朋友和同事共享数据,以便进行更深入的分析。
当然,问题在于免费提供的数据可能会被滥用。只读数据可能会被竞争对手或那些歪曲它的人下载和使用,以推进可能不属于您的原因。具有读/写访问权限的数据可能会被恶意个人修改,也可能被您或您的同事意外修改。
数据安全和访问控制是一个巨大的研究领域,而且许多可用的材料都非常技术性。基本上,大多数数据库管理系统都具有不同粒度级别的内置访问控制,通常采用熟悉的帐户和密码形式。通过网站提供的数据可能没有这些内置保护,必须根据具体情况实施适当的保护措施。
每个数据管理员都在安全和共享之间走一条路。