这三种方法中最后一种最简单,不过花费时间比较长一点,第一种最麻烦,不过用时最短。这个可以通过ipython中的magic函数%%timeit来看。
12345678910111213141516 |
|
python和R是数据科学家手中两种最常用的工具,R已经介绍的太多了,后续我们来玩玩python吧。从出身来看,R是统计学家写的,python是计算机科学家写的,两者的出生背景不一样,随着数据爆发,python也慢慢发展,逐渐在数据科学中找到了一席之地。
包:
python也有非常多的扩展包,不过用于数据分析的并不象R那么品种繁多。常用的:
numpy:提供最基本的数值计算,使向量化计算成为可能。
scipy:提供了包括最优化在内的科学计算函数,不用自己写啦。
pandas:提供了类似dataframe的数据结构,处理表格数据非常方便。
matplotlib:画图必备,但用起来感觉不如ggplot2啊。
statsmodel:提供包括回归、检验等多种统计分析函数,python也能干R的活。
sklearn:数据挖掘必备,各种函数非常丰富,文档齐全,看得出CS出品就是不一样啊。
书:
python的数据方面书还不算很多,不过很有CS的味道,就是用show me the code,公式不多,这点我很喜欢。
现有可以找到的书基本上分为三类,一类是用基本语法实现统计分析和科学计算,例如下面的:
Think Stats
Think Bayes
A Primer on Scientific Programming with Python
另一类是以介绍一些包为目的,带有一些案例,例如:
Introduction to Python for Econometrics, Statistics and Data Analysis
numpy begin guide
Python for Data Analysis
matplotlib cookbook
Learning scikit learn Machine Learning
python text processing with nltk 2.0 cookbook
Social Network Analysis for Startups
最后一类是专门讲数据挖掘、机器学习的书:
programming collective intelligence:不用numpy包,只用基本语法实现一些算法
Machine Learning in Action:使用了numpy包,介绍了如何实现大部分算法
Machine learning an algorithmic perspective:体系非常完善,而且示例代码中使用了类
Notebook:
python的一大妙处就是ipython notebook,它可以把代码及其结果都存在一个网页上,方便分享学习。网上有非常多的notebook,其中成体系而又精彩的有下面三个:
https://github.com/datadave/GADS9-NYC-Spring2014-Lectures
http://blog.yhathq.com/posts/data-science-in-python-tutorial.html
http://slendermeans.org/pages/will-it-python.html
更多资源,请参见github上的一个列表
https://github.com/jonathan-bower/DataScienceResources
have fun!
12345678910111213141516 |
|
123456789101112131415161718 |
|