转行数据分析,应该怎样选择和准备
自从上次写完面经后,很多朋友私信我都提到自己是转行数据分析师,因此经常面临简历投出去石沉大海,没有面试,接到面试不知道面试的侧重点在哪里,看过很多面经,有提到算法的,有提到业务分析,所以不知道如何下手准备,今天就来聊聊自己关于转行数据分析以及如何准备的一些拙见。
首先介绍一下自己的背景,本科学习的是金融,第一个硕士学习的是国际商务,这两段学习经历中没有接触过任何有关编程的内容,涉及数学的内容仅有微积分,线性代数和概率论(连高数的级别都没有达到),涉及统计的部分仅学过基础的统计学和计量经济学,因此掌握的内容仅限于假设检验、线性回归、置信度这些最基本的统计概念。正统的数据学习是从第二个硕士开始,专门学习数据分析,内容主要包括概率论、数据挖掘、数据可视化、GIS(地理信息系统),虽然每门课程学校里教的都不深入,但这基本涵盖了数据分析基本会涉及到的几个点。
大家可以看出数据分析中有很多的分支,而每一个分支就就决定了一个工作岗位的方向,从而也就决定了面试考察的侧重点。
数据分析行业吃饭的家伙什(不管做什么岗位,必须要学习的内容!!)
EXCEL : 各种计算函数,solver, 自带的data analysis工具, v-lookup, pivot table
统计学:e.g 假设检验,P值,R²,描述性统计,F检验,T检验
机器学习常用模型:(首先分清楚有监督学习和无监督学习)聚类,回归,决策树,随机森林,xgboost, SVM
python常用package:pandas,numpy,scikit-learn,statsmodel,matplotlib
SQL常用查询操作:SELECT, GROUP BY, ORDER BY, HAVING, WHERE, JOIN, 窗口函数
在掌握了上述知识后,数据分析行业内包括的几大分支
游戏数据分析师:从数据分析师中单独把这个职位提出来是因为其具有一定的行业特殊性,这个职位需要对游戏特别感兴趣,从我面过的网易雷火游戏数据分析师岗位来看,考察重点在于SQL和游戏场景题
数据分析师:重点考察业务场景的分析能力,这里的业务场景包括数据变动的原因分析,衡量结果的指标设计,产品功能的评定及优化,因此需要多去了解一些产品方面的知识,培养自己的商业直觉和分析能力。数据分析师极少(几乎没有)有需要手撕代码的情况,至多会问几个SQL题但是也不会过于复杂。
数据产品经理:和数据分析师类似,但更强调产品思维。一个好的数据产品经理一定是一个有创造力,能够设身处地站在用户角度思考,并且沟通能力很强的人。数据产品经理的角色更像是一个翻译者或者是一个桥梁,前端连接的是用户,后端连接的是工程师和开发人员。一方面需要将前端的零散的、感性的需求转化为工程师需要的结构化,条理化的要求,另一方面,需要懂技术、理解技术,将工程相关的专业术语转化为产品优势,通俗易懂地传达给最终的用户。
这里推荐俞军先生的《产品方法论》,无论是数据分析师还是数据产品经理,这本书都同样适用。
数据挖掘工程师:属于工程类职位,需要刷题,通常会有笔试(机考),考察算法能力,面试中考察重点会放在机器学习的相关模型和算法上,通常也会出现手撕代码的情况。工程类职位考察的使用工具的能力,所以对于数据挖掘算法的理解以及代码能力很重要,考察业务知识方面比较少。
大数据工程师:同样属于工程类职位,在数据挖掘工程师的基础上,同时需要熟练掌握Hadoop, Hive, Spark等大数据平台的使用
人工智能工程师:是数据挖掘算法更深层次的版本,需要学习神经网络相关的内容,这也是以机器学习为基础,但层次更高的框架型内容。涉及到的具体平台包括Tensorflow, Pytorch这些,良好的代码能力当然也是需要的。
NLP(自然语言处理)工程师:主要处理对象为文本型数据,因此NLP这个板块又需要拉出来单独学习。
算法工程师:对编程技术提出了更高的要求,甚至还涉及一些开发的内容。首先对机器学习的相关算法需要了解的比较透彻,同时,针对解决算法题的一些具体算法(e.g 二分法,递归,双指针,贪心算法,动态规划,宽度优先搜索等)需要会。该岗位在准备时需要刷题,笔试代码题和面试手撕代码题难度较之前都会有所提升,业务相关知识涉及的则更少。
不同背景的同学都在考虑往数据分析行业转变,但是转行并不意味着抛弃过去的所有背景和经历,那么针对自己的背景该如何选择?
(以下纯属个人意见,仅供参考,献给还处于迷茫期的同学,目标明确、兴趣鲜明者除外!)
理工科类背景
有很多理工科的同学说道,投递数据分析师的岗位之后面试收到的很少,感觉自己业务分析能力不够,一碰到场景题就发怵,商业直觉感觉也不强,这很有可能是因为一开始的方向选择出了问题,或者换句话说,转行的跨度一下子太大。
前文提到,数据分析师这个职位,偏商业,偏sense,偏产品,因此在筛选的时候显然会看中相关的项目或者实际经验,而理工背景的同学所做项目和这些关联并不大,如果想强行转入这个领域,自然需要去学习的内容就更多,同时还涉及到一个思维的转变。理工科可能更多的是理性思维,一板一眼,接触惯了公式、数字、图形,而做商业类分析时需要一些感性思维,有时会强调自己站在用户的角度去思考问题。
但是理工背景的优势就在于,在学校中必然会接触高数和编程类课程(C语言,JAVA等),这就给学习统计,机器学习模型以及python编程能力的提高打下了很好的基础,学习起来会感觉顺利很多。同时,在以往做过的项目中,但凡涉及到数字的内容,就可以通过语言的包装,将其往数据分析相关的经验上靠,增加获得面试的概率。
因此理工科类同学如果想转行,可以试着优先考虑工程类职位,转换一下思路,可能就不会如此苦恼了。
国外一个做数据类项目比较流行的平台是Kaggle,国内据我了解的平台有天池,CSDN, 都可以去了解一下。
文科类背景(重点应该是商科,包括少量文学类)
文科类背景出身的同学,通常最害怕的应该就是代码了,因为习惯了理论型的知识和感性思考,而编程是一门非常强调逻辑和练习的技能,所以强行的转换和跨越就会显得比较吃力。我个人就是这样,在转型的一开始学习的非常痛苦,无论是R还是python,没有任何的基础,而教授从来都是假设我们已经有一定的编程能力,直接灌输模型和思想,所以我在学习模型的同时还需要花很多时间恶补编程的基础内容才能勉强完成作业(头发都不知道熬掉了多少,hhhh),但是只要熬过了最痛苦的时光,入门后剩下的就是多练习就好了。
数据分析师或者商业分析师,是文科类背景同学转行比较好的选择,对编程和算法能力没有那么高的要求,更考验求职者的实际场景分析、用数据讲故事以及解读图表的能力。数据分析师的真正价值在于深入探索数据背后真正的逻辑所在,并且将这些逻辑为商业决策所用,提供数据支持,使每个决策更加客观和科学,也就是我们所说的data-driven。
同时,如果是商科出身的朋友,并且对于自己的算法能力及代码能力比较有自信的话,还可以有更多的选项,其中包括券商的量化分析师、数据研究员,各大银行的技术精英人才计划、数据部门,金融科技公司的模型工程师、信贷策略分析师、风控模型分析师,这些可以根据自己所掌握的商科类知识程度进行选择,有的可能会需要相关证书如CFA, FRM等。
同样的,简历方面需要将自己过往经历中任何和数字、数据沾边的内容进行重新包装,哪怕只是用EXCEL画了几张表,整理了一下数据,或者是将年报、财报中的数据进行了重新的统计,都尽量往数据分析的层面挂靠,从而更大机率通过简历的筛选。