一文读懂:数据科学家需要哪些技能?

大家好,我是Lucy@FinTech社区,今天的文章将告诉大家数据科学家需要哪些技能。欢迎添加以下微信,加入FinTech社区-数据群,提认知,攒人脉,求职招聘,投资有术!

 

当下最火的职位之一就是数据科学家了吧,那么什么是数据科学家,怎样才能成为一名合格的数据科学家呢?让我们一起来看一下吧!

简单来说,数据科学家是指:能采用科学方法、运用数据挖掘工具对复杂多量的数字、符号、文字、网址、音频或视频等信息进行数字化重现与认识,并能寻找新的数据洞察的工程师或专家(不同于统计学家或分析师)。

一个优秀的数据科学家需要具备的素质有:懂数据采集、懂数学算法、懂数学软件、懂数据分析、懂预测分析、懂市场应用、懂决策分析等。


 

01 怎么定义数据科学家?

“数据科学家”在2009年由Natahn Yau首次提出,其概念是采用科学方法、运用数据挖掘工具寻找新的数据洞察的工程师

数据科学家集技术专家与数量分析师的角色于一身,与传统数量分析师相比:后者通常利用企业的内部数据进行分析,以支持领导层的决策;而前者更多的是通过关注面向用户的数据来创造不同特性的产品和流程,为客户提供有意义的增值服务


 

02 数据科学家需要具备什么样的能力?

1. Python编程

随着人工智能以及深度学习的发展,Python已经超越Java语言成为编程中最常用的语言。Python也是在数据科学中常见的编码语言,由于Python的多功能性,可以将其用于所有涉及数据科学过程的步骤。

 

2. Hadoop平台

作为一名数据科学家,可能会遇到拥有的数据量超出了系统的内存,或者需要将数据发送到不同的服务器的问题,这些问题都可以通过Hadoop解决——使用Hadoop对数据进行分布式处理。此外,还可以使用Hadoop进行数据挖掘、数据过滤、数据采样和汇总
 

3. SQL数据库/编程 

SQL(结构化查询语言)是一种编程语言,可以执行诸如添加、删除和从数据库提取数据等操作,还可以执行分析功能并转换数据库结构。作为一名数据科学家,需要精通SQL。这是因为SQL专门设计用于访问、通信和处理数据
 

4. Apache Spark 

Apache Spark专为数据科学而设计(类似于Hadoop),能更快地运行复杂的算法。当处理大量数据时,它有助于传播数据处理,从而节省时间。此外,还能处理复杂的非结构化数据集

Apache Spark的优势在于其速度,利用该平台使得开展数据科学项目变得非常容易。借助Apache Spark,可以执行从数据采集到分布式计算的分析。

 

5. 机器学习和人工智能

如果想从数据科学家中脱颖而出的话,需要了解机器学习技术,如监督学习、决策树、逻辑回归等。这些技术将帮助你解决基于已有的数据和结果来预测不同数据科学问题。数据科学需要在机器学习的不同领域应用技能。
 

6. 数据可视化 

大数据时代,数据很多很乱,有些原始数据需要翻译成易于理解的格式。人们自然而然地以图表的形式展示数据所要表达的意思。作为一名数据科学家,必须能够借助数据可视化工具来可视化数据(如ggplot、d3.js和Matplottlib以及Tableau)。

这些工具能将项目的复杂结果转换为易于理解的格式。数据可视化为组织提供了直接处理数据的机会,可以迅速掌握见解,帮助他们抓住新的商业机会并保持领先地位。


 

03 数据科学家面试会问些什么?

一般来说数据科学家的面试会分为三种类型,编程能力、理论能力与分析能力

编程能力多以leetcode为主,如下,我们给出一道经典的leetcode题目作为示例:

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。
 

示例 1:

输入:[7,1,5,3,6,4]

输出:5

解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

示例 2:

输入:prices = [7,6,4,3,1]

输出:0

解释:在这种情况下, 没有交易完成, 所以最大利润为 0。
 

理论能力一般以考察对于基本概念的理解,如:

xgb和random forest什么区别?

exploration和exploit的区别?

random forest能不能处理imbalanced data?

svm的loss function是啥?

single variable regression中如果我们对调x和y,Rsquare会怎么变?

Dropout Layer是什么,有什么作用?为什么能有这个作用?一般来说Dropout Rate如何选择?
 

场景分析一般会给出某一特定的场景,然后根据场景进行分析,得出某一结论;例如:

Uber给你的数据集包含了某一个区域(不知道具体位置的一个区域)的所有uber呼叫的时间戳,让你分析预测接下来的1小时内,每个15分钟,会有多少次呼叫?
 

以上就是本期关于数据科学家的文章了,欢迎大家多多评论转发~