This is a collection of IPython notebooks that I created while following Coursera's Data Analysis course by Jeff Leek, assistant professor in the Biostatistics Department of the Johns Hopkins Bloomberg School of Public Health.
The course itself uses R to perform data analysis. But since my priority and future objective is to use Python as a general data analysis framework, I decided to follow the course as much as possible using Python. This proved to be a very effective strategy to master data analysis in Python, and more importantly, to know what the limitations are.
Most of data analysis tasks in the course (that are done in R) can be done using the following Python libraries:
- numpy and scipy,
- pandas,
- statsmodels,
- patsy,
- scikit-learn,
- and matplotlib for plotting.
And IPython, of course, what else.
Although I discovered as well that for some cases R is the only way to go, for example (incomplete, non-exhaustive list):
- smoothscatter plot
- loess smoothing
- splines regression
- (To Be Completed)
The IPython notebooks are created assuming that they are read/executed while watching or following the course video lectures. So it's very likely that you'll find some parts that don't really make much sense if you just read them as it is without the videos. As of now (March 2013) I haven't put so much effort in explaining what is being done in some steps, or what are the objectives of some code snippets. I'm still working on writing more explanations, this is still a work in progress, so stay tuned.
Week 1:
Week 2:
Week 3:
- Exploratory graphs
- Expository graphs
- Hierarchical clustering
- K-Means clustering
- Dimension reduction (SVD and PCA)
Week 4:
- Clustering example
- Basic least squares
- Inference basics
- Regression with factor variables
- Multiple variable regression
- Regression in the real world
Week 5:
Week 6:
Week 7:
Week 8:
Assignments: