您的位置:首页 > 编程语言 > Python开发

Python数据科学学习进阶

2016-02-24 10:36 555 查看


Python菜鸟到Python Kaggler

如果你梦想成为一名数据科学家,或者已然是数据科学家的你想扩展自己的工具库,那么,你找对地方啦。本文旨在为做数据分析的Python人提供一条全方位的学习之路,完整讲述运用Python进行数据分析的所有步骤。当然,如果你已经有了一些知识储备,或者无需掌握全部的内容,可以按照自己的需求做出调整,也欢迎与我们分享你是如何调整的。

你也可以参考本学习方法的迷你版 ——《 信息图表:Python数据科学学习之快速入门》。

开始这段学习旅程之前,第一个要回答的问题是:为什么使用Python?或者,Python怎样使用才有效?

请观看Data Robot创始人Jeremy 2014年在乌克兰的PyCon大会上的前30分钟的演讲,来了解Python是多么的奇妙。


第一步设置机器环境

既然你已经下定了决心,就开始设置机器环境吧。最简单的方法就是在Continuum.io下载分发包Anaconda。 这里材料应有尽有,美中不足就是即使在数据库提供了可用的更新资源时,你也要等Continuum自行更新。不过如果你是初学者的话,这点就无关紧要了。

如果你在安装过程中遇到任何问题,你可以在这里找到不同操作系统下更详细的安装说明。


第二步学习Python语言基础

首先你要理解语言、数据库和数据结构的基础知识。Codecademy 上的Python课程是这段学习之路的最佳起点。课程结束时,用Python写计算机脚本、理解类和对象这些对你来说应该早就驾轻就熟了。

学习重点:列表Lists,元组Tuples,字典Dictionaries,列表推导式,字典推导式。

学习任务:解决HackerRank上的一些Python教程题,这些题能让你更好的用Python脚本的方式去思考问题。

替代资源:如果交互式编码不是你的风格,可以参考谷歌的Python课程,这个两天的系列课程还涵盖了接下来要讨论的一些内容。


第三步学习Python正则表达式

进行数据清理经常需要使用正则表达式,处理文本数据时尤其如此。学习正则表达式的最佳方式就是完成谷歌课程,cheat sheet会让你使用正则表达式变得更加便捷熟练。

学习任务:做关于儿童名字的正则表达式练习

如果你仍需要更多练习,请参考文本整理的教程,它会锻炼你对处理数据的各个步骤的把握能力。


第四步学习Python科学数据库——NumPy, SciPy, Matplotlib和 Pandas有趣之处由此开始!

下面是对各种数据库的一一介绍,让我们开始练习一些简单操作吧。

●系统练习NumPy 教程,尤其要练习arrays数组。这会为你接下来的学习打下良好的基础。

●接下来了解一下SciPy教程。浏览一下SciPy介绍和基本知识之后,学习其余你需要的部分。

●如果你猜这一步要讲Matplotlib教程——那就大错特错了。Matplotlib教程对我们目前的阶段来说综合性太强,这里我们推荐阅读ipython notebook前68行(就是到动画这一部分)。

●最后,让我们了解下Pandas。Pandas为Python提供DataFrame功能(类R语言),这也是值得你认真花时间练习的地方。Pandas有可能成为所有中型数据分析中最有效的工具。先看一下简单介绍《十分钟走近Pandas》(10 minutes to pandas),然后再转入Pandas教程的详细学习。

你也可以参考《Pandas探索性数据分析》(Exploratory Data Analysis with Pandas)和《Pandas数据处理》(Data munging with Pandas)里的内容。

其他资源:

●如果你需要有关Pandas和NumPy的书籍,Wes McKinney 写的《运用Python的数据分析》值得一读。

●有关Pandas文档的教程也有很多。

学习任务:完成哈佛CS109的课程作业。


第五步有效的数据可视化

学习CS109课程时,前两分钟可以忽略不看,不过后面的内容相当精彩!推荐结合作业学习本课程。


第六步学习Scikit-learn库,完成机器学习内容

