我的职场梦想:成为一个有专业背景的数据分析工程师
好久没有分享职场文章了,一是没什么可写,二是有点难过。我的跨专业申请第二个研究生没有成功。专业太受欢迎,我的背景不够强,毕竟一点电脑和编程语言都不懂,仅仅接触半年就想去挑战高难度学术专业,确实有点自不量力。好在自己的预期也是最多50%的机率。反正我当时的计划就是如果不被录取,我就自学。
从18年春天开始学习Python开始接触数据分析以来,在经历了去年的最基本的入门以及“妄想”之外,现在已经能够更冷静更认真的去对待这个学习的过程。作为一个没有任何编程背景的人,最开始只听说过“机器学习”和“数据分析”这两个概念之外一无所知。现在已经能够独自处理数据,并且从多种不同的角度分析且能够做简单的预测。重要的是,在学习的这个过程中,给我打开了另一个世界的大门。
五个月来学习情况汇总
从年初到现在,除了3个星期春节假期,工作之余我基本上除了阅读TS的19阅读计划 (8英文+12中文+各种中短篇16)和健身(滑雪 | 钢管舞 | 健身拳击 | 马甲线 )之外,大多数时间都花在了学习上。
✅《Data Science for Business》完成了整本书 。 这本书是斯德哥尔摩大学的一位教授推荐的。
✅ 其它六本英文专业书, 共学习了16个章节
✅《统计学习方法》、《机器学习》、《统计学》 三本书的六个章节
✅ 数据分析相关文献: 10篇
✅ 本职工作专业文献: 20篇
✅ 博士论文: 2篇
✅ 著名的Stanford大学教授Andrew Ng的机器学习的视频,从第课看到了第10课的中间,一共 61个。
✅ 《Machine Learning》 课程:Ch1 & Ch3 视频+课件学习
✅ Havard的数据分析课程,从第0课到第2课, 课件,练习+Lab,这个很费时间。
✅ 其它课程,都是从所需角度去截取章节学习的。
✅ 5月20日购买了一年期的DataCamp 课程,直到5月31日,11天完成了6门课程。
当然这个学习的过程并不是一帆风顺的,经常是学到一半,发现没有所需的基础,就去找资源,接着又发现更多问题。缺点是花了很多时间,优点就是通过接触不同的内容,我也逐渐的稍微了有一点点门道,逐渐的有了一个大的框架,数据分析、数据挖掘、机器学习、大数据、深度学习、人工智能等,逐渐的意识到我应该从那些薄弱的环节入手。
我的自学过程是这样的:
1: 找个工具可以处理大量的excel或者csv文件。用excel直接把我电脑弄卡掉,并且提醒我要换成64bit电脑。成功换了电脑之后,处理一个75MB的excel文件,依然慢的要死。因此在公司Yammer里面咨询。公司的一个data scientist建议我用Python,还有一个同事建议我用R。最后因为颜值的原因选择了Python。(到后来需要用机器学习的时候,才发现我选择对了)。
2: 直接上项目操作来学习。现在看来我这个方式其实并不太对。当时因为时间有限,需要在固定时间内把项目完成。因此我没有从最基本的Python语法和工具包开始学,直接用项目数据开始做。好在让我用Python的同事用我的一个数据给我做了一个示范 - 如何读取数据。之后就是我自己研究了。因为是项目上数据,我很熟悉,以前数据量小的时候,我用的都是excel的Pivot做。需要实现什么样的图形我脑袋里都是有。所以我是反这进行的,根绝我要的结果去寻找实现它的代码。
3:发现自身的问题。 项目做完了,我也算是一点点入门。这个时候其实我还只是在门槛,半只脚都没有走进去。正如男朋友说,我虽然完成了项目,也基础了一个编程语言,但是我的那些代码是因为通过反推而复制别人的代码,什么原理我并不真正的了解,尤其是很多逻辑关系让我经常很挠头。
4:从基础开始继续学习。当我明确了自己的目标想要朝着这方面发展之后,我就开始搜索各种资源,花时间去研究去学习。目前正在一步步的建立自己的学习体系。根绝自己的弱项,以及目前最需要的一些技能展开学习。
学数据分析需要做什么?
貌似小她有不少姐妹也想着要学习数据分析,我就想趁着这个机会把我自己这一年的心得分享给大家。说的不一定对哦,只是适合我自己而已。欢迎大家指正。
1、明确职场定位以及业务分析能力
我给自己未来职场定位是我目前专业的数据分析师。我喜欢与数字打交道,现在这个时代数据也越来越多,能有数据收集以及分析预测的能力,在自己的专业上一定能有更好的发展前景。
未来的数据分析师,不但要有很强的数据处理、分析与算法使用的能力,还需要所在行业数据的专业背景知识。 比如我是做能源类行业的,我的数据都是我专业方向上的数据,相对于专业的数据分析师,我的专业背景要强很多,如果我能够有使用数据分析工具的能力,能够了解如何用不同的算法去实现数据分析,实现预测,实现建模,那么我的核心竞争力就会更高。
2、愿意付出时间并且不能怕难
很多人也可能都和我一样半路出家,都有自己的专业,在工作的时间如果不能用到数据分析,只能在业余时间自己学习。所谓兴趣是最好的老师。我愿意花时间去上相关课程,愿意花时间去搜寻资料,愿意花时间去看其他人的blog学习他们如何用某个代码实现某个功能,用某个算法来预测一个东西。
在这个过程中也遇到了很多问题,有时候一个问题或者一个概念就要花费我几个小时去理解去消化,有时候一个内容学过了,过了一阵子没有应用就忘记了,需要的时候又重新学。还记得去年11月我花了1个月时间上了几门课程,里面有一个关于聚类的。今年4月份的时候,和同事聊到聚类算法的时候,我居然一点都没有想起来,我说我不知道这个算法。等他给我解释了一下我才发现我有接触过。当时还是很有挫败感的。
3、基础理论知识+数据可视化
做数据分析,不是简单的学会一个编程语言或者一个数据分析工具就行。数学和统计学基础,数据分析工具,编程语言,数据获取的途径,逻辑思维能力,几大常用算法的原理和实现,数据可视化以及报告能力, 这些都是要必备的基本知识。
数据和统计学基础:比如高等数学、微积分、线性代数、矩阵,统计学,概率论,信息论等。比如矩阵,我N年前学的矩阵,早就忘记了,这次又重新学了一遍。比如线性代数,什么线性相关,非线性相关等。还有统计学中,比如方差、标准差都代表什么,置信区间表示什么,还有各种概率论,包括先验后验等。还比如用信息论来决定树根等等等。
数据分析工具有很多,Python, R, SQL, Excel等等,还有处理大规模数据比如那种streaming的数据的Spark等等。工具里又可能包含很多第三方包。语法如何写,包如何用,回归、分类、聚类等几大类算法。 如何获取数据以及数据的预处理,基本上数据的预处理要站去整个数据分析的70-80%的时间。做出来的模型是否过拟合,数据之间的相关性如何,这些都要去学习。
逻辑思维能力也非常重要。我自己就有一个特别深的感受,在做数据处理的时候,每次遇到loop这块我就很头疼,所以之前的我一直选择的是用更多的代码和时间去完成(最近上的一节课,貌似开了点窍儿)。如果一个人的逻辑很混乱,那么这个人很难去呈现一个逻辑清晰的报告,对业务提出建议和策略。
以上这些也只是入门而已。当你学到的东西越多,你会发现需要去学习的也更多。我前几天本来还在上一个系列课程,发现第三个课程的需要有另外四门课程的基础才行,所以我现在努力学习另外的四门课程。
对于我来说,我接下里要学习的基础内容包括,统计学(尤其是概率论)、信息论、复习线性代数、学习矩阵、pandas、numpy。基础内容学完后,目前的计划是学习几大算法,不是简单的代码实现,而是要去学习背后的原理。再往后的话,暂时先不打算想了。也许那个时候会出现更好的工具需要去掌握呢。
好在过去的这一年多学习过程中,我从来没有想过要放弃。希望某一天,我的职称可以改成process data specialist或者process data engineer。
谢谢
谢谢
嗯嗯,你确实是勤奋的好学生。我其实也差不多是半路出家,写程序的,从刚开始写个hello world 出来兴奋半天,到现在每天在家练习算法,一次性写出不带任何bug 的小程序,只能说这条路确实不好走。不过人工智能绝对是未来方向,我也是整天看各种资料,往里钻,基本我觉得我们这一代的养老是基本靠人工智能了。
来过
发现你的中文表达相当正常了!
打赏100,好棒好上进,看你时间不仅能用来增加技能,还能用来享受生活,为什么我总觉得时间不够用,明明什么都没做。
我也不行啦 都是思考很久 纠结很久的东西 才慢慢理清一点点头绪
谢谢夸奖 我没有一种语言能表达正常的
谢谢提醒
我也觉得时间不够用啊
你的周总结怎么不做了? 我没有发表 但是还是都记录着 看看自己每周完成的东西是否让我满意
犯懒了,所以就没做了
太厉害了👍