时间 2015-01-29 14:14:11  数盟原文  http://dataunion.org/?p=9805

译者: 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版(转载)的更多相关文章

  1. 数据科学的完整学习路径(Python版)

    转载自:http://python.jobbole.com/80981/ 英文(原文)连接:https://www.analyticsvidhya.com/learning-paths-data-sc ...

  2. 数据科学20个最好的Python库

    Python 在解决数据科学任务和挑战方面继续处于领先地位.去年,我们曾发表一篇博客文章 Top 15 Python Libraries for Data Science in 2017,概述了当时业 ...

  3. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

  4. 程序员用于机器学习数据科学的3个顶级 Python 库

    NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可 ...

  5. 新一代数据科学ide平台DataSpell提前发行版体验

    1 简介 PyCharm开发公司jetbrains专门面向数据科学的ide项目DataSpell在前不久发布了其EAP版本(早期预览版本),为我们带来了诸多趋于成熟的功能特性,本文就将为大家介绍其使用 ...

  6. [python]-数据科学库Numpy学习

    一.Numpy简介: Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3 ...

  7. 遍历文件路径python版,java版

    python: # 获取所有txt路径列表 file_list = [] def gci(filepath): files=os.listdir(filepath) for fi in files: ...

  8. 学习selenium python版最初的一个小想法

    这个还是我在刚开始学习selenium的时候做的,自己觉得有点意思,在接下来我会基于目前我对于selenium的一些深入研究,写下我对selenium的理解以及UIAutomation的一些理解,以此 ...

  9. 数据科学中的R和Python: 30个免费数据资源网站

    1 政府数据 Data.gov:这是美国政府收集的数据资源.声称有多达40万个数据集,包括了原始数据和地理空间格式数据.使用这些数据集需要注意的是:你要进行必要的清理工作,因为许多数据是字符型的或是有 ...

随机推荐

  1. C# 打包

    开发环境:VS2010+SQL Server 2008 操作系统:win7_32bit 旗舰版 开发语言:C# 项目名称:学生寄宿管理系统 下面开始介绍:如何给windows应用程序打包? 第一步: ...

  2. Java导出引用jar包的文件

    安装Eclipse打包插件Fat Jar      方案一对于含有较多第三方jar文件或含有第三方图片资源等就显得不合适,太繁琐.这时可以使用一个打包的插件-Fat Jar.      Fat Jar ...

  3. 团队GIT实战总结

    项目要求 组长博客 遇到的困难及解决办法 组员1(组长):王彬 遇到的困难  在团队任务分工的时候没有充分照顾到所有人,导致队员们的工作量不均. 现场编程时间不够 解决办法 在此对组员们表示抱歉,由于 ...

  4. 实现二叉树(search)

    ★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x, ...

  5. Express搭建NodeJS项目

    1.安装Node.js: 2.安装npm; 3.安装Express; 在本例中默认全局安装express 安装express生成器 如果没有安装express-generator或安装路径不对,会报以 ...

  6. Hibernate(十)

    1.批处理 //批处理 :批量处理 //批量插入数据 @Test public void addData(){ Random random=new Random(); for(int i=1;i< ...

  7. beta发布简评

    第一组:新蜂小组 题目:俄罗斯方块 评论:主体功能已经完成,可以流畅的进行游戏,无论效果或是功能都实现的很好. 第二组:Nice团队 题目:约跑APP(约吧) 评论:作为应用,想法创意很好:功能实现上 ...

  8. APP端测试与web端测试的区别

    想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就 ...

  9. php aes加密

    <?php namespace Aes; error_reporting(E_ALL); ini_set('display_errors', '1'); class Aes { /** * va ...

  10. [官网]SQLSERVER ON linux 的最低要求 以及安装方法

    快速入门:在 Red Hat 上安装 SQL Server 并创建数据库 总体说明: 适用于: SQL Server (仅限 Linux)Azure SQL 数据库Azure SQL 数据仓库并行数据 ...