数据分析学习路线

来自:编程剑谱(微信号:jp_learner_it),作者:wait0804

最近,写了 Linux C/C++、Java 的学习路线,对于要走这个方向的读者,看看文章,大致方向不会错的,在看的过程中,要慢慢培养自己的技术栈:


1、Linux C/C++ 学习路线(已拿腾讯、百度 offer)

2、Java 学习路线


对于 Java 学习路线,上篇文章说到的框架那块,有些过时了,现在直奔 spring 或 springboot 即可,另外 2 个框架不用学了。


后台三大主力,C++、Java、Go,Go 语言的学习路线不打算写了,目前走 Go 方向的人很少,看之后发展如何吧;上次读者留言,提到了数据分析,对于目前大火的 Python,在数据分析方面,是有一定的优势的。


数据分析方向的思考


1、

对于 Python,可以从事的方向有:爬虫、后台、web、数据分析、算法岗,目前来说,要是选择 Python 的话,走数据分析、算法岗是比较好的;当然了,Python 最适合的场景就是 AI,要是能直接走算法岗是最佳选择。


走数据分析的,大部分人本身可能只熟悉 Python,有一部分人是真的喜欢这个方向,有一部分人其实是被动选择,想找后台方向,不熟悉 C++、Java、Go,没法投递,想找算法岗,对于机器学习十大算法以及算法方向的能力暂时不具备,只能选择数据分析这么一个岗位了。


对于数据分析,国内招聘的需求岗位远不如后台、算法岗多,加上现在 Python 大火,很多人都走的 Python 路线,其竞争非常激烈,对于数据分析岗的技术含量,远没有算法岗那么多,要求也没那么严,其薪资待遇也不算高。


数据分析其实很实用,可以通过对大量数据的观察、分析、得到一定的规律,对于现在的大数据、云计算,尤其是面对海量数据,就需要一些快速处理的方法,数据分析岗位在公司中有一定的重要性,这个方向可以作为走向 AI 算法岗的跳板。


2、

对于技术没多大追求的,还想踏入互联网行业的,完全可以选择走数据分析,数据分析这个方向相对而言,跟业务挂钩比较大,熟悉了业务背景,还是很好上手的,如果一开始不具备算法岗的能力,也可以从数据分析入手,慢慢转向算法岗。


我要清醒的告诉大家一点:数据分析的技术含量是比较低的,如果你想长期从事技术方面的工作,还是需要走后台或者算法岗,很多人投递这个方向,其实是被动与无奈的选择(都不知道在工作中,数据分析到底是干啥的),一定要想好自己的职业方向。


如果真的喜欢数据分析,对数据比较敏感,一直从事在这个岗位也是挺好的,关键是要做自己喜欢的事情!


数据分析学习路线


数据分析,我在工作中有过简单的接触,自己目前入门较浅,根据自己的思考,分享一下我认为的学习路线、资料推荐,其中肯定有不足之处,希望大家在学习的时候,慢慢完善自己的技术栈就好了。


数据分析岗位,简单理解,就是对于数据的处理、分析,得到结果,所以这个方向需要学习数据分析的 2 个方面:工具 + 方法 (数据处理的工具以及数据处理的常见方法)。


数据分析最完整的流程:数据获取--->数据存储--->数据预处理--->数据分析--->数据可视化。


1、基础

Excel :最基础的数据处理工具,偏向于运营岗位的数据分析,作为一个数据分析师,Excel 无条件的熟练掌握,对于数据量较少,拿 Excel 进行分析、转换、运算即可,而且数据分析师很大一部分时间是在与 Excel 在打交道。


SQL:sql 语句的熟练掌握,这就是跟数据库打交道了,利用 sql 把数据进行提取,分析是很常见的一种方法(说句实话:算法岗也有一部分时间是在写 sql),不管你从事数据分析、还是算法岗,sql 都非常的重要,因为这是跟数据库打交道最直接的语句了。


我前面说过,不管你是啥方向,工作中最重要的三项技能,必须非常非常熟练的掌握起来:Linux + Git + Sql。


