原文:http://dataunion.org/?p=9805&utm_source=tuicool&utm_medium=referral
译者: Allen
从Python菜鸟到Python Kaggler的旅程(译注: Kaggle 是一个数据建模和数据分析竞赛平台)
假如你想成为一个数据科学家,或者已经是数据科学家的你想扩展你的技能,那么你已经来对地方了。本文的目的就是给数据分析方面的Python新 手提供一个完整的学习路径。该路径提供了你需要学习的利用Python进行数据分析的所有步骤的完整概述。如果你已经有一些相关的背景知识,或者你不需要 路径中的所有内容,你可以随意调整你自己的学习路径,并且让大家知道你是如何调整的。
步骤0:热身
开始学习旅程之前,先回答第一个问题:为什么使用Python?或者,Python如何发挥作用?
观看DataRobot创始人Jeremy在PyCon Ukraine 2014上的 30分钟演讲 ,来了解Python是多么的有用。
步骤1:设置你的机器环境
现在你已经决心要好好学习了,也是时候设置你的机器环境了。最简单的方法就是从Continuum.io上下载 分发包Anaconda 。Anaconda将你以后可能会用到的大部分的东西进行了打包。采用这个方法的主要缺点是,即使可能已经有了可用的底层库的更新,你仍然需要等待Continuum去更新Anaconda包。当然如果你是一个初学者,这应该没什么问题。
如果你在安装过程中遇到任何问题,你可以在 这里 找到不同操作系统下更详细的安装说明。
步骤2:学习Python语言的基础知识
你应该先去了解Python语言的基础知识、库和数据结构。Codecademy上的 Python课程 是你最好的选择之一。完成这个课程后,你就能轻松的利用Python写一些小脚本,同时也能理解Python中的类和对象。
具体学习内容:列表Lists,元组Tuples,字典Dictionaries,列表推导式,字典推导式。
任务:解决HackerRank上的一些Python教程题,这些题能让你更好的用Python脚本的方式去思考问题。
替代资源:如果你不喜欢交互编码这种学习方式,你也可以学习 谷歌的Python课程 。这个2天的课程系列不但包含前边提到的Python知识,还包含了一些后边将要讨论的东西。
步骤3:学习Python语言中的正则表达式
你会经常用到正则表达式来进行数据清理,尤其是当你处理文本数据的时候。学习正则表达式的最好方法是参加 谷歌的Python课程 ,它会让你能更容易的使用正则表达式。
任务:做关于 小孩名字的正则表达式练习 。
如果你还需要更多的练习,你可以参与这个 文本清理的教程 。数据预处理中涉及到的各个处理步骤对你来说都会是不小的挑战。
步骤4:学习Python中的科学库—NumPy, SciPy, Matplotlib以及Pandas
从这步开始,学习旅程将要变得有趣了。下边是对各个库的简介,你可以进行一些常用的操作:
•根据 NumPy教程 进行完整的练习,特别要练习数组arrays。这将会为下边的学习旅程打好基础。
•接下来学习 Scipy教程 。看完Scipy介绍和基础知识后,你可以根据自己的需要学习剩余的内容。
•这里并不需要学习Matplotlib教程。对于我们这里的需求来说,Matplotlib的内容过于广泛。取而代之的是你可以学习 这个笔记 中前68行的内容。
•最后学习Pandas。Pandas为Python提供DataFrame功能(类似于R)。这也是你应该花更多的时间练习的地方。Pandas会成为所有中等规模数据分析的最有效的工具。作为开始,你可以先看一个关于Pandas的 10分钟简短介绍 ,然后学习一个更详细的 Pandas教程 。
您还可以学习两篇博客 Exploratory Data Analysis with Pandas 和 Data munging with Pandas 中的内容。
额外资源:
•如果你需要一本关于Pandas和Numpy的书,建议Wes McKinney写的 “Python for Data Analysis” 。
•在Pandas的文档中,也有很多Pandas教程,你可以在 这里 查看。
任务:尝试解决哈佛CS109课程的 这个任务 。
步骤5:有用的数据可视化
参加CS109的这个 课程 。你可以跳过前边的2分钟,但之后的内容都是干货。你可以根据这个 任务 来完成课程的学习。
步骤6:学习Scikit-learn库和机器学习的内容
现在,我们要开始学习整个过程的实质部分了。Scikit-learn是机器学习领域最有用的Python库。这里是该库的 简要概述 。完成 哈佛CS109课程 的课程10到课程18,这些课程包含了机器学习的概述,同时介绍了像回归、决策树、整体模型等监督算法以及聚类等非监督算法。你可以根据各个 课程的任务 来完成相应的课程。
额外资源:
•如果说有那么一本书是你必读的,推荐 Programming Collective Intelligence 。这本书虽然有点老,但依然是该领域最好的书之一。
•此外,你还可以参加来自Yaser Abu-Mostafa的机器学习 课程 ,这是最好的机器学习课程之一。如果你需要更易懂的机器学习技术的解释,你可以选择来自Andrew Ng的 机器学习课程 ,并且利用Python做相关的课程练习。
•Scikit-learn的教程
任务:尝试Kaggle上的这个 挑战
步骤7:练习,练习,再练习
恭喜你,你已经完成了整个学习旅程。
你现在已经学会了你需要的所有技能。现在就是如何练习的问题了,还有比通过在Kaggle上和数据科学家们进行竞赛来练习更好的方式吗?深入一个当前 Kaggle 上正在进行的比赛,尝试使用你已经学过的所有知识来完成这个比赛。
步骤8:深度学习
现在你已经学习了大部分的机器学习技术,是时候关注一下深度学习了。很可能你已经知道什么是深度学习,但是如果你仍然需要一个简短的介绍,可以看 这里 。
我自己也是深度学习的新手,所以请有选择性的采纳下边的一些建议。 deeplearning.net 上有深度学习方面最全面的资源,在这里你会发现所有你想要的东西—讲座、数据集、挑战、教程等。你也可以尝试参加 Geoff Hinton的课程 ,来了解神经网络的基本知识。
附言:如果你需要大数据方面的库,可以试试Pydoop和PyMongo。大数据学习路线不是本文的范畴,是因为它自身就是一个完整的主题。
英文出处: www.analyticsvidhya.com
文章出处: http://python.jobbole.com/80981/
第一部分是Python基础部分,主要是环境的搭建,库的安装,基础语法的了解,学习时间2周
包括Python开发环境的搭建(使用Anaconda+pycharm,安装该环境包 含了上课所需要的所有库,即包含numpy、pandas、scipy、matplotlib、scikit-learn等等,网上搜索 Anaconda、pycharm即可获取安装。)基础语法的了解,语言的示例和规范,变量、常量、运算符、表达式相关基础知识。
第二部分是Python数据挖掘的基础,主要是python数据分析相关库的学习和应用,学习时间2周
Python数据挖掘基础主要是对数据分析相关库的使用,比如数据整理需要用到 numpy和pandas库,数据描述与分析分析则主要用到pandas库,用Scipy处理非结构化数据,使用回归线性模型和回归树模型进行预测等等用 python做数据分析和数据挖掘的库的应用。
第三部分是Python做文本挖掘及案例分析,主要是python爬虫的学习和应用,学习时间2周
数据分析离不开数据采集和爬取。第三部分主要是教如何利用Python进行网络爬虫,以及通过案例学习文本分类和聚类相关知识。学习时间2周
第四部分是Python数据挖掘案例,主要通过讲解案例和动手实践案例,达到知识的融会贯通的应用。学习时间2周
第四部分主要是动手、实践,将上面学习到的理论知识得以应用。第四部分案例覆盖决策树、 朴素贝叶斯、最近邻、随机森林、支持向量机、神经网络等重要的数据挖掘方法。拟完成的案例包括不限于以下:使用关联规则进行购物篮分析、垃圾邮件的识别、 图像识别、Iris数据挖掘的各种方法比较、电影或者图书推荐系统构建、屏蔽网页内容、街景识别和分类、手写文字的识别、最近邻回归进行预测、降维的各种 方法、k-means聚类和中位数聚类等等。含经典编程写算法和scikit-learn等。
最后,除了系统的学习上述相关知识之外,最主要的还是要复习,实践,实践,实践,最后才能真正出师,成为Python数据分析和数据挖掘高手。关于本课程的系统学习,大家可以跟着Gary一起学习《Python数据挖掘实战》课程,系统的学习上述内容,到时候老师会通过直播互动的形式跟大家一起探讨学习。
相关中文资源如下:
1.python工作集成环境包
Python(x,y):下载地址:http://python-xy.github.io/downloads.html
Pycharm:下载地址:http://www.jetbrains.com/pycharm/download/#section=windows
2.python数据分析相关库(Pandas/Numpy/Scipy/Matplotlib)
如果安装了上面集成工作包,则下面的包不需要重新安装了。关于包的安装方法在学习资源图书中都有介绍,通常安装库采用pip方法,也可以用pip list查询系统安装了哪些库。
3.学习资源
图书:
1)Python基础教程(第2版)[电子版图书自行百度]
2)深入浅出Head First python(中文版)[电子版图书自行百度]
PPV课原创文章,转载请注明出处和链接:http://www.ppvke.com/Blog/archives/27552
最后补上图两张