工作之余,数据分析入门知识系统性学习也有大半年了,在这个过程中收获很多,也走了一些弯路,将自己的学习路径写出来,希望能帮助更多想要学习数据分析以及刚从事数据分析的同学。希望大家一起共同学习,共同进步。
数据分析的技术栈可以分为以下几个模块:
(1)理论
- 概率论与统计学
- 数据分析
- 互联网相关知识
(2)技能
- Excel
- Python + Numpy + Pandas + Matplotlib
- SQL(MySQL + HiveSQL)
- 机器学习
理论方面,概率论与统计学是数据分析严谨的保障,理论扎实才能做好分析,仅仅观察对比有时候是会被数据欺骗的。数据分析理论说难不难,说简单也真的不简单,前人总结的很多数据分析的方法论能够指导分析工作的开展,帮助把握方向。这里重在思维的训练,学习如何把控全局,如何抽丝剥茧。相比于数据分析方法,如何使用方法更加重要。互联网相关知识,在我看来也是一类理论,对于非互联网行业的人来说,互联网的模式有着自己的特点,我们对于产品经理、运营、RD、营销等很多岗位都应该具有一定了解,对于数据化运营更需要深入学习,通过这些知识能够打开思路,也更方便工作中的配合。
技能方面,无论 Excel 还是 Python,或者是 R 都是工具,这不仅取决于自己的熟悉程度,也取决于所在工作部门的喜好。当然会一门编程语言在当下是十分重要且必要的,而且编程语言可以触类旁通,如果能熟练使用 Python,那么学习 R 也一定不是问题(笔者就是先学习 Python,随后发现 Excel 的 VBA 也不是那么难,甚至蛮亲切的)。SQL 同样是必会知识,在大数据的今天,我们很难通过 Excel 或 Python 单机处理数据,而 SQL 可以做到,而且大多数情况下,我们都需要先通过 SQL 得到我们想要的数据或结果,再进行分析。如果没有 SQL,那么很多工作就难以进行下去。此外,机器学习算法也应该有所涉猎,机器学习同样可以帮我们拓宽思路,对分析结果提出更加可行的优化方案。其实想要了解机器学习并不难,只要我们懂得自己的业务,并且熟悉模型训练,就能够做出一个简单模型。然而如果想要优化模型,这就需要专业的知识来指导(有时候往往忽略对业务属性的把控、分析与挖掘)。在保证业务属性的质量和使用正确性后,选择合适的模型并进行调优,一般就能将模型在业务场景中发挥一定的作用。
下面将给出我这半年来觉得收获很大的学习资料和练习资料。
理论:
1. 概率论与统计学
- 《Head First 统计学》(Head First 系列书籍很适合入门,引发思考)
- B 站上的统计学课程(根据喜好选择适合自己的课程,帮助巩固书中所学知识)
- 《概率论与数理统计》(陈希孺著,难度较大,后续持续学习)
2. 数据分析
- 《谁说菜鸟不会数据分析——入门篇》(入门友好,帮助拉近与数据分析距离)
- 《Head First 数据分析》(更加进阶,建议在学完统计学后再做学习)
- 《面向数据科学家的实用统计学》(强烈推荐,进阶书籍,建议放在最后学习,需要统计学、数据分析、机器学习、Python 等相关知识)
3. 互联网相关知识
- 《互联网产品修炼手册》(数据分析脱离不开业务,产品和业务更加贴近,了解产品的知识大有裨益)
- 《增长黑客》(强烈推荐,经典书籍)
- 《数据化运营:系统方法与实践案例》(强烈推荐,感受作者的思路,获益匪浅)
技能:
1. Python
- 《Python3.5 从零开始学》(入门书籍)
- 廖雪峰 Python 学习网站(入门,碎片化时间学习)
- 重在练习(学完 Python 当时尝试用 openpyxl 做了一些表格处理的工作练习,这是一个持续练习与进步的过程,不疾而速)
2. Python 数据分析
- Numpy
- Numpy 菜鸟教程(可以直接学习菜鸟教程,再借助其他的 blog 和书籍补充知识。如果后续想深入学习,一方面可以在遇到问题的时候查资料,看看别人如何解决,一方面可以去官方文档中系统学习)
- 这100道练习,带你玩转Numpy(阶段性巩固知识)
- 后续的实战练习会继续巩固这些知识,建议大家在学习时整理导图,形成自己的速查表,熟能生巧
- Pandas
- Pandas 易百教程(并不想推荐,但是也没有找到更好的,所以沿用 Numpy 学习的方式,先系统性了解一番)
- Python 基础命令速查表(建议收藏)
- 50道练习题带你玩转 Pandas(阶段性巩固知识)
- 如果学过 SQL,部分函数与 SQL 功能一同食用更佳
- Matplotlib
- Matplotlib绘图详解(入门)
- Python数据可视化方法之matplotlib(复杂图进阶)
- 50题matplotlib从入门到精通(阶段性巩固知识)
- 书籍
-《谁说菜鸟不会数据分析——Python篇》(在有了入门篇和 Python 的基础后,再阅读这本书会容易很多,熟悉感能够让自己感受阶段性学习成果)
- 《Python3智能数据分析快速入门》(巩固学习)
3. SQL
- 《SQL 学习指南》(帮助快速入门)
- LeetCode 做题(建议全做完,训练思维和熟练程度)
- 《Hive编程指南》(部分选学,重在架构原理、SQL 语法、调优)
- 如果学过 Pandas,与 Pandas 部分函数功能一同食用更佳
- 当然如果熟悉 Excel,也可以对比理解,帮助转换思维
4. 机器学习
- 《Python 机器学习基础教程》
- 《机器学习实战》
实战练习:
- 天池 Python 数据分析 —— 题库(亲切友好)
- 河鲸数据分析 —— 题库(亲切友好)
- Kaggle 世界最著名的数据挖掘比赛网站(加油)
在实战练习时,可以收集感兴趣且质量较好的 topic,进行分类,然后系统性的学习,跟着练习,在这个过程中也能帮助熟练 Python 数据分析相关的技能,同时也可以感受如何将数据分析与统计学的理论知识用于实际场景中。Python 练习时,我们一定要学会并习惯「debug」、「看源码」与「查阅官方文档」,这三个技能能够帮助后面快速上手大多数工具包,多多练习,多多总结,应用起来就会越来越自如。
至此,作者想说,学习是一个漫长的过程,但每一个阶段都会让自己受益匪浅。学习并非跨越一座又一座山,只要我们一直在路上,不知不觉就会走得很远,回头望去,也许才知道翻过很多山,而前方的脚下只是路而已。有时候学习一遍没有感觉并不可怕,也许是我们需要再学习多遍,有时候可能是某些基础知识的欠缺,这些只要我们多努力些,调整节奏与计划,终能克服。同时,我们要带着目的去学习,并非所有知识我们都要掌握,我们需要时刻把握方向,不能在学习中迷失,即便当下的方向不够正确,这并不可怕,因为我们还可以回头补救,扩展学习。最后,希望大家可以共同学习,共同成长~~~