什么是数据科学与大数据(数据科学主要研究内容)
数据科学在过去几年里被用来指代几乎所有与数据有关的事务(数据分析、数据挖掘、机器学习等)。越来越多的人开始寻求数据科学教育资源,因此越来越多的大学以及在线平台也纷纷开发这样的项目。
然而,数据科学和数据科学家的定义缺乏明确性,显然这对每个参与者都不利,不论其头衔听起来是多么时髦。每个人都想扮演他们想要的角色:
申请者:“我对海量数据集方向的机器学习很感兴趣。所以想我要申请一份数据科学家的工作!”
企业:“我需要一个可以在这些excel工作簿的基础上建立优秀管理仪表板的人,因此我会聘请一个数据科学家!”
结果,那些数据科学家工作的申请者会十分沮丧,因为他们的工作最后变成提取数据和建立仪表板,和机器学习毫无关系。与此同时,企业意识到,数据科学家和优秀的数据分析师创造的价值无甚不同。我也不能很确切地说自己是一名数据科学家,尽管我在数据上做了很多“事情”。
数据科学家们做什么?
如何定义数据科学?
前段时间麻省理工学院发表的一篇文章提出了数据科学的新定义和数据科学程序的设计。作者认为数据科学不是一门单一的学科。更确切的说,它是一个总括(通用)术语,描述了具有非重叠技能的数据科学家团队中的复杂过程。鉴于目前从数据中提取值的活动范围广、步骤多,那么一个数据科学家拥有所有必要的专业知识几乎是不可能的。
更清晰地了解数据科学所包含的内容,不仅有助于学术项目能更好的设计他们的课程,也有助于学习者和企业更好地了解可以从这些项目中寻找和期望什么。
后端和前端数据科学
本文认为,后端数据科学和前端数据科学间需要有一个明确的区别。他们的想法总结如下:
后端和前端数据科学(作者根据麻省理工学院的文章说明)
数据科学管道设计的主要参与者有:
· 数据工程师,负责处理硬件、高效计算和数据存储基础设施。
· 数据分析师,负责整理、探索、质量评估、将模型与数据匹配、进行统计推断和开发原型。
· 机器学习工程师,负责构建和评估预测算法,并使解决方案对许多用户具有可扩展性和耐用性。
· 数据科学软件开发人员,不直接参与数据科学管道生产,而是开发促进数据科学的软件工具。例如hadoop、r、rstudio、ipython笔记本、tensorflow、d3、pandas和tidyverse等的开发人员。
每一个参与者所需的专业知识都大相径庭,因此,在数据科学的项目中,这些专业知识也应完全不同。
此外,现实中可能还有更多的数据科学参与者。例如,数据科学翻译/通讯员,他有能力弥合管理团队和数据科学团队之间的差异。他/她可以通过可视化的或者演示方式,熟练地向人们解释复杂的数据科学概念。许多数据科学项目由于管理层没有完全理解其背后想法,导致项目被推迟或者根本无法得到资助。可能还有参与者(数据科学业务开发人员?)有着很强的专业知识,同时对数据科学概念有深入了解。他善于将一些点联系起来,发现可能为企业带来好处的数据科学商机。
在数据科学教育中寻找什么?
通过以上的概述,可以看到数据科学实际上非常广泛,而机器学习和建模是这个难题中相当小的一部分。这意味着学术界需要更好地定义其课程内容,学习者需要更加清楚其自身目标,而企业需要更好地理解其价值方向。
本文建议学术界通过以下方式为学习者提供更好的准备:
· 三个不同的发展轨道:提供与数据科学的不同领域相对应的特定发展轨道:数据工程师、数据分析师和机器学习工程师、数据科学软件开发人员等等
· 将应用程序置于首位:强调实际应用程序的必要性和问题的主体。将课程需要与实际实施相联系。
· 实际经验:对数据科学软件开发感兴趣的学习者都在找学习项目中软件包开发的顶点项目课程。此外,学习者能够生成可靠且可复制的代码也很重要,因为数据科学管道或应用程序将需要用在实际生活中。这是学术界经常忽视的一个培训方面。
· 实用编程技能:针对特定的参与者和任务,用适当语言进行有力的编程培训:
作者根据麻省理工学院的文章说明
· 专注于研究生水平的项目:数据科学学位推荐为硕士或者博士水平,而不是本科水平
如果你是一个正在寻找数据科学教育合适资源的学习者,请先扪心自问:
· 你希望自己成为何种数据科学参与者?
· 你需要获得哪些相关技能
· 若你有了这些问题的答案,看看课程表是否符合你的需求和期望。
如果你是一家企业的招聘人员,需要注意,请小心使用“数据科学家”这个术语,在工作描述时要尽可能具体。从长远来看,每个人都能从中受益。