抛掉幻想,谈谈现实中的数据科学家

简介:


Data Scientist,数据科学家,太火了,已经成为新一代改变世界的职业,引得每一个人都想往这个方向转。


学CS的觉得做码农太底层,给人打工,要转数据科学家,完美。


学统计的觉得这个不需要过多的 Coding,适合自己,要转数据科学家,完美。


学商科的觉得终于自己也可以成为科学家了,要转数据科学家,完美。


似乎每个人都觉得自己可以成为,应该成为,也一定能够成为一名数据科学家。


然而现实呢?


一片混乱……



◆ ◆ 

人们的想象之中的独角兽


几乎所有赞美数据科学家的人,都认为数据科学家是这样一类人:


  • 精通算法。例如各种机器学习算法(聚类,分类,NLP,CV,IR, etc.),理解统计的原理。

  • 全栈开发能力。能够完成从数据清洗,到产品上线的全部工作,且能做各种数据可视化与报表。

  • 有资深的领域知识。了解行业背景,企业运行规律,懂得 Business、Marketing、Finance、Operations 等等知识,能够帮助企业做决策。

  • 除了技术能力要求高,同时还要有相当的软实力,比如沟通和写作的能力,比如领导团队的能力等等。


哇,真是全能的独角兽。


可能有这样的人吗?当然,这个世界这么大,出几个超牛的人并不是没有可能


你可以追求成为这样一个人,但是认为所谓数据科学家就等于这一类人,并没有什么意义。


但是,从现实角度来讲,你并不需要成为这样一个人才能为企业带来价值。大量和数据相关的职责都被认为是和数据科学家相关的,因此,更重要的是,找到合适自己的位置,使用新技术解决问题,创造收益。


◆ ◆ 

两类数据科学家


是的,Data Scientist 并不是一个 Well Defined 的职位,在每个公司的职责都不一样。但是,不论怎么样,这个世界上不可能凭空出现一个职位:这个职位所解决的问题是以前从来没出现过的,也没人知道该怎么解决的。或许我们可以慢慢逼近人们想象中的那个全能的独角兽,但现在,数据科学家所担当的职责,一定会跟现有的职位大量的重合。


现实中的数据科学家是怎么样的呢?常见的数据科学家被分为两类。引用 Quora上 Michael Hochster 的一个回答:


Type A Data Scientist——The A is for Analysis. This type is primarily concerned with making sense of data or working with it in a fairly static way. The Type A Data Scientist is very similar to a statistician (and may be one) but knows all the practical details of working with data that aren’t taught in the statistics curriculum: data cleaning, methods for dealing with very large data sets, visualization, deep knowledge of a particular domain, writing well about data, and so on.


Type B Data Scientist——
The B is for Building. Type B Data Scientists share some statistical background with Type A, but they are also very strong coders and may be trained software engineers. The Type B Data Scientist is mainly interested in using data “in production.” They build models which interact with users, often serving recommendations (products, people you may know, ads, movies, search results).


我对于这两类的理解稍有出入,但也大体相同:


Type A 数据科学家——偏 Analysis,一切为数据驱动的决策服务。主要的工作是在清理数据,做分析,找 Insight,做 Report 等等。可以说是某类升级版的 Analyst 或者 BD。


一方面这意味着对你的你要求跟做 BD 或 Analyst 的要求一样甚至更高,对市场了解如何?对行业了解如何?对公司运作了解如何?而所谓 Machine Learning 等工具只是技术与手段,能够帮助更好地解决问题,但是问题有哪些,才是根本的问题。


另一方面传统 Analyst 不足的地方在于随着数据越来越大,越来越复杂,如果要更快更准,需要使用更好的模型(机器学习等),在更原始的数据中探索与分析,不能只等待其他人把数据都处理好。因此需要更强的数据处理、分析能力和对于新模型、工具的掌握和理解。


往这个方向发展,要补齐 Marketing、Business、Finance、Operation 等知识,同时掌握各种机器学习的算法与工具。


Type B 数据科学家——偏 Research & Product,在算法即产品的职责下让算法能够与产紧密结合,甚至主导算法驱动的产品。主要的工作是把算法从 Research 做到 Product。

一方面要对各类机器学习的算法了解足够深刻,了解各种机器学习算法的常见应用(NLP,CV,Recommendation,IR,etc.)。同时对工程要求更高,毕竟做 Prototype 和上 Production 是完全不一样的。


另一方面要对产品的需求有更深层次的理解,以及了解公司的业务逻辑,因为随着不少算法的成熟,产品的需求已经不仅仅来自于 product-market-fit,而是来自于算法本身的进步,因此能够把成熟的算法推向产品是非常重要的能力。


往这个方向发展,Coding 的要求与所有通用 Software Engineering 的要求一样,该修 CS 课可能一样都不能少,同时要能了解公司的业务逻辑,更好地推动产品的上线,让不可能变成可能。


◆ ◆ 

职业生涯的起步和发展


既然典型的数据科学家是两类,那么对照着这两类对自己的技能树查缺补漏就行。要么补业务知识,要么补代码能力,要么补机器学习相关的技术与工具。总之,不要一味追求所谓的新算法,而没有基础的分析或者工程能力,这样并不能解决任何问题,也不能带来任何价值。


从一位分析师或者程序员开始职业生涯,都是很好的选择。


然而,职业生涯的追求肯定不是一个 Title,而是某些能力,对照着理想中的独角兽差缺补漏,确实是非常好的办法。

原文发布时间为:2016-10-06


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
存储 编译器 C语言
c语言中char的作用类型
c语言中char的作用类型
1163 0
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
1349 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
机器学习/深度学习 人工智能 自然语言处理
AIGC的伦理考量与法律框架
【7月更文第27天】随着人工智能技术的发展,AI生成的内容(AIGC)已经广泛应用于各种领域,包括但不限于新闻写作、图像生成、视频制作等。这些技术的进步带来了巨大的经济效益和社会价值,但同时也引发了一系列伦理和法律问题。本文将探讨AIGC技术的关键组成部分,分析其伦理考量,并提出相应的法律框架建议。
486 7
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue中小企业人事管理系统代码(源码+部署说明+演示视频+源码介绍)(1)
基于SpringBoot+Vue中小企业人事管理系统代码(源码+部署说明+演示视频+源码介绍)
296 0
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
542 16
|
Ubuntu 计算机视觉 C++
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
9754 0
|
应用服务中间件 nginx Docker
docker swarm创建覆盖网络
【10月更文挑战第14天】
159 3
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
226 3
|
定位技术
数据收集方法
数据收集方法
989 1
|
机器学习/深度学习 算法 数据挖掘
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组