我的职场梦想:成为一个有专业背景的数据分析工程师
好久没有分享职场文章了,一是没什么可写,二是有点难过。我的跨专业申请第二个研究生没有成功。专业太受欢迎,我的背景不够强,毕竟一点电脑和编程语言都不懂,仅仅接触半年就想去挑战高难度学术专业,确实有点自不量力。好在自己的预期也是最多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。
比较有兴趣 学这个
执行力好强!
想去就去 不想去就不去, 我觉得你自己怎么开心怎么来呗 不过适当的和朋友聚会还是要有的
感觉你看了很多书和video ,我感觉我认识的大部分程序员和data scientist 可能都没有你看的书多了,不过这行最重要的是应用,多写code 多做peoject 吧。
因为什么都不懂 所以这抓点 那抓点。 真正看全的也就一本书。 我已经用了几个不同项目的数据 做了一些东西, 但是掌握的不好, 因为数据的不同, 所以发现很多问题。 主要就是没基础现在就从基础的开始联系, 工作的时候 简单的数据我也是用python 就为了练习
而且专业的data scientist 在学校那么多年 基础在那 这个作为业余选手 只能找自己方法
打赏100
喜欢有目标、上进、好学、能坚持、有毅力、阳光的TS,学习!
么么哒 谢谢鼓励
谢谢