Data Science完整学习路径Python版
从Python菜鸟到kaggler的旅程
要是你想成为一个数据科学家,或者你已经是一个,并且想扩展你的工具库。你来对地方了。本文目的就是为Python新用户提供一个全面的学习路径来进行数据分析。这条路径提供了一个全面的概述,您需要学习如何使用Python进行数据分析。如果你已经有了一些背景,或者不需要所有的组件,你可以随意调整你自己的路径,让我们知道你是如何改变路径的。
你也可以检查这个学习路径图迷你版:–>在Python中学习数据科学的快速指南。
步骤0:热身
在开始你的旅程,第一个问题的答案是:
为什么使用Python?
或
Python如何有用?
观看这个杰瑞米(Founder of DataRobot at PyCon 2014, Ukraine)谈话的前30分钟,了解Python可以如何有用。
步骤1:设置你的机器
既然你已经下定决心,那现在是时候来设置你的机器了。最简单的开始方法就是从Continuum.io下载Anaconda。它打包了你以后最会需要的几乎所有的东西。采取这条路线的主要缺点是,即使在底层库有更新的情况下,您仍需要等待Continuum更新它们的包。如果你是一个初学者,这应该无关紧要。
如果你在安装过程中面临任何挑战,你可以在这里找到各种操作系统下的详细指导。
步骤2:学习Python语言的基础知识
你应该从了解语言、库和数据结构的基础知识开始。由DataCamp提供的免费的交互式Python教程是一个开始你的旅程的最好的地方。这4小时编码课程的重点是如何用Python开始数据科学的分析工作,最后你应该对语言的基本概念感到不陌生。
重点学习:Lists, Tuples, Dictionaries, List comprehensions, Dictionary comprehensions
其他资源:如果交互式编码不是你的学习风格,你也可以看看谷歌Python课堂。这是一个2天的课程系列,也包括一些后续讨论要涉及到的部分。
步骤3:学习Python中的正则表达式
您将需要大量地使用正则表达式进行数据清洗,尤其是如果你正在处理文本数据。学习正则表达式最好的方法是通过谷歌Python Regular Expressions课堂,并保持这个Regex Cheatsheet在手边。
作业:完成婴儿名字练习
如果你还需要更多的实践,按照本文本清洗的教程。这将挑战你所涉及的数据争论的各个步骤。
步骤4:学习Python的科学计算库–NumPy,SciPy,Matplotlib和Pandas
这就是欢乐开始的地方!这里是关于各个Python库的简介。让我们开始练习一些常用操作。
- 彻底地练习NumPy教程,特别是NumPy数组。这将形成一个良好的基础以备学习后续内容。
- 接下来看SciPy教程。浏览介绍和基础知识部分,依据你的需要完成其余的。
- 如果你认为Matplotlib是接下来的教程,你错了!对于我们这里的需要而言,他们太全面了。作为替代,看这个IPython notebook到第68行(即到动画部分)
- 最后,让我们看看Pandas。Pandas为Python提供了数据帧(DataFrame)的功能(类似R)。这也是你应该花时间练习的地方。Pandas会成为所有中等规模的数据分析最有效的工具。从一个简短的介绍,10 minutes to pandas,开始。然后移动到一个更详细的Pandas教程。
- 看看DataCamp的Pandas基础课程
你也可以看看Exploratory Data Analysis with Pandas和Data munging with Pandas
其他资源:
- 如果你需要关于Pandas和NumPy的一本书,推荐Wes McKinney的Python for Data Analysis
- 有很多教程,作为Pandas文档的一部分。你可以在这里看一看。
作业:解决来自哈佛的CS109课程作业。
步骤5:有效的数据可视化
看完这个CS109讲座。你可以忽略最初的2分钟,但是接下来的内容是极好的!跟着这个讲座完成作业。
看看DataCamp的Bokeh Data Visualization教程。
步骤6:学习Scikit-learn和机器学习
现在,我们来到这整个学习过程中最美味(吃肉)的部分。Scikit-learn是Python最有用的机器学习库。这里是一个关于该库的简要概述。完成哈佛CS109课程的第10到18课。您将学习机器学习概述,监督学习算法(如回归),决策树,集成建模和无监督学习算法,如聚类。跟上那些讲座以及作业。
其他资源:
- 如果有一本书,你必须读,它是Programming Collective Intelligence-一本经典著作,但仍然是关于这个问题的最好的书之一。
- 另外,你也可以关注一门最好的机器学习课程Machine Learning course from Yaser Abu-Mostafa。如果你需要关于技术更清晰的解释,你可以选择Machine learning course from Andrew Ng和后续的Python的练习。
- Scikit-learn教程
作业:尝试这个在Kaggle上的挑战
步骤7:实践、实践和实践
祝贺你,你做到了!
现在你拥有所有你所需要的技能。这是一个熟能生巧的问题,没有比Kaggle更好的地方了,去跟其他数据科学家竞技。去参加Kaggle当前举办的竞赛,“显摆”一下你所学到的!
步骤8:深入学习
既然你已经学会了大部分的机器学习技术,现在是时候进击Deep Learning了。你已经知道什么是深入学习,但如果你还需要一个简短的介绍,这里有一个很好的机会。
我是个Deep Learning的新手,所以请半信半疑地接受这些建议。最全面的资源是deeplearning.net。你会发现一切都在这里-讲座,数据集,挑战,教程。你也可以尝试从course from Geoff Hinton了解神经网络的基础知识。
开始使用Python:从头开始学习Python数据科学的完整教程
注:如果您需要使用大数据库,拿Pydoop和PyMongo一试。他们不包括在这里作为大数据学习路径的一部分,它们本身就是一个完整的话题。