从Python noob到Python Kaggler的成长之旅
中国hadoop大数据峰会2016北京站3月18-19日在北京即将召开,现在购买门票优惠多多!!!机不可失,快快动起来!
原文链接:http://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-data-science-python/
本文由chinahadoop.com翻译
关于转载授授权
China Hadoop文章,欢迎个人转发朋友圈,自媒体、媒体、机构转载务必申请授权,后台留言“机构名称+文章标题+转载”,申请过授权的不必再次申请,只要按约定转载即可,但文末需放置China Hadoop二维码。
你想成为一个数据科学家或者你目前已经是一个数据科学家但是想扩大你的工具库。那么祝贺你来对地方了。
这篇文章的目的就是为使用Python语言进行数据分析的新人提供一个全面的学习路径。这个路径提供了你需要学习使用Python语言进行数据分析步骤的全面概述。如果你已经有一些基础或者不需要所有的这些步骤,你可以根据自己的需求来自由调节。
步骤0:热身
在开始你的旅程之前,首先要回答的问题是:
为什么使用Python语言?
或者
Python语言是怎样发挥作用的?
观看DataRobot的创始人Jeremy在2014年Python社区大会上演讲(https://www.youtube.com/watch?v=CoxjADZHUQA)的前30分钟。
第1步:设置你的机器
当你下定决心之后,下一步就是要设置你的机器。最简单的设置方法就是从Continuum.io上下载Anaconda (store.continuum.io/cshop/anaconda/)。它配备了你需要的绝大多数功能。采用这个方法的主要缺点是,你需要持续不断的更新自己的包,即使是底层库的更新。但是如果你是新手,这应该没有任何影响。
如果你在安装上面临任何问题,你可以访问这里看看各种OS的详细说明(http://www.datarobot.com/blog/getting-up-and-running-with-python/)
第2步:了解Python语言的基础知识
你要从了解语言、库和数据结构的基础知识开始学习。从Codecademy (http://www.codecademy.com/tracks/python)的课程开始你的Python旅程是最合适的选择之一。在结束这个课程的时候,你可以使用Python语言写一些小脚本,同时也要明白类和对象。
具体学习:列表,元组,字典,列表解析,字典解析
任务:解决HackerRank上Python教程的相关问题。这些会帮助你的大脑思考Python的脚本。
备用资源:如果互动编码不是你的学习风格,你也可以看看Google Class for Python(https://developers.google.com/edu/python/)。它是一个2天的课程系列,也涵盖了一些在后面要讨论的内容。
第3步:了解Python中的正则表达式
你将使用它来进行数据清洗,特别是你在做文本数据的工作时。最好的学习正则表达式(https://developers.google.com/edu/python/regular-expressions)的方式是通过Google class,并且让这个cheat sheet常在手边(https://www.debuggex.com/cheatsheet/regex/python)
任务:进行宝宝取名练习(https://developers.google.com/edu/python/exercises/baby-names)
如果你还需要更多的练习,按照这个文本清理教程(http://www.analyticsvidhya.com/blog/2014/11/text-data-cleaning-steps-python/)。这将挑战你参与数据扯皮的各个步骤。
步骤4:了解Python科学库– NumPy, SciPy, Matplotlib and Pandas
这是有趣的开始!下面是简要介绍了各种库。让我们开始练习一些常用的操作。
-
练习numpy教程(http://wiki.scipy.org/Tentative_NumPy_Tutorial),尤其是numpy的阵列。这将为将来打下良好的基础。
-
其次,看一下SciPy的教程(http://docs.scipy.org/doc/scipy/reference/tutorial/)。观看介绍和基础知识并根据你的需求来有选择的进行剩下的。
-
如果你猜接下来是Matplotlib教程,那你就错了!对于我们来说他太全面了,没有必要全看。相反,看看这个IPython的笔记(http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb),看到68行(即直到动画)
-
最后,让我们来看看Pandas。Pandas提供了Python的数据框的功能(如R)。这也是你应该花时间好好练习的。Pandas将成为所有中型数据分析的最有效的工具。开始一个简短的介绍,10分钟介绍Pandas(http://pandas.pydata.org/pandas-docs/stable/10min.html)。然后再开始更详细的Pandas教程。
附加资源:
-
如果你需要一本关于Pandas和Numpy的书,你可以看Wes McKinney的“Python for Data Analysis ”
-
还有很多别的Pandas教程。有需要可以点击这里(http://pandas.pydata.org/pandas-docs/stable/tutorials.html)
任务:完成这个来自哈佛大学CS109课程的作业。(http://nbviewer.jupyter.org/github/cs109/2014/blob/master/homework/HW1.ipynb)
第5步:有效的数据可视化
完成CS109课程。(http://cm.dce.harvard.edu/2015/01/14328/L03/screen_H264LargeTalkingHead-16×9.shtml)您可以忽略初始2分钟,但是后面的内容是真棒!按照这个讲座来完成这个任务(http://nbviewer.jupyter.org/github/cs109/2014/blob/master/homework/HW2.ipynb)
第6步:了解Scikit-learn和机器学习
现在,我们来到了整个进程的核心部分。Scikit-learn是Python的机器学习中最有用的库。这里是这个库的简要概述(http://www.analyticsvidhya.com/blog/2015/01/scikit-learn-python-machine-learning-tool/)。通过哈佛大学CS109从10到18讲的课程。(http://cs109.github.io/2014/pages/schedule.html)您将了解机器学习,监督学习算法,如回归,决策树,整体建模和非监督学习算法,如集群的概述。跟随课程完成作业 (http://cs109.github.io/2014/pages/homework.html)
附加资源:
-
如果有一本必读书,它就是Programming Collective Intelligence –很经典且是这一方面最好的书之一。
-
此外,您也可以按照最好的课程之一YaserAbu-Mostafa机器学习课程(https://www.edx.org/course/learning-data-caltechx-cs1156x)来进行学习。如果您需要更清晰的关于技术的解释,你可以选择AndrewNg机器学习课程(https://www.coursera.org/course/ml),并完成有关的Python练习。
-
Scikit learn教程
任务:在Kaggle上尝试这个挑战 (https://www.kaggle.com/c/data-science-london-scikit-learn)
第7步:实践,实践与实践
恭喜你,你成功了!
你现在拥有你所需要的一切技术技能。剩下就是实践问题,有什么地方能比在Kaggle上与数据科学家进行对抗更好呢。前进吧,潜入Kaggle上目前运行的实况赛事之一,并发挥你所学!
第8步:深度学习
现在,你已经学会了大部分的机器学习技术,是时候给深度学习一个镜头了。如果你已经了解但是仍需要一个简短的介绍,那么请点击这里。(http://www.analyticsvidhya.com/blog/2014/06/deep-learning-attention/)
我自己也是刚接触深度学习,所以关于它的建议请大家作为参考即可。最全面的资源在deeplearning.net(http://deeplearning.net/)上。在这里你会见到所有的资源——讲座、数据集、挑战、课程。你也可以尝试Geoff Hinton的课程(https://www.coursera.org/course/neuralnets)来了解神经网络的基础知识。
China Hadoop大数据研究网:
http://chinahadoop.com/
中国hadoop技术峰会2016北京站报名参会网站:
http://www.chinahadoop.com/signup.php(也可点击阅读原文来了解详情)
门票价格表
微信名:
HadoopSummit
微信ID:
hadoopinchina
中国Hadoop技术峰会是亚太地区举办最早、规模最大、影响力最广阔的大数据盛会。
Chinahadoop.com是China Hadoop Summit的内容网站。
HadoopSummit是Chinahadoop.com的微信发布平台。