Python:Python 基础知识的掌握,主要是 Python 非常擅长处理数据,Python 有很多包、方法都是可以直接调用的,作为一名数据分析师,对于一些复杂的场景,会用脚本语言进行数据分析。


Python 爬虫:对于这项技术的理解,掌握了会更好,不会也不影响你作为数据分析师的日常工作,数据分析师的主要工作是对于数据的理解、处理,拿到结果;对于 R 语言,也是一门脚本语言,方便处理数据的,有时间可以接触,学习学习,Python 在这方面的需求是远大于 R。


数据分析师的基本功:Excel + Sql + Python,加上对于业务的理解,日常需求还是能完成的,对于那些计算机基础知识,肯定是掌握了更好啊!


2、进阶

Python 科学计算:pandas、numpy、scipy 等,pandas 常用于数据的清洗(重复、缺失、异常值等),把这些缺失的数据处理好,才能获得更加准确的分析;numpy 支持数组和矩阵的运算,提供了大量的数学函数库;scipy 是一个高级的科学计算库,很多数学统计的相关函数都在其中。


对于科学计算包 pandas、numpy、scipy 等,作为数据分析师的进阶是最好要掌握的,花些时间,把这些都得熟悉掌握起来。


概率论及统计知识:

(1)、基本的概念:均值、中位数、众数、极值等;

(2)、统计量:方差、标准差、显著性等;

(3)、概率论知识:条件概率、贝叶斯等;

。。。


有了统计学的基本知识,就可以拿上面的量化数据,来描述数据的指标,观察数据规律,得到一些结论性的总结,以及一些变化趋势的预估,这块数据分析做的就是有些技术含量的东西了。


3、拔高

数据分析师的拔高,就是在慢慢的走向机器学习方向,慢慢的转为算法岗。


特征工程的基础:如何统计数据特征、选用不同的特征,做模型的优化;

基本的分类算法:决策树、随机森林等;

基本的聚类算法、数据挖掘、常见的机器学习算法的了解;


做到这步的话,慢慢就会有数据挖掘、机器学习的感觉,一个优秀的数据分析师,数学功底是扎实的,就是在潜移默化的转向数据挖掘岗。


4、推荐资料

书籍:

《对比Excel,轻松学习Python数据分析》:易懂易学的好书,强烈推荐!

《利用Python进行数据分析》

《深入浅出统计学》


MySQL-菜鸟教程:

https://www.runoob.com/mysql/mysql-tutorial.html

视频:极客时间有一门数据分析课程,去搜搜看。


数据分析工作中


2019 年腾讯暑期实习招聘


看看投递数据分析方向的比例是多么的吓人(50:1),岗位少,投递人多,竞争太激烈了;看看腾讯对于数据分析师要求的技术栈:数学功底 + Python 脚本,基本上就是这些。


当你对于一个岗位,不知道学啥、不知道怎么构建自己技术栈的时候,你就多去官网看看,对于这个方向的要求,会给你指明一个大体的方向,按照着学习、准备、提升自己的技术能力就好。   


为啥大部分人都投递这个方向呢?我上面都说了,无奈与被迫的选择,如果计算机水平足够,大部分人还是愿意选择后台或者算法岗,多想想,时刻保持独立思考的能力。


对于大部分数据分析师,在工作中,掌握:Excel + Sql + Python 足够了,并没有多大的技术含量,拿的钱相对较少;我这边工作中接触的数据分析工程师,主要就是统计数据、效果追踪、报表可视化展示等。


每家公司的数据分析做的工作是完全不一样的,有的感觉很无聊,有的还有些技术含量,这取决于你的业务与场景,大厂和小厂的数据分析也有差别,不管咋样,时刻保持不断学习的劲头就好了。


面对新的领域,不在于我是否走这条路线,在于我是否思考、查资料、解决这些问题,能快速的给自己规划学习路线,这就是能力。


数据分析未来岗位还会增加,看看是否适合自己,认清自己在技术方面的能力,做好选择。


认真的人,自带光芒!

推荐↓↓↓
人工智能与大数据
上一篇:【Data Mining】机器学习三剑客之Numpy常用用法总结 下一篇:BigData | 大数据处理基本功(上)