现在,我们开始接触整个过程中最重要的部分了。Scikit-learn是机器学习领域最有用的Python数据库,在这里你可以查看数据库的概览。参考学习哈佛CS109课程第十节到第十八节课,你将能一览机器学习,回归、决策树方法、集成建模等监督算法,以及聚类算法等非监督式算法。可以参考上述课程的作业来规划自己的学习课程。


其他资源:

●如果说有哪本书可以作为必读书的话,推荐《集体智能编程》(Programming Collective Intelligence)—— 一部该领域的经典好书。●此外,你也可以学习Yaser Abu-Mostafa中机器学习课程中的一些优秀课程。如果你希望获得对技能更加深入浅出的解读,可以选择Andrew Ng的机器学习课程,并做一些有关Python的练习。

●Scikit learn的教程。

学习任务:尝试Kaggle上的挑战。


第七步练习,练习,再练习

恭喜你,你成功地完成了整个学神之路啦!

你现在已经具备了一切所需的技术技能,现在就是练习的事情了,还有比在Kaggle上与同行数据科学家切磋更好的方式么?那就出发吧,全身心投入到一个Kaggle的直播比赛中,倾尽所学放手一试吧!(在公众号里回复“学神之路”即可下载。)


第八步深度学习

现在你已经学习了大部分的机器学习技能,也是时候尝试一下深度学习了。你很有可能已经知道了深度学习的含义,当然我也可以给你们一个简单的介绍。

不过我对深度学习也不是特别了解,所以你在采纳这些建议时可以有所保留:deeplearning.net上有深度学习方面最全面的资源 ,你会发现这里应有尽有 —— 课程、数据集、挑战、各种教程等;或者你也可以尝试 Geoff Hinton的课程来试着理解神经网络(Neural Networks)的基础知识。

via:灯塔大数据

End.


A Course in Machine Learning

要点:为初学者准备的初涉机器学习的高质量文档。此书仍在撰写中——有一些章节依然标记着TODO——但是其高可读性完全可以弥补这部分不足。

目标读者:任何掌握微积分、概率论和线性代数的人都可以阅读此书,不需要有任何编程语言专长。

代码内容:有一些伪代码,不过此书大部分用来展示的东西还是原理和公式。


The Elements of Statistical Learning

要点:超过500页的文本,据作者称,具体陈述了如何“从数据中学习”,对机器学习岗位需求的急剧升高显示了这个领域的热门程度。此书自2001年已经出版过两个版本并印刷了10次,此书还有一大好处:跨度很大,不局限于一个领域。

目标读者:统计学和数学基础较好的、不需要将自己的数学形式转换成代码的人。

代码内容:没有。这并不是一本软件开发的书,而是关于机器学习的理论基础。


Bayesian Reasoning and Machine Learning

要点内容: Bayesian(贝叶斯)方法是所有有关模式识别和垃圾过滤的基础,所以逐渐形成了一个特殊的领域。此书涵盖Bayesian统计的各个主要方面,阐述了它是如何应用的。

目标读者:任何有微积分、概率论和线性代数基础的人。

代码内容:很多!每一个章节都有伪代码和工具的链接,以及一些demo。而且,代码并不是Python或R语言的,而是商业MATLAB环境,GNU
Octave也可以作为一个开源的替代品。


Gaussian Processes for Machine Learning

重点内容:高斯处理也是贝叶斯方法的一部分。本书集中讨论如何在一般机器学习方法中使用高斯原理,例如分类、回归和模型训练等。

目标读者:大致和Bayesian Reasoning and Machine Learning差不多。

代码内容:书中使用的代码大多是伪代码,但是和ayesian Reasoning and Machine Learning一样,有些MATLAB/Octave代码。


Machine Learning

重点内容:一个论文集,包括很多不同方面、内容深奥的机器学习知识。其中一些比较抽象,另一些专注于特定的问题,比如“模拟对话的机器学习方法”等。

目标读者:想要在这方面深入学习的人。

代码内容:有一些公式,没有代码。

转载:36大数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  大数据 数据