Skip to content

Repository files navigation

Intro to Data Science - SF - Sep 2016 - Cohort 1

Instructors:

Course materials for Metis' Introduction to Data Science Course in San Francisco (9/6/16 - 10/20/16)

###Schedule:

Tuesday Thursday
9/6: Introduction to Python and Version Control 9/8: Introduction to Linear Algebra and Statistics in Python
9/13: Pandas and Exploratory Data Analysis 9/15: Pandas and Data Visualization
9/27: Supervised Machine Learning and Basic Model Evaluation 9/29: Unsupervised Machine Learning and Basic Model Evaluation
10/4: Advanced Supervised Learning 10/06: Data Modeling: Feature Engineering and Basic Cross Validation
10/11: Data Modeling: Regularization, Feature Decomposition 10/13: Advanced Model Evaluation and Pipelines
10/18: Advanced Unsupervised Learning 10/20: Project Presentations and Course Wrap-up

Before the Course Begins (Prework):

  • Install Git.
  • Create an account on GitHub.
    • It is not necessary to download "GitHub for Windows" or "GitHub for Mac"
  • Install SourceTree and sign into your github account through it.
  • Install slack and get the necessary credentials to communicate on the metis slack channels.
  • Install the Anaconda distribution.
  • Complete exercises 1-7, 13, 18-21, 27-35, 38, 39 of Learn Python The Hard Way
  • Watch the linear algebra review videos from Andrew Ng’s excellent Coursera ML course. They are labeled III. Linear Algebra Review (Week 1).
  • Complete the exercises in chapters 2 and 3 of this open textbook. )

Tools


Class 1: Introduction to Python and Version Control

Homework:

  • Finish whatever exercises from LPTHW you couldn't finish. I assigned a lot of exercises as prework, so I suspect you have some things to work on. Focus on those concepts in the lecture that you didn't quite get.
  • If your laptop has any setup issues, please work with me or someone else at Metis to resolve them by Thursday.

Git Resources (IF you don't want to use Sourcetree):

  • Pro Git is an excellent book for learning Git if you don't want to use SourceTree. Read the first two chapters if you want to gain a deeper understanding of version control.
  • If you want to really practice a lot of Git (and learn many more commands), try Git Immersion.
  • GitRef is an excellent reference guide for Git commands.

Class 2: Introduction to Linear Algebra and Statistics in Python

Homework:

  • Work through as much of the NumPy quickstart guide as you can.
  • Work through the remainder of the statistics exercises in the prework.

Class 3: Pandas and Exploratory Data Analysis

  • Using Pandas for Exploratory Data Analysis notebook
  • Using Pandas for More Exploratory Data Analysis notebook

Resources:

  • The Pandas API Reference is well documented.
  • To learn more Pandas, review this three-part tutorial.
  • If you want to go all in on Pandas (and NumPy), the book Python for Data Analysis was written by the creator of Pandas. It is really great.
  • Here are examples of different types of joins in Pandas, for when you need to figure out how to merge two DataFrames.

Class 4: Pandas and Data Visualization

  • Visualization with Pandas and Matplotlib

Visualization Resources:


Class 5: Supervised Machine Learning and Basic Model Evaluation

Machine Learning Resources:

Model Evaluation Resources:

  • For another explanation of training error versus testing error, the bias-variance tradeoff, and train/test split (also known as the "validation set approach"), watch Hastie and Tibshirani's video on estimating prediction error (12 minutes, starting at 2:34).
  • Caltech's Learning From Data course includes a fantastic video on visualizing bias and variance (15 minutes).
  • Random Test/Train Split is Not Always Enough explains why random train/test split may not be a suitable model evaluation procedure if your data is time-based.

Class 6: Advanced Supervised Learning

  • Ensembles: From Decision Trees to Random Forests notebook

Resources:


Class 7: Unsupervised Machine Learning and Basic Model Evaluation

Clustering Resources:


Class 8: Feature Engineering and Basic Cross Validation

  • Feature Engineering/Cross Validation notebook

Feature Engineering/Selection Resources:

Cross-Validation Resources:


Class 9: Feature Decomposition and Regularization

  • Feature Decomposition and Regularization: PCA, Lasso/L1 Regularization, Ridge/L2 Regularization notebook

PCA Resources

  • Jeremy Kun's blog is an excellent source of "mathy" explanations of a variety of algorithms and approaches used in Data Science, but I find his explanation of PCA is especially good.
  • Sebastian Raschka's explanation of PCA is also very informative. In general, you should use/understand the method as more for explanatory than for predictive purposes.

Regularization Resources:


Class 10: Advanced Model Evaluation and Data Pipelines

  • Advanced model evaluation and data pipelines notebook
    • Null accuracy
    • Confusion matrix
    • Sensitivity, Specificity, Recall, Precision, all the metrics
    • ROC curves and AUC
    • Data Pipelines

ROC Resources:

Pipeline Resources:


About

This is the repository for all of the course materials, exercises, jupyter notebooks, datasets, images, etc. for the Metis Introduction to Data Science Class -- San Francisco: September-October 2016, Cohort 1. I've also added some additional supplementary material separate from the class more recently (2017) as well.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages