数据迷信项目办理中的 “黄金规范”


大数据文摘出品

编译:茶西、陈同窗、Aileen
数据剖析_数据迷信

怎样树立一个数据迷信项目办理? 树立的规范又是什么?

我想大少数人至多供认这一点:“你的研讨需求让其别人可以轻松天文解你在项目中做了什么,并能复制这些后果”。

别的,你还得对文件的定名方法多加留意,详细做法怎样,我们一同来看看吧。

研讨后果的可复制性和分享性
研讨后果的可复制性和分享性

起首,你所做的项目必需具有十分强的可复制性以及可分享性,由于只要如许才干让你的偕行查验项目标效果。

比方,杜克大学的研讨职员已经宣布了一项关于将团体基因信息用于患者化疗的研讨。来自 MD Anderson 癌症研讨中央的两位研讨职员 Baggary 和 Coombs 想要对研讨停止复现。但是复现之前必需获取数据和代码是必需的。

颠末数月的工夫,终于,这两位仔细的研讨职员拿到了想要的数据和代码。固然,拿到的时分这些材料照旧未经整理、乱七八糟的。

又颠末很永劫间的实行验证,这两位研讨职员发明已宣布的研讨中的代码呈现了一个错误,这个错误严峻到研讨的效果会将患者置于风险地步。

以是,几个月份来,两位研讨者不断在对一项错误的研讨停止复现,更紧张的是,他们大少数的工夫破费到了 “有意义” 的数据搜集与整理上。

这便是弱分享性以及弱复制性带来的危害,验证明验后果能够破费不了几多本钱。但是由于研讨作者对数据的维护,使得你需求用更长的工夫搜集相干数据。

那么,为什么研讨者大多不肯意分享研讨数据呢?

当你联络一个研讨员想要取得他的研讨的源代码和初始数据时,你需求表明你是谁,你为谁任务,为什么需求这些数据,以及你要怎样处理这些数据。

别的,你还常常收到如下复兴:

  • 我不得不说假如没有表明的话,这便是一个不太正常的要求。请让你的导师发一封细致的,我再夸大一遍,细致的邮件给我来表明一下。
  • 这些数据文件是我们的资产,而且不是无偿使用的,以是请通知我们你想要用这些文件来做什么,然后我们看看可以怎样帮到你。
  • 我们通常不会将我们的外部数据分享给非协作单元。
  • 这些代码是我和同事多年高兴的结晶,这些数据也是我与协作者们含辛茹苦花了很永劫间搜集到的,以是也需求失掉他们的允可。
  • 通常不会提供这类数据给不看法的人。能够你想要检验数据剖析,这能够关于我们也有效,但是在你宣布你的研讨时请适当地提到我们。.
  • 感激你对我们的文章感兴味。在盘算中我用的是我们本人的代码,现在还没有大众版本可供下载。鉴于现在的代码不是很易用,并且还在继续改良中,以是我偏向于暂不分享。
  • 很负疚我们的代码在创立时并没有想过给别人运用。代码如今并未文档化,我们也没偶然间和资源来文档化。假如你有一个特殊的盘算要做,且不是我们如今做的工具的次要延伸的话,我们可以帮你跑这个代码。
  • R 是一个收费的软件,你可以在 www.r-project.org / 找到。我用 R 是由于 XX 模子。你能够有所理解 XX 和 XX 非常庞大。但是我能够不用说这些你曾经是个统计学先生了。我都是用 Matlab 来处置多少的题目。

以是,发起你在阅读研讨效果时,先看能否有一份附有一切的原始数据和代码的可反复性声明。假如没有看到一份如许的工具,你可以临时疏忽这个研讨。

可反复运用阐明典范
可反复运用阐明典范

不克不及让你的项目具有可复制性是学术上的不端举动,能够会发生严峻的结果。比方 “未能妥善记载和保管研讨效果” 是克日康奈尔大学研讨员 Brian Wansink 的遭到的不但彩的控告之一 。

在 Daniele Procida 关于软件文档的黄金规范上,他很好地总结了这一点:

“不论你的软件有多好,假如阐明文档不敷好,人们就不会运用它。即便出于某种缘由,人们没有选择而不得不运用它,没有好的阐明文档的话,各人也不克不及无效地运用它,更不会依照你盼望的方法运用它。”

因而,遵照 Procida 老师的明智发起,你的研讨需求让其别人可以轻松天文解你在项目中做了什么,并能复制这些后果。这关于如今和同事的协作至关紧张,也对先人有很大协助 (比方,将来某一天你要重新运转一个六个月没碰过的剖析的时分,或许任何其他研讨员想要重新看一看你的任务的时分)。Leek 以为 “破费数据迷信项目中 10-20% 的工夫来对你的任务停止构造与文档化” 黑白常紧张的。

文件定名
文件定名

文件的定名的方法在数据迷信项目中也黑白常紧张的。

一位对 R 言语剧本设计、任务流程和文件构造与定名方面颇有看法的数据迷信家 Jenny Bryan 以为有三个准绳是必需恪守的:

  • 呆板可读
  • 人类可读
  • 很好地处置默许排序

为了呆板的可读性,我们盼望防止空格、标点标记、句号和任何其他特别字符 (除了“_” 和“-”)。
文件定名_数据迷信_数据剖析
针对人类的可读性,需求您给文件付与故意义的称号。当定名 R 工具时,假如包括了正文的话,缩写工具称号的也是可以的。比方,cv_perf_Recoke_rf 是对随机丛林模子的每个穿插验证的验证召回的盘算。

但是在定名文件时,我发起除非相对须要,不要运用缩写词; 假如运用了的话,请在自述文件中列明这些信息。

别的一个发起是将日期和数字放在文件名的扫尾。一直运用 ISO 8601 的日期款式 (yyyy-mm-dd) 和左起带 0 的数字。数字的最大位数取决于一共要天生几多个文件。假定你想要保管 100 个修建 MRI 图像文件,那么它应该看起来云云 001_t1_mri.nii.gz。假定你以为你实践上会天生 1000 个文件,它看起来应该云云 0025_t1_mri.nii.gz。

Leek 还指出,应该防止巨细写的敏理性,比方 Esophageal-Cancer_Report.md(食道癌陈诉. md) 显然是一个可骇的文件名 (输出这串包括巨细写的字母和字符真是累去世了)。

你也可以用 esophagealCancer_report.md,由于它更能看起来更令人痛快,也并未有 Leek 提到的危害; 只需不要遗忘在 linux 中运用 find 指令时用 - iname 标记来疏忽巨细写就好。假如你忘记,或许只是服从很高 (也便是懒),你总是可以把它包括在. bashrc 文件中作为又名。

让文件名以大写字母扫尾显然是个坏主见,由于它会招致你需求额定的按键来天生大写字母 (比方 Shift)。但是,运用 camelCase 方法,您可以经过运用选项卡来主动完成以防止额定的按键。

OMT

假如你运用 R,你应该读一读 Jenny Bryan 的 here() 包,它消弭了 setwd() 能够招致的费事的任务流程题目。
OMT_数据迷信_数据剖析
别的,发起各人去阅读她的博客文章 “面向项目标任务流程” 它清晰明确的通知我们更多关于 “怎样做” 以及 “为什么如许做” 的信息。

面向项目标任务流程:https://www.tidyverse.org/articles/2017/12/workflow-vs-script/

遵照这个数据迷信项目办理黄金规范的发起,在处置 “大数据” 时你将随心所欲很多。
泉源:大数据文摘
45期CPDA课程