上一篇主要分享了博主亲身转行数据分析的经历:【转行数据分析的亲身经历】 本篇继上一篇将分享转行数据分析的一些经验和学习方法,看完这篇你将会解决以下几个问题:
- 转行数据分析需要掌握哪些学习重点?
- 转行学习数据分析有哪些好的学习资源?
注意:
- 本篇内容是针对所有想转行数据分析人员的,内容深浅不一。若内容过于简单,可直接略过,若内容过于复杂,也不必担忧
- 本篇涉及到的所有推荐书籍博主已经打包,文章末尾会提供获取方式
编程基础
如果你是一个对编程毫无经验的小白,那么首先你应该掌握一定的编程基础(尤其像从其它行业转行到IT行业的朋友们)。对于新手来说,博主认为Python语言是最佳的选择。作为一个解释型的动态高级语言,Python易于理解,上手简单,非常适合初学者学习。一本快速入门Python语言的书籍推荐:简明Python。这本书英文原版为《A Byte of Python》,经翻译变为《简明Python》。博主也给好多人推荐过,大家看过之后基本上都很认同,是入门Python最快效果最好的书籍。
如果你已经了解了Python编程的基础用法想要继续深入学习Pyhon,那么博主推荐你去看:廖学峰Python教程。它基本上涵盖了Python编程入门到精通的所有知识,如果你能将这个看透,那么可以说你已经掌握了Python这门语言了。
学完了Python的理论知识,当然就需要应用,需要实战。博主之前分享了一篇文章非常适合Python初学者的实战项目,非常有趣,也易于实现。如果你也苦于找不到一个合适的练习项目,那么可以尝试一下这个练习项目:
- 给Python初学者的最好练手项目
数据分析基础
抛开对业务层面的基本理解,学好数据分析首先需要了解统计学,统计分析是数据分析的基础,也是灵魂。下面博主列出统计分析的几个核心内容:
- 描述统计,统计推断,概率论;
- 抽样,分布,估计,置信区间,假设检验;
- 线性回归,时间序列;
博主推荐一本比较好的统计学书籍:统计学,这本书清晰的讲述了基础的统计学知识,非常经典。
数据分析工具
SQL语言
博主之前做过一个统计,就是统计招聘网站上关于数据分析师的招聘信息关键词,其中词频最高的是SQL。这就说明了一个问题:数据分析师最关键的一项技能就是会使用SQL语言操作数据库。
关于SQL的学习博主推荐两个学习路径:
- w3school
- SQL必知必会
这个学习没有捷径,需要一个学习规划,一般学习周期不长,两个星期就可以学一遍,但是更多的是反复练习刷题,推荐到Leetcode进行一些实践练习。
Excel基本操作
作为微软的一个出色表格处理工具,Excel也是数据分析师需要掌握的。因为公司很多其它部门非技术人员是不会使用编程工具的,而会使用相对简单的Excel来处理一些报表。这个时候就可能需要你可以在Excel中做一些数据分析工作然后反馈,但是也不必太深入,掌握核心的功能即可,比如:
- 增删改查
- 各类常用函数的使用
- 各类基础图标的制作
- 数据透视表等
能够熟练运用上面功能就可以,学习周期很短,甚至一天就能学会,主要是熟练。而对于剩下的复杂功能等遇到了再学习也不迟。
Python or R?
R语言就是为统计学而设计的语言,是统计行业中非常高效实用的工具,目前非常受欢迎。而Python作为目前非常火爆的语言,由于其出色的科学计算包pandas,numpy,scikit-learn等的存在,非常适合于数据分析与数据挖掘,也是很多人的不二选择。
关于这Python和R,博主认为二者皆可,选择自己顺手和喜欢的。由于博主自己是Python爱好者,也因为它的简单易用,因此强烈推荐使用Python。在Python的基础上有更高级的交互式IPython工具,可以说这让数据分析变得更加方便了,博主推荐使用Jupyter notebook,非常好用,谁用谁知道,如果不知道怎么用,可以参考下面教程快速入门。
- Jupyter notebook快速入门教程
如何使用Python进行数据分析?
使用Python做数据分析,首先需要学会使用numpy和pandas包,因为它是Python数据分析的核心工具。numpy主要解决一些数学计算,矩阵变换,线性代数等问题,pandas更像是一张excel表,有行列定义,字段定义,以及数据变换和预处理等操作。两个计算包非常强大,pandas包自己就有两千多个方法,但是别慌,我们只要掌握核心方法就可以了。关于如何学习numpy和pandas,博主后续也会不断分享介绍,但是这里先贴出两张numpy和pandas学习的思维导图,总结的非常好。
- numpy学习思维导图
- pandas学习思维导图
除此之外,推荐一本特别好的Python数据分析书籍:利用Python进行数据分析,这本书是入门Python数据分析非常好的书籍,从numpy,pandas,数据预处理,数据重塑合并,数据变换等各种关于数据的操作,最后还介绍了Python的时间序列用法以及在金融领域上的应用。
另一本推荐的数据分析书籍是:深入浅出数据分析,这本书使用图表示意比较多,内容也很丰富,也是不错的参考资料。
Python数据可视化
Python的数据可视化工具是matplotlib,matplotlib的功能也十分强大,将它使用好会让你的数据可视化美观清晰,吸人眼球。另外一个可视化工具是seaborn,它是在matplotlib基础上封装的更高级的可视化工具,使用方便,图表非常美观,并有FaceGrid,PairPlot,heatmap等强大的复合型可视化方法。
这两个工具的官方网站都有详细的使用说明,但如果你想快速学习核心使用方法也可以参考下面几个教程:
- 快速入门Matplotlib教程
- Seaborn从零开始学习教程(一)
- Seaborn从零开始学习教程(二)
- Seaborn从零开始学习教程(三)
- Seaborn从零开始学习教程(四)
爬虫和机器学习
好多朋友问:数据分析岗位要求会爬虫吗?要求会机器学习吗?
首先说爬虫。其实说实话,对于数据分析而言,爬虫真不是必须的,因为一般的大公司都有专门的爬虫团队。数据分析只是将数据从数据库取出然后做数据处理和分析。不过,爬虫作为一项技能是可以在一定程度上加分的,起码在博主的面试经历中是这样的。博主之前分享过一系列爬虫技术的文章,感兴趣的朋友也可以在后台学习资源中找到,这里不赘述了。
其次是机器学习。对于机器学习,博主想说这部分还是有必要了解一下的(不是必须),因为一是可以给自己加分,另外也可以让自己清楚未来的职业方向。数据分析的发展方向一般有BI商业方向,行业分析业务方向,和机器学习数据挖掘方向。了解常用的监督和非监督模型,如朴素贝叶斯,决策树,聚类等可以让自己更加深刻得理解数据分析。
机器学习的书籍推荐:《统计学习方法》,《机器学习》,《机器学习实战》三本书。
李航的统计学方法和周志华的机器学习(西瓜书)是大家最为熟知,最经典的书籍资源,两本书主要介绍机器学习的统计理论知识和公式推导,比较难啃,对于初学者其实并不建议花费大量时间深究。因为机器学习涉及的东西很多很杂,对于数学要有很强的功底,所以并不是短时间内可以全部掌握的。对于转行人员来说,时间是很宝贵的,因此博主建议这两本书可以作为参考,但不必盲目深入研究。而对于已经从事本行业的人员,这两本书无疑是最绝佳的参考资料,可以反复阅读。
机器学习实战这本书从实际应用的角度出发,更多的介绍了机器学习编程方面的使用,并附有大量源码分析,是非常具有特色的一本参考书籍,比较适合初始学习机器学习的人员。当然还有很多其它的参考资料,比如台大林轩田,Andrew Ng机器学习视频也是非常好的教学资源。
博主的建议是:先从宏观上了解各个模型的特征,优缺点及主要的应用,然后再慢慢由浅入深的学习各个模型算法的缘由和推导,因为这样不但会逐渐建立信心,也会对模型算法有更深刻的理解。总的来说,几本书各有特色,相辅相成,建议结合几本书一起学习效果最佳。当然,关于机器学习这部分,博主后面也会陆续给大家介绍。
博主分享真实经历就是希望给大家提供一个正确的学习路线和方法,因为自己曾经走过不少坑,摸爬滚打到现在真心不易。