本帖最后由 寒泣露 于 2014-7-21 19:09 编辑
Data Scientist需要深刻理解需求和问题所在,然后对数据进行处理,采取合理的量化分析寻求答案,所推荐的答案,也必须是backed by data evidence。
Warald认为,以下三类技能是很重要的: 《一》Data Hacking 要有独立从各种各样的地方把数据化为己用的能力。可能会用到的: 1. SQL:用来存储和查询structured数据 2. Programming:比如用Python for parsing/scraping data。如果既会一门scripting language,又会一门compiled/object oriented language,会是优势。主要是用来处理unstructured数据 3. Hadoop/parallel processing:你处理的数据可能太大(比如超市过去半年的购物记录、信用卡公司两年内的刷卡记录)无法一次性装入内存,而你需要对数据进行快速的分析,这就需要MapReduce等技术。 这其中,SQL和Programming是最基本的,你必须会用sql查询数据、会快速写程序分析数据。当然,你的编程技术也不需要达到软件工程师的水平,因为你写的code大多数只是一次性的、不会被复用,而且也只会被你或者个同事使用,并非放在网上让无数人点击,因此对程序质量要求不高。 要想更深入的分析问题,你可能还会用到: 1. Exploratory analysis skills,可以使用python、R、matlab等各种工具,IT公司用SAS和SPSS相对较少,尽管有些job ads/descriptions里提到了,当然也不是完全不可以。 2. Optimization、Simulation:有些职位需要研究顾客需求变化,调整产品或者服务价格,来帮助公司最大化盈利 3. Machine Learning、Data Mining:比如有人用数据挖掘技术,发现很多人在超市里买尿布的同时,也买了啤酒 – 现在还没理解为啥,但是也许尿布和啤酒应该放一起卖;另外比如手机广告的精准投放。 4. Modeling:你需要理解不同的统计模型有什么应用范围、有什么限制和特长,我在第一部分里提到的descriptive、predictive、prescriptive三个场景也是浅显的例子
《二》Problem Solving: 你不光要理解what userssay they want,你还需要真正的理解what they actually mean、转化定义出一个可以用数据解决的问题,然后选择正确的分析工具,量化分析和解决问题。
《三》Communication 数据科学家会跟公司的很多不同部门的人打交道,会比码农跟更有机会见到高层或者是 business领域的人。如果你希望接触像市场营销这样的部门,希望跟上级领导多多打交道,那你需要有较强的交流能力。你需要知道区分什么是问题本质、什么是技术细节,要有能力给上层领导讲high level的分析和推荐,有能力给同事讲解和defend你的技术细节,也就是”见什么人说什么话”,这不是说要你油滑,而是说要知道什么时候需要隐藏技术细节,而只展现跟听众最相关的信息。 你很可能要经常做presentation,需要很强的visualization的能力,熟悉Edward Tufte和Nathan Yau的东西,会很有帮助。另外,也许你很喜欢高深的方法,觉得你懂你NB,但是一切的解决方案,都要从产生business revenue的角度来考虑是否合理。 你也可能需要跟softwaredevelopment team合作,需要讲清楚需要他们实现什么、需要告诉他们什么地方需要改进。 至于你所从事行业的domainknowledge ,懂最好,不懂也不必强求,某知名公司的VP 曾经跟我说,他这个行业的特有知识,3个月内可以学会,但是 数据分析能力,可不是三个月就能学出来的,并且不同行业背后的数据分析能力是普适的。 |