168大数据

标题: 如何成为一名数据科学家? [打印本页]

作者: 168主编    时间: 2018-4-28 15:33
标题: 如何成为一名数据科学家?

作者简介:
林荟,美国杜邦公司商业数据科学家,美国爱荷华州立大学博士。《套路!机器学习:北美数据科学家的私房课》作者。2017年1月至今主持美国统计协会市场营销在线数据科学讲座。个人网站:http://linhui.org/

本文为《程序员》原创文章。


在回答这个问题之前,希望你先想想另外一个问题:为什么要成为数据科学家?当然,如果你是为了10万美元的年薪也无可厚非,但是我衷心希望你能将这个职业和自己的价值感挂钩。因为成为数据科学家的路途会很辛苦,但如果你将其看成是实现个人价值的一种方式,那么追寻目标才能带来长久的成就感,在这个过程中会感到快乐并且动力十足。

数据科学家技能包

要回答“如何成为……”这样的问题,首先当然需要知道想要成为的对象是个什么样子。图1是一个数据科学家的技能表。



图1 数据科学家的技能

首先编程能力是数据科学家需要的基本技能。数据读取、整合、建模分析和可视化的整个环节都需要用到这些工具。在业界环境中,整个数据链大概分为5块:

图2是数据流程构架图。



图2 数据流程构架

另外一个重要的技能是分析建模。这个模块可以进一步细分成下面几个:

除了技术能力以外,还需要其他一些非技术的能力。这些包括将实际问题转化成数据问题的能力,这一过程需要交流,也就要求良好的交流沟通能力。关注细节,分析是一个需要细心和耐心的职业。还有就是展示结果的能力,如何让没有分析背景的客户理解模型的结果,并且最终在实践中应用模型的结论。

这个单子还可以一直列下去。看起来是不是不只一点吓人?其实这个技能单是动态的,你一开始不必具有上面列出的所有技能,但在工作过程中,需要不断的学习成长。一个优秀的数据科学家不是通过数据找到标准答案的人,而是那个接受和适应这个充满不确定性的世界,给出有用方案的人。一个成熟的数据科学家面对分析项目时会看到多种可能性和多种分析方法,给出结果后依旧时刻关注这个结果,不停地保持小幅度频繁更新。再次强调自学能力和成为一个终生学习者是优秀的数据科学家的必要条件。

如何获取相关技能

现在你对数据科学家需要具备的技能应该有个大致的概念了。接下来的问题是如何获取这些技能。这个问题的答案部分取决于你的专业背景。当前数据科学家的背景其实很杂,这里主要着眼于数学、统计、计算机或其它定量分析学科(电子工程、运筹学等)本科以上学历的情况。数学统计背景的学生,需要加强计算机方面能力的培养。而计算机背景的学生需要更多的了解统计理论。如果是其他定量分析学科,可能需要同时加强这两者。

其他专业的学生成为数据科学家有两种情况:

关于数据科学家的学位背景,根据2017年的统计数据,美国的数据科学家41%有博士学位,49%有硕士学位,只有10%是本科。研究生博士期间的课题最好偏向机器学习、数据挖掘或预测模型。其次需要的是数据库操作技能。在工作中通常需要用SQL从数据库读取数据。对于统计或者数学专业的学生,在校期间可能不需要使用SQL,因此不太熟悉。这没有关系,我也是工作以后才开始使用SQL的。但你要确保自己至少精通一种程序语言,之后遇到需要用到的新语言可以迅速学习。现在有大量的MOOC课程,以及一些在线的数据科学视频,都是提升自己的很好方法。

有的人问我怎么选择学习课程。通常情况下我会看讲课的老师,如果是想要彻底清晰地了解某种技术,那就去搜下写这个领域相关书籍的人,如果他们有开课,可以选这些课;或者那些在数据科学行业名字如雷贯耳的,比如吴恩达这样的。选这样的人讲的课,才能听得明白,因为这些人对相关的专业知识足够了解。

