数据科学家的基本技能

数据科学家的相关技能是什么? 随着新技术每天进来,人们如何挑选必需品?

一些想法与这个讨论密切相关:

  • 了解SQL和使用诸如MySQL之类的数据库,PostgreSQL在NoSql和非关系数据库的出现之前一直很棒。 MongoDB,CouchDB等正在stream行与networking规模的数据工作。
  • 了解像R这样的统计工具足以进行分析,但是为了创build应用程序,可能需要将Java,Python等等添加到列表中。
  • 数据现在以文本,url,多媒体的forms出现,并且有不同的操作范例。
  • 那么集群计算,并行计算,云计算,Amazon EC2,Hadoop呢?
  • OLS回归现在有人工neural network,随机森林和其他相对陌生的机器学习/数据挖掘algorithm。 为公司

思考?

引用哈德利博士论文的介绍:

首先,您可以使用可以使用的forms获取数据…其次,绘制数据以了解正在发生的事情…第三,在graphics和模型之间进行迭代,以构build一个简洁的定量汇总数据……最后,回顾一下你已经完成的工作,并考虑将来你需要哪些工具来做得更好

第一步几乎肯定涉及到数据pipe理,可能涉及到数据库访问或networking抓取。 了解创build数据的人也很有用。 (我在“networking”下提交)。

第2步意味着可视化/绘图技能。

第3步意味着统计或build模技能。 由于这是一个非常宽泛的范畴,委托给build模者的能力也是一项有用的技能。

最后一步主要是关于内省和pipe理型技能等软技能。

在这个问题中也提到了软件技能,我同意他们非常好用。 软件木工有一个你应该拥有的所有基本软件技能的好名单。

只是为了向其他人提出一些想法来阐述:

在一些可笑的抽象层次上,所有的数据工作都包含以下步骤:

  • 数据采集
  • 数据存储/检索
  • 数据处理/合成/build模
  • 结果报告
  • 故事讲述

数据科学家至less应该在每个领域都有一些技能。 但是根据专业的不同,可能会在有限的范围内花费更多的时间。

JD是伟大的,对这些想法更深入的阅读迈克尔Driscoll的优秀post数据极客的三个性感技能 :

  1. 技能1 :统计(学习)
  2. 技能#2 :数据传送(痛苦)
  3. 技能#3 :可视化(讲故事)

在数据手中,这个问题通常用一个很好的维恩图来解决:

维恩图

JD打在头上:讲故事。 虽然他忘记了其他重要的故事:为什么你在这里插入幻想技术的故事。 能够回答这个问题是远远最重要的技能。

其余的只是锤子。 不要误解我的意思,像R这样的东西太棒了。 R是一整包锤子,但重要的是知道如何使用你的锤子,不知道做什么有用的东西。

我认为掌握一两个纪念数据库是很重要的。 在我参考的金融世界里,我经常在分布式服务器上看到大型SQL和SQL Server上的DB / 2和Oracle。 这基本上意味着能够读写SQL代码。 您需要能够将数据从存储设备中分离出来并存入您的分析工具中。

在分析工具方面,我认为R越来越重要。 我也认为知道如何使用至less一个其他的统计包也是非常有利的。 这可能是SAS或SPSS …这实际上取决于你正在为之工作的公司或客户,以及他们的期望。

最后,你可以对所有这些软件包有一个难以置信的把握,但仍然不是很有价值。 在特定领域拥有相当数量的专业知识是非常重要的,并能够向相关用户和pipe理人员传达这些问题围绕着您的分析以及您的发现。

matrix代数是我的首选

  • 协作的能力。

几乎所有学科的伟大科学,现在很less由个人完成。

对于数据科学家来说,有几个计算机科学主题是有用的,其中有许多被提及:分布式计算,操作系统和数据库。

分析algorithm ,即理解计算的时间和空间要求,是数据科学家最重要的计算机科学主题。 从统计学习方法到数据收集,实施高效的代码是有用的; 并确定您的计算需求,例如有多lessRAM或多less个Hadoop节点。

耐心 – 既要以合理的方式获得结果,又要能够回到原来的“实际”要求。

在MIT开放课件18.06上学习线性代数,并用“线性代数导论”一书替代你的学习。 线性代数除了上面提到的技巧以外,还是数据分析的基本技能之一。