接下来我要推荐的是一个完整的学习路线图,不仅仅包括了学习目标,同时也附带了学习网站以及资料,基本上可以在20周内学完。
为什么这次我没有列举网站,因为如果只是简单的列举学习网站,我可以列举100个以上,真不夸张。
python的学习网站得有10个以上吧,统计学再来10个,数据可视化10个,机器学习我能列出来几十个!
但是这样没用,因为根本无法形成系统的学习路线,小白看了一大堆网站往往直接被劝退了。
所以我非常推崇学习路线图,这一周学习A,接下来学习B,承上启下,循序渐进的进行学习才是最合理的方式。
大纲-数据分析学习路线图(方法+目标+资料+网站)
数学分析很多人学不下去的原因有很多,但主要的就是数据分析需要掌握的知识很多,又很杂,其他原因请对号入座:
- 对要学习的主题缺乏明确性
- 没有单一的资源/平台可以很好地学习有关数据科学的一切。
- 互联网上有大量资源,但很难去选择最适合自己的
- 很容易迷失在细节中
- 很难把控学习进度
这篇文章结合了medium的一个帖子,目的就是让小白可以更好的规划自己的数据分析学习。切记,时间划分要结合自己的背景和经验。
!每个分类主题都包含了免费的学习资料。
基础很差的同学,可以考虑知乎开设的这门数据分析课,跟着学几天,看自己到底读不对数据分析感兴趣,毕竟兴趣是最好的老师。
第 1 周到第 3 周——Python 编程
学习数据科学的第一步是熟悉编程语言。根据最近的 Kaggle 调查,大约 80% 的人主要在工作中使用 Python。如果你是编程新手,那么强烈建议你直接用 Python。
在 Kaggle 中可以找到最好的 Python 入门课程之一。以下是课程链接。完成本入门课程大约需要 5 个小时。
https://www.kaggle.com/learn/python
你在数据科学项目中所做的几乎所有事情都涉及编程。从数据收集、数据读取、数据分析、提取特征、构建模型、评估性能和部署,每一步都必须用到编程技能。
强烈建议你花足够的时间熟悉 Python 的各种功能。python不像C++或者Java那么复杂,它相对来说很容易。对于很少或没有编码经验的人来说,大约 2 到 3 周会比较好。
学习python时要关注的关键主题是,
- 基本语法
- 集合数据类型 Collection
- 控制流 if/while等
- 循环和迭代
- 函数和 lambda 函数
我也写了一个python的入学回答,有兴趣也可以参考一下: 毫无基础的人如何入门 Python ?
第 4 周到第 6 周——处理数据
任何数据科学项目的第一步都是从数据的角度理解问题。你获得的数据永远不会是完美的。你也可以把这一步理解为数据清洗。能够处理数据最重要的 Python 库是 Pandas。
Pandas 库提供了很多功能,可以让数据分析变得非常简单。如果你是 Python 或 Pandas 的新手,请从 PyData 的这个简单的 10 分钟教程开始。
https://pandas.pydata.org/docs/user_guide/10min.html
一旦你熟悉了基本的功能,那么这里是 Kaggle 的一个短期课程,最好的学习方式就是实践,处理数据集来学习 Pandas可以让你很快的入门。
https://www.kaggle.com/learn/pandas
Pandas 这种工具必须得多用,用的越多越熟练。你可以在 Kaggle 上选择一个有趣的数据集,每个数据集都有很多有趣的问题,你可以试着用学到的技巧去处理数据并获得这些问题的答案。
挑选一个有趣的数据集很重要,它可以让你保持足够高的兴趣,这对学习有很大帮助。
例如,如果你对房价感兴趣,则选择房价数据集。列出一系列的问题。比如说:
- 房产的平均价格是多少?
- 房产的平均年龄是多少?
- 随着房产的老化,它会影响整体价格吗?
- 哪些因素推动房价上涨?
为了处理以上的问题,你需要以下的pandas知识:
- 创建、读取和写入数据
- 选择和分配
- 聚合和分组
- 处理缺失数据
- 合并来自不同来源的数据
- 摘要、交叉表和数据透视功能
数据集的选择可以从易到难,从小到大,直到把所有的pandas基础功能都达到非常熟悉的程度。
第 7 周到第 9 周——使用数组
NumPy 是一个能够高效处理数组的库。很多时候,我们需要处理可能是多维的数组。NumPy 有助于提高计算速度并有效利用内存。它支持许多数学函数操作。不仅如此,它还被用于许多其他 Python 包,如 Pandas、Matplotlib、scikit-learn 等。
如果你是一个新手,那么下面的文章将有助于更好地理解 NumPy、执行的操作、流行的功能以及输入到结果的可视化表示。
https://numpy.org/devdocs/user/absolute_beginners.html
https://zhuanlan.zhihu.com/p/396444973
在许多数据科学项目中,我们会处理数值数据。非数值数据通常也会转换为数值数据。比如说,性别有男和女,那么直接处理男和女是很麻烦的,在这种情况下,我们通常用会01来指代男和女。
因此,学习使用 NumPy 对任何热衷于进入数据科学的人来说都是至关重要的。了解 NumPy 的关键主题是,
- 创建 1、2 和 3 维数组
- 索引、切片、连接和拆分
- 迭代和操作
- 排序、搜索和过滤
- 数学和统计运算
第 10 周——学习数据可视化
这个很好理解,图表更方便人们去理解一个结论,它既直观又能包含足够多的信息量。