网上虽然有很多Python学习的教程,但是大多是围绕Python网页开发等展开。数据分析所需要的Python技能和网页开发等差别非常大,本人就是浪费了很多时间来看这些博客、书籍。所以就有了本文,希望能帮大家少走一点弯路。
-----------------我是分割线--------------
本文章主要从数据分析、机器学习(深度学习)的目的出发, 讲讲如何零基础学习Python语法、数据分析模块(Numpy、Scipy、Scikit和Pandas等)以及使用python进行机器学习(SFrame,tensorflow)。
(今天就写个小框架吧^_^)
去年开始接触Python数据分析的学习,全是自学,所以对于广大网友来说应该有较大的借鉴意义。熟练掌握任何一门语言,几乎都需要经过以下过程:
- 良师--学习Python课程+入门书籍+浏览技术博客
- 社区帮助--善于使用搜索引擎、Mail List
- 益友 -- 寻找学习伙伴
- Learn by Code --项目实践
一、Python学习课程推荐
这两个学习课程从最基础的Python语法开始,介绍了Python数据分析、统计模型以及机器学习的各个方面,内容十分充足。之所以建议使用老外的课程是因为,老外上课假定你什么都不会,讲解深入浅出,尤其是对于华盛顿大学的机器学习课程,把复杂的概念讲解得十分简单。
1. 密歇根大学的《学习使用Python编程并分析数据》主要包括以下课程(讲解十分详细,深入浅出,非常适合入门学习,视频都是有字幕的):
- 《大家的编程 (Python 入门》:课程涵盖了如何使用Python的基本指令编写程序. 课程对学生没有先设要求, 我们只涉及到最基本的数学, 有一定使用电脑经验的人都可以完全掌握这门课的内容.
- 《Python 数据结构》:本课程将介绍Python编程语言的核心数据结构。我们将学习编程语言的基础概念,探索如何使用Python的内置数据结构,如列表、字典、元组,进行更为复杂的数据分析。
- 《使用 Python 访问网络数据》:使用Python爬取和解析网络数据
- 《Python 数据库开发》:使用Python和数据库进行交互
- 《使用 Python 获取并处理数据,并用可视化方式展现数据》
2. 华盛顿大学的《机器学习》专项课程
在专项课程页面无法选择旁听,必须点击进入单独课程页面才可,这个课程专题旁听是有限制的,无法提交作业;如有需求,可以申请奖学金,回答三个问题即可,系统自动通过申请。
- 《机器学习基础:案例研究》:你是否好奇数据可以告诉你什么?你是否想在关于机器学习促进商业的核心方式上有深层次的理解?你是否想能同专家们讨论关于回归,分类,深度学习以及推荐系统的一切?在这门课上,你将会通过一系列实际案例学习来获取实践经历。
- 《机器学习:回归》
- 《机器学习:分类》
- 《机器学习:聚类和检索》
- 《机器学习:推荐系统和降维》
- 《机器学习:应用深度学习创建智能运用》
二、网上打码教程
Learn by doing!!! 学习编程最有效的方式就是敲代码!
- Codecademy 围绕Python 的基础语法,内容非常丰富。
- Datacamp Python基本语法(他家的R语言课程十分不错!)
三、Python技术博客
简单介绍一些非常棒的Python技术学习的博客
1. 廖雪峰Python教程 简单易上手的Python基础语法教程,非常值得学习
2. 非常棒的pandas练习Github Repo
3. 很详细的Python 爬虫教程
4. 国外Data Science博客大全
四、Python入门书籍推荐
常用书籍下载网址,几乎囊括了网上能找得到的所有Python相关的书籍(PDF、Epub和mo bi格式),且提供云盘下载链接。你值得拥有!
http://www.salttiger.com/?s=python
1. 掌握Python语法的基础上学习《Python for data analysis》是比较不错的选择,涵盖了ipython notebook、Numpy、Scipy和Pandas包的使用。
2.《Python数据分析与挖掘实战》介绍了使用Python进行数据挖掘的详细案例,数据和代码都可以下载,作为机器学习的进阶学习是不错的选择(这本书也用对应的R语言和Matlab 版本)。
3. 《Python Cookbook》很厚的一本书,可以作为Python语法查询手册。
再添加几个外文书籍下载网址:
1. http://gen.lib.rus.ec 全,可能需要使用翻*墙下载,翻*墙方法见文末
2. http://www.foxebook.net
3. http://avxhome.in/ebooks/programming_development
五、推荐订阅博客(更细频率较高)
iPhone上可以使用Reeder阅读器,Instapaper用来保存后稍后阅读,因为信息量比较大。
- No free Hunch Kaggle竞赛平台的官方博客,包括一些优秀的代码解读以及高分选手的采访,十分有用的经验(来自不同背景,不同年龄层次,不同职业的选手)
- Flowing Data 十分有用的数据分析的案例
- Python日报 内容十分精彩的集锦(中文)
六、FAQ (待续)
- Python 2.x还是Python 3.x?
- 如何安装Python包? 强烈推荐Anaconda包,你值得拥有!尤其是Windows系统。
- 网络速度慢,请翻*墙,安利一款免费好用Google开发的防屏蔽的梯子Lantern, (无法下载更新可以私信我),速度不错。
- 是否需要很强的统计和数学背景? 有良好的数学和统计背景固然很好,但是现在很多岗位对数学和统计背景要求并不很多,都是简单的算法,Python编程已经能够很方便地实现,更多的是对业务的深入理解。如有需要建议,边学习Python边学习数学统计。
七、实践项目
- Kaggle竞赛项目,里面不仅仅有很多竞赛项目,而且有很多可供学习的代码、博客以及论坛,都是实战项目,有很强的实践价值。