常见误区

在数据科学的应用中有哪些常见误区?

会开车的只是司机,要当汽车工程师,仅靠会开车是不行的。这点放在数据科学领域也是一样。不需要你背下模型背后的所有数学公式,但是至少需要学过一遍,让你可以翻着书解释模型机理。

在实际应用中需要同时考虑收益和成本。如果模型精确度是90%,但是提高到95%需要复杂得多的模型,因此需要大量的计算设备投入,同时带来的边际收益很小的话,满足于精确度小的模型就好了。模型选择和评估可能是数据分析流程中最难的环节。

接受这个现实,人常常是不理性的,我们的行为和对周遭的态度受感情的影响。你永远看不到一只单纯的狗,你看到的是一只可爱或者不可爱的狗,我们总是会对所有的事情加上自己的主观判断。当然,你公司的同事,领导看待你的方式也受到主观的影响。很遗憾,这个主观的感受通常更多的来自于你作为人的部分,而不是机器的部分。你觉得自己技术好是一件事情,领导觉得你技术好是另一件事情,领导觉得你的技术是有用的那又是新的一件事情了。这点,美国中国貌似没差。所以“做技术”不等于“情商低点没关系”。

我理解,这种感觉很不好受。有的时候我感觉自己永远都是菜鸟,但现在我才明白,这才是当前世界的真实状况。不断升级将会是一种常态,这不仅仅是数据科学,你必须这么做,因为所有的东西都在升级,就像军备竞赛一样,升级已经成为事物本身的存在方式。无论你使用一样工具的时间有多长,升级后你又会变成一个菜鸟。所以做菜鸟是可以的,但是不明觉厉,随意跟风是不允许的。面对不懂的技术,要么就说不懂,要么就去学。其实你真正鼓起勇气,开始认真去学习这么技术的时候,会发现其实没有那么神秘。当然,马上又会有新的神秘的东西出现,这个过程又会重复。但你就是在这样循环反复中成长的,产品是这样,人也是这样。

数据科学领域现状

我们从数据上看看数据科学的现状吧。从最大的职业社交网站领英(LinkedIn)的数据看来,数据科学家职位的年薪在7.5万~ 17万美元之间,中位数是11.3万美元。
其中雇佣数据科学家的公司主要集中在微软、IBM、Fackbook、亚马逊、Google这些计算机互联网公司,图3为前10名雇佣数据科学家最多的公司。



图3 前10名雇佣数据科学家最多的公司

数据科学家所处的行业也集中在科技或者研究性组织,图4是排名前10的行业。



图4 前10名数据科学家集中的行业

不同公司的数据科学团队架构不一样。主要有如下2种:

数据科学家这个职位还比较新,所以从团队建设和职业轨迹上都还在发展,具有很好的前景。希望你能成为一个不断思考,终生学习的数据科学家!

附录:R代码

下面是文章中两幅图的R代码,感兴趣的读可以运行下面的代码:

[AppleScript] 纯文本查看 复制代码
dat<-read.delim("https://raw.githubusercontent.com/happyrabbit/DataScientistR/master/Data/DS.txt")

library(ggplot2)
library(dplyr)

# 前10的公司

df <- dat%>%
  select(Companies, ComCt)

colnames(df) <- c("Company", "Counts")
df$Company <- factor(df$Company, levels = df$Company)
ggplot(df, aes(x=Company, y = Counts, fill=Company))+
  geom_bar(stat="identity")+theme_minimal()  +
  coord_flip()+ theme(legend.position="none")

# 前10的行业

df <- dat%>%
  select(Industries, ComCt)

colnames(df) <- c("Industry", "Counts")
df$Industry <- factor(df$Industry, levels = df$Industry)
ggplot(df, aes(x=Industry, y = Counts, fill=Industry))+
  geom_bar(stat="identity")+theme_minimal()  +
  coord_flip() + theme(legend.position="none")





欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2