Nanodegree key: nd230
Version: 1.0.0
Locale: en-us
Learn foundational machine learning techniques — from data manipulation to unsupervised and supervised algorithms.
Content
Part 01 : Introduction to Machine Learning
-
Module 01: Introduction to Machine Learning
-
Lesson 01: Welcome to Machine Learning
Welcome to the Machine Learning Engineer Nanodegree program! Learn about the program structure and the projects you'll work on in this program.
-
Lesson 02: Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
-
Lesson 03: Career Services
Learn what resources are available to you via Udacity's career-related tools.
-
Lesson 04: Setting Up Your Computer
In this lesson, get your computer set up with Python 3 using Anaconda, as well as setting up a text editor.
- Concept 01: Intro
- Concept 02: Python Installation
- Concept 03: [For Windows] Configuring Git Bash to Run Python
- Concept 04: What is Anaconda?
- Concept 05: Installing Anaconda
- Concept 06: Managing packages
- Concept 07: On Python versions at Udacity
- Concept 08: Running a Python Script
- Concept 09: Programming Environment Setup
- Concept 10: What are Jupyter notebooks?
- Concept 11: Installing Jupyter Notebook
- Concept 12: Launching the notebook server
- Concept 13: Notebook interface
- Concept 14: Markdown cells
- Concept 15: Code cells
- Concept 16: Keyboard shortcuts
- Concept 17: Magic keywords
- Concept 18: Converting notebooks
- Concept 19: Creating a slideshow
- Concept 20: Outro
-
Part 02 : Supervised Learning
-
Module 01: Supervised Learning
-
Lesson 01: Machine Learning Bird's Eye View
Before diving into the many algorithms of machine learning, it is important to take a step back and understand the big picture associated with the entire field.
- Concept 01: Introduction
- Concept 02: History - A Statistician's Perspective
- Concept 03: History - A Computer Scientist's Perspective
- Concept 04: Types of Machine Learning - Supervised
- Concept 05: Types of Machine Learning - Unsupervised & Reinforcement
- Concept 06: Deep Learning
- Concept 07: Machine Learning Libraries
- Concept 08: Ethics in Machine Learning
- Concept 09: What's Ahead
- Concept 10: Text: Recap
-
Lesson 02: Linear Regression
Linear regression is one of the most fundamental algorithms in machine learning. In this lesson, learn how linear regression works!
- Concept 01: Intro
- Concept 02: Quiz: Housing Prices
- Concept 03: Solution: Housing Prices
- Concept 04: Fitting a Line Through Data
- Concept 05: Moving a Line
- Concept 06: Absolute Trick
- Concept 07: Square Trick
- Concept 08: Quiz: Absolute and Square Trick
- Concept 09: Gradient Descent
- Concept 10: Mean Absolute Error
- Concept 11: Mean Squared Error
- Concept 12: Quiz: Mean Absolute & Squared Errors
- Concept 13: Minimizing Error Functions
- Concept 14: Mean vs Total Error
- Concept 15: Mini-batch Gradient Descent
- Concept 16: Quiz: Mini-Batch Gradient Descent
- Concept 17: Absolute Error vs Squared Error
- Concept 18: Linear Regression in scikit-learn
- Concept 19: Higher Dimensions
- Concept 20: Multiple Linear Regression
- Concept 21: Closed Form Solution
- Concept 22: (Optional) Closed form Solution Math
- Concept 23: Linear Regression Warnings
- Concept 24: Polynomial Regression
- Concept 25: Quiz: Polynomial Regression
- Concept 26: Regularization
- Concept 27: Quiz: Regularization
- Concept 28: Feature Scaling
- Concept 29: Outro
-
Lesson 03: Perceptron Algorithm
The perceptron algorithm is an algorithm for classifying data. It is the building block of neural networks.
- Concept 01: Intro
- Concept 02: Classification Problems 1
- Concept 03: Classification Problems 2
- Concept 04: Linear Boundaries
- Concept 05: Higher Dimensions
- Concept 06: Perceptrons
- Concept 07: Perceptrons as Logical Operators
- Concept 08: Perceptron Trick
- Concept 09: Perceptron Algorithm
- Concept 10: Outro
-
Lesson 04: Decision Trees
Decision trees are a structure for decision-making where each decision leads to a set of consequences or additional decisions.
- Concept 01: Intro
- Concept 02: Recommending Apps 1
- Concept 03: Recommending Apps 2
- Concept 04: Recommending Apps 3
- Concept 05: Quiz: Student Admissions
- Concept 06: Solution: Student Admissions
- Concept 07: Entropy
- Concept 08: Entropy Formula 1
- Concept 09: Entropy Formula 2
- Concept 10: Entropy Formula 3
- Concept 11: Quiz: Do You Know Your Entropy?
- Concept 12: Multiclass Entropy
- Concept 13: Quiz: Information Gain
- Concept 14: Solution: Information Gain
- Concept 15: Maximizing Information Gain
- Concept 16: Calculating Information Gain on a Dataset
- Concept 17: Hyperparameters
- Concept 18: Decision Trees in sklearn
- Concept 19: Titanic Survival Model with Decision Trees
- Concept 20: [Solution] Titanic Survival Model
- Concept 21: Outro
-
Lesson 05: Naive Bayes
Naive Bayesian Algorithms are powerful tools for creating classifiers for incoming labeled data. Specifically Naive Bayes is frequently used with text data and classification problems.
- Concept 01: Intro
- Concept 02: Guess the Person
- Concept 03: Known and Inferred
- Concept 04: Guess the Person Now
- Concept 05: Bayes Theorem
- Concept 06: Quiz: False Positives
- Concept 07: Solution: False Positives
- Concept 08: Bayesian Learning 1
- Concept 09: Bayesian Learning 2
- Concept 10: Bayesian Learning 3
- Concept 11: Naive Bayes Algorithm 1
- Concept 12: Naive Bayes Algorithm 2
- Concept 13: Quiz: Bayes Rule
- Concept 14: Building a Spam Classifier
- Concept 15: Spam Classifier - Workspace
- Concept 16: Outro
-
Lesson 06: Support Vector Machines
Support vector machines are a common method used for classification problems. They have been proven effective using what is known as the 'kernel' trick!
- Concept 01: Intro
- Concept 02: Which line is better?
- Concept 03: Minimizing Distances
- Concept 04: Error Function Intuition
- Concept 05: Perceptron Algorithm
- Concept 06: Classification Error
- Concept 07: Margin Error
- Concept 08: (Optional) Margin Error Calculation
- Concept 09: Error Function
- Concept 10: The C Parameter
- Concept 11: Polynomial Kernel 1
- Concept 12: Polynomial Kernel 2
- Concept 13: Polynomial Kernel 3
- Concept 14: RBF Kernel 1
- Concept 15: RBF Kernel 2
- Concept 16: RBF Kernel 3
- Concept 17: SVMs in sklearn
- Concept 18: Recap & Additional Resources
-
Lesson 07: Ensemble Methods
Bagging and boosting are two common ensemble methods for combining simple algorithms to make more advanced models that work better than the simple algorithms would on their own.
- Concept 01: Intro
- Concept 02: Ensembles
- Concept 03: Random Forests
- Concept 04: Bagging
- Concept 05: AdaBoost
- Concept 06: Weighting the Data
- Concept 07: Weighting the Models 1
- Concept 08: Weighting the Models 2
- Concept 09: Weighting the Models 3
- Concept 10: Combining the Models
- Concept 11: AdaBoost in sklearn
- Concept 12: More Spam Classifying
- Concept 13: Recap & Additional Resources
-
Lesson 08: Model Evaluation Metrics
Learn the main metrics to evaluate models, such as accuracy, precision, recall, and more!
- Concept 01: Intro
- Concept 02: Outline
- Concept 03: Testing your models
- Concept 04: Confusion Matrix
- Concept 05: Confusion Matrix 2
- Concept 06: Accuracy
- Concept 07: Accuracy 2
- Concept 08: When accuracy won't work
- Concept 09: False Negatives and Positives
- Concept 10: Precision and Recall
- Concept 11: Precision
- Concept 12: Recall
- Concept 13: F1 Score
- Concept 14: F-beta Score
- Concept 15: ROC Curve
- Concept 16: Sklearn Practice (Classification)
- Concept 17: Regression Metrics
- Concept 18: Sklearn Practice (Regression)
- Concept 19: Text: Recap
- Concept 20: Summary
-
Lesson 09: Training and Tuning
Learn the main types of errors that can occur during training, and several methods to deal with them and optimize your machine learning models.
- Concept 01: Types of Errors
- Concept 02: Model Complexity Graph
- Concept 03: Cross Validation
- Concept 04: K-Fold Cross Validation
- Concept 05: Learning Curves
- Concept 06: Detecting Overfitting and Underfitting with Learning Curves
- Concept 07: Solution: Detecting Overfitting and Underfitting
- Concept 08: Grid Search
- Concept 09: Grid Search in sklearn
- Concept 10: Grid Search Lab
- Concept 11: [Solution] Grid Search Lab
- Concept 12: Putting It All Together
- Concept 13: Outro
-
Lesson 10: Finding Donors Project
You've covered a wide variety of methods for performing supervised learning -- now it's time to put those into action!
-
Lesson 11: Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
- Concept 01: Prove Your Skills With GitHub
- Concept 02: Introduction
- Concept 03: GitHub profile important items
- Concept 04: Good GitHub repository
- Concept 05: Interview with Art - Part 1
- Concept 06: Identify fixes for example “bad” profile
- Concept 07: Quick Fixes #1
- Concept 08: Quick Fixes #2
- Concept 09: Writing READMEs with Walter
- Concept 10: Interview with Art - Part 2
- Concept 11: Commit messages best practices
- Concept 12: Reflect on your commit messages
- Concept 13: Participating in open source projects
- Concept 14: Interview with Art - Part 3
- Concept 15: Participating in open source projects 2
- Concept 16: Starring interesting repositories
- Concept 17: Next Steps
-
Part 03 : Deep Learning
-
Module 01: Deep Learning
-
Lesson 01: Introduction to Neural Networks
In this lesson, Luis will give you solid foundations on deep learning and neural networks. You'll also implement gradient descent and backpropagation in python right here in the classroom.
- Concept 01: Instructor
- Concept 02: Introduction
- Concept 03: Classification Problems 1
- Concept 04: Classification Problems 2
- Concept 05: Linear Boundaries
- Concept 06: Higher Dimensions
- Concept 07: Perceptrons
- Concept 08: Why "Neural Networks"?
- Concept 09: Perceptrons as Logical Operators
- Concept 10: Perceptron Trick
- Concept 11: Perceptron Algorithm
- Concept 12: Non-Linear Regions
- Concept 13: Error Functions
- Concept 14: Log-loss Error Function
- Concept 15: Discrete vs Continuous
- Concept 16: Softmax
- Concept 17: One-Hot Encoding
- Concept 18: Maximum Likelihood
- Concept 19: Maximizing Probabilities
- Concept 20: Cross-Entropy 1
- Concept 21: Cross-Entropy 2
- Concept 22: Multi-Class Cross Entropy
- Concept 23: Logistic Regression
- Concept 24: Gradient Descent
- Concept 25: Logistic Regression Algorithm
- Concept 26: Pre-Lab: Gradient Descent
- Concept 27: Notebook: Gradient Descent
- Concept 28: Perceptron vs Gradient Descent
- Concept 29: Continuous Perceptrons
- Concept 30: Non-linear Data
- Concept 31: Non-Linear Models
- Concept 32: Neural Network Architecture
- Concept 33: Feedforward
- Concept 34: Backpropagation
- Concept 35: Pre-Lab: Analyzing Student Data
- Concept 36: Notebook: Analyzing Student Data
- Concept 37: Outro
-
Lesson 02: Implementing Gradient Descent
Mat will introduce you to a different error function and guide you through implementing gradient descent using NumPy matrix multiplication.
- Concept 01: Mean Squared Error Function
- Concept 02: Gradient Descent
- Concept 03: Gradient Descent: The Math
- Concept 04: Gradient Descent: The Code
- Concept 05: Implementing Gradient Descent
- Concept 06: Multilayer Perceptrons
- Concept 07: Backpropagation
- Concept 08: Implementing Backpropagation
- Concept 09: Further Reading
-
Lesson 03: Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
- Concept 01: Instructor
- Concept 02: Training Optimization
- Concept 03: Testing
- Concept 04: Overfitting and Underfitting
- Concept 05: Early Stopping
- Concept 06: Regularization
- Concept 07: Regularization 2
- Concept 08: Dropout
- Concept 09: Local Minima
- Concept 10: Random Restart
- Concept 11: Vanishing Gradient
- Concept 12: Other Activation Functions
- Concept 13: Batch vs Stochastic Gradient Descent
- Concept 14: Learning Rate Decay
- Concept 15: Momentum
- Concept 16: Error Functions Around the World
-
Lesson 04: Deep Learning with TensorFlow
Learn how to use TensorFlow for building deep learning models.
- Concept 01: Welcome!
- Concept 02: Pre-Notebooks
- Concept 03: Notebooks
- Concept 04: Introduction to TensorFlow
- Concept 05: Single Layer Neural Network
- Concept 06: Multi-Layer Neural Network
- Concept 07: NumPy to TF and Back
- Concept 08: MNIST
- Concept 09: Creating Pipelines
- Concept 10: Implementing Softmax
- Concept 11: Neural Networks with TensorFlow
- Concept 12: Looking at Weights and Biases
- Concept 13: Making Predictions
- Concept 14: Subclassing
- Concept 15: Adding Layers with .add
- Concept 16: Clearing the Graph
- Concept 17: Getting the Model Ready for Training
- Concept 18: Training the Model
- Concept 19: Automatic Differentiation
- Concept 20: Fashion-MNIST
- Concept 21: Inference & Validation
- Concept 22: Early Stopping
- Concept 23: Dropout
- Concept 24: Dropout Solution
- Concept 25: Saving & Loading
- Concept 26: Loading Images with TensorFlow
- Concept 27: Data Augmentation
- Concept 28: Data Augmentation Solution
- Concept 29: Pre-Notebooks with GPU
- Concept 30: GPU-enabled Workspace
- Concept 31: A Note on Transfer Learning
- Concept 32: Transfer Learning
- Concept 33: Transfer Learning II
- Concept 34: Transfer Learning Solution
- Concept 35: Recap
-
Lesson 05: Image Classifier Project
In this project, you'll build a Python application that can train an image classifier on a dataset, then predict new images using the trained model.
Project Description - Create Your Own Image Classifier - TensorFlow
Project Rubric - Create Your Own Image Classifier - TensorFlow
-
Lesson 06: Industry Research
You're building your online presence. Now learn how to share your story, understand the tech landscape better, and meet industry professionals.
- Concept 01: Self-Reflection: Design Your Blueprint for Success
- Concept 02: Debrief: Self-Reflection Exercise Part 1
- Concept 03: Debrief: Self-Reflection Exercise Part 2
- Concept 04: Map Your Career Journey
- Concept 05: Debrief: Map Your Career Journey
- Concept 06: Conduct an Informational Interview
- Concept 07: How to Request an Informational Interview
- Concept 08: Ways to Connect
- Concept 09: Ask Good Questions
- Concept 10: Debrief: Sample Questions Quiz
- Concept 11: Keep the Conversation Going
-
Lesson 07: Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
-
Part 04 : Unsupervised Learning
-
Module 01: Unsupervised Learning
-
Lesson 01: Clustering
Clustering is one of the most common methods of unsupervised learning. Here, we'll discuss the K-means clustering algorithm.
- Concept 01: Video: Introduction
- Concept 02: Text: Course Outline
- Concept 03: Video: Two Types of Unsupervised Learning
- Concept 04: Video: K-Means Use Cases
- Concept 05: Video: K-Means
- Concept 06: Quiz: Identifying Clusters
- Concept 07: Video: Changing K
- Concept 08: Video: Elbow Method
- Concept 09: Screencast: K-Means in Scikit Learn
- Concept 10: Notebook: Your Turn
- Concept 11: Screencast: Solution
- Concept 12: Video: How Does K-Means Work?
- Concept 13: Screencast + Text: How Does K-Means Work?
- Concept 14: How Does K-Means Work?
- Concept 15: Video: Is that the Optimal Solution?
- Concept 16: Video: Feature Scaling
- Concept 17: Video: Feature Scaling Example
- Concept 18: Notebook: Feature Scaling Example
- Concept 19: Notebook: Feature Scaling
- Concept 20: Screencast: Solution
- Concept 21: Video: Outro
- Concept 22: Text: Recap
-
Lesson 02: Hierarchical and Density Based Clustering
We continue to look at clustering methods. Here, we'll discuss hierarchical clustering and density-based clustering (DBSCAN).
- Concept 01: K-means considerations
- Concept 02: Overview of other clustering methods
- Concept 03: Hierarchical clustering: single-link
- Concept 04: Examining single-link clustering
- Concept 05: Complete-link, average-link, Ward
- Concept 06: Hierarchical clustering implementation
- Concept 07: [Lab] Hierarchical clustering
- Concept 08: [Lab Solution] Hierarchical Clustering
- Concept 09: HC examples and applications
- Concept 10: [Quiz] Hierarchical clustering
- Concept 11: DBSCAN
- Concept 12: DBSCAN implementation
- Concept 13: [Lab] DBSCAN
- Concept 14: [Lab Solution] DBSCAN
- Concept 15: DBSCAN examples & applications
- Concept 16: [Quiz] DBSCAN
-
Lesson 03: Gaussian Mixture Models and Cluster Validation
In this lesson, we discuss Gaussian mixture model clustering. We then talk about the cluster analysis process and how to validate clustering results.
- Concept 01: Intro
- Concept 02: Gaussian Mixture Model (GMM) Clustering
- Concept 03: Gaussian Distribution in One Dimension
- Concept 04: GMM Clustering in One Dimension
- Concept 05: Gaussian Distribution in 2D
- Concept 06: GMM in 2D
- Concept 07: Quiz: Gaussian Mixtures
- Concept 08: Overview of The Expectation Maximization (EM) Algorithm
- Concept 09: Expectation Maximization Part 1
- Concept 10: Expectation Maximization Part 2
- Concept 11: Visual Example of EM Progress
- Concept 12: Expectation Maximization
- Concept 13: GMM Implementation
- Concept 14: GMM Examples & Applications
- Concept 15: Cluster Analysis Process
- Concept 16: Cluster Validation
- Concept 17: External Validation Indices
- Concept 18: Quiz: Adjusted Rand Index
- Concept 19: Internal Validation Indices
- Concept 20: Silhouette Coefficient
- Concept 21: GMM & Cluster Validation Lab
- Concept 22: GMM & Cluster Validation Lab Solution
-
Lesson 04: Dimensionality Reduction and PCA
Often we need to reduce a large number of features in our data to a smaller, more relevant set. Principal Component Analysis, or PCA, is a method of feature extraction and dimensionality reduction.
- Concept 01: Video: Introduction
- Concept 02: Video: Lesson Topics
- Concept 03: Text: Lesson Topics
- Concept 04: Video: Latent Features
- Concept 05: Latent Features
- Concept 06: Video: How to Reduce Features?
- Concept 07: Video: Dimensionality Reduction
- Concept 08: Video: PCA Properties
- Concept 09: Quiz: How Does PCA Work?
- Concept 10: Screencast: PCA
- Concept 11: Notebook: PCA - Your Turn
- Concept 12: Screencast: PCA Solution
- Concept 13: Screencast: Interpret PCA Results
- Concept 14: Notebook: Interpretation
- Concept 15: Screencast: Interpretation Solution
- Concept 16: Text: What Are EigenValues & EigenVectors?
- Concept 17: Video: When to Use PCA?
- Concept 18: Video: Recap
- Concept 19: Notebook: Mini-Project
- Concept 20: Mini-Project Solution
- Concept 21: Video: Outro
- Concept 22: Text: Recap
-
Lesson 05: Random Projection and ICA
In this lesson, we will look at two other methods for feature extraction and dimensionality reduction: Random Projection and Independent Component Analysis (ICA).
- Concept 01: Random Projection
- Concept 02: Random Projection
- Concept 03: Random Projection in sklearn
- Concept 04: Independent Component Analysis (ICA)
- Concept 05: FastICA Algorithm
- Concept 06: ICA
- Concept 07: ICA in sklearn
- Concept 08: [Lab] Independent Component Analysis
- Concept 09: [Solution] Independent Component Analysis
- Concept 10: ICA Applications
-
Lesson 06: Identify Customer Segments
In this project, you'll apply your unsupervised learning skills to two demographics datasets, to identify segments and clusters in the population, and see how customers of a company map to them.
Project Description - Creating Customer Segments with Arvato
-
Part 05 : Congratulations!
-
Module 01: Congratulations!
Part 06 (Elective): Prerequisite: Python for Data Analysis
-
Module 01: Python for Data Analysis
-
Lesson 01: Why Python Programming
Welcome to Introduction to Python! Here's an overview of the course.
-
Lesson 02: Data Types and Operators
Familiarize yourself with the building blocks of Python! Learn about data types and operators, compound data structures, type conversion, built-in functions, and style guidelines.
- Concept 01: Introduction
- Concept 02: Arithmetic Operators
- Concept 03: Quiz: Arithmetic Operators
- Concept 04: Solution: Arithmetic Operators
- Concept 05: Variables and Assignment Operators
- Concept 06: Quiz: Variables and Assignment Operators
- Concept 07: Solution: Variables and Assignment Operators
- Concept 08: Integers and Floats
- Concept 09: Quiz: Integers and Floats
- Concept 10: Booleans, Comparison Operators, and Logical Operators
- Concept 11: Quiz: Booleans, Comparison Operators, and Logical Operators
- Concept 12: Solution: Booleans, Comparison and Logical Operators
- Concept 13: Strings
- Concept 14: Quiz: Strings
- Concept 15: Solution: Strings
- Concept 16: Type and Type Conversion
- Concept 17: Quiz: Type and Type Conversion
- Concept 18: Solution: Type and Type Conversion
- Concept 19: String Methods
- Concept 20: String Methods
- Concept 21: Another String Method - Split
- Concept 22: Lists and Membership Operators
- Concept 23: Quiz: Lists and Membership Operators
- Concept 24: Solution: List and Membership Operators
- Concept 25: List Methods
- Concept 26: Quiz: List Methods
- Concept 27: Tuples
- Concept 28: Quiz: Tuples
- Concept 29: Sets
- Concept 30: Quiz: Sets
- Concept 31: Dictionaries and Identity Operators
- Concept 32: Quiz: Dictionaries and Identity Operators
- Concept 33: Solution: Dictionaries and Identity Operators
- Concept 34: Quiz: More With Dictionaries
- Concept 35: Compound Data Structures
- Concept 36: Quiz: Compound Data Structures
- Concept 37: Solution: Compound Data Structions
- Concept 38: Conclusion
- Concept 39: Summary
-
Lesson 03: Control Flow
Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.
- Concept 01: Introduction
- Concept 02: Conditional Statements
- Concept 03: Practice: Conditional Statements
- Concept 04: Solution: Conditional Statements
- Concept 05: Quiz: Conditional Statements
- Concept 06: Solution: Conditional Statements
- Concept 07: Boolean Expressions for Conditions
- Concept 08: Quiz: Boolean Expressions for Conditions
- Concept 09: Solution: Boolean Expressions for Conditions
- Concept 10: For Loops
- Concept 11: Practice: For Loops
- Concept 12: Solution: For Loops Practice
- Concept 13: Quiz: For Loops
- Concept 14: Solution: For Loops Quiz
- Concept 15: Quiz: Match Inputs To Outputs
- Concept 16: Building Dictionaries
- Concept 17: Iterating Through Dictionaries with For Loops
- Concept 18: Quiz: Iterating Through Dictionaries
- Concept 19: Solution: Iterating Through Dictionaries
- Concept 20: While Loops
- Concept 21: Practice: While Loops
- Concept 22: Solution: While Loops Practice
- Concept 23: Quiz: While Loops
- Concept 24: Solution: While Loops Quiz
- Concept 25: Break, Continue
- Concept 26: Quiz: Break, Continue
- Concept 27: Solution: Break, Continue
- Concept 28: Zip and Enumerate
- Concept 29: Quiz: Zip and Enumerate
- Concept 30: Solution: Zip and Enumerate
- Concept 31: List Comprehensions
- Concept 32: Quiz: List Comprehensions
- Concept 33: Solution: List Comprehensions
- Concept 34: Conclusion
-
Lesson 04: Functions
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
- Concept 01: Introduction
- Concept 02: Defining Functions
- Concept 03: Quiz: Defining Functions
- Concept 04: Solution: Defining Functions
- Concept 05: Variable Scope
- Concept 06: Variable Scope
- Concept 07: Solution: Variable Scope
- Concept 08: Documentation
- Concept 09: Quiz: Documentation
- Concept 10: Solution: Documentation
- Concept 11: Lambda Expressions
- Concept 12: Quiz: Lambda Expressions
- Concept 13: Solution: Lambda Expressions
- Concept 14: [Optional] Iterators and Generators
- Concept 15: [Optional] Quiz: Iterators and Generators
- Concept 16: [Optional] Solution: Iterators and Generators
- Concept 17: [Optional] Generator Expressions
- Concept 18: Conclusion
- Concept 19: Further Learning
-
Lesson 05: Scripting
Setup your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.
- Concept 01: Introduction
- Concept 02: Python Installation
- Concept 03: Install Python Using Anaconda
- Concept 04: [For Windows] Configuring Git Bash to Run Python
- Concept 05: Running a Python Script
- Concept 06: Programming Environment Setup
- Concept 07: Editing a Python Script
- Concept 08: Scripting with Raw Input
- Concept 09: Quiz: Scripting with Raw Input
- Concept 10: Solution: Scripting with Raw Input
- Concept 11: Errors and Exceptions
- Concept 12: Errors and Exceptions
- Concept 13: Handling Errors
- Concept 14: Practice: Handling Input Errors
- Concept 15: Solution: Handling Input Errors
- Concept 16: Accessing Error Messages
- Concept 17: Reading and Writing Files
- Concept 18: Quiz: Reading and Writing Files
- Concept 19: Solution: Reading and Writing Files
- Concept 20: Importing Local Scripts
- Concept 21: The Standard Library
- Concept 22: Quiz: The Standard Library
- Concept 23: Solution: The Standard Library
- Concept 24: Techniques for Importing Modules
- Concept 25: Quiz: Techniques for Importing Modules
- Concept 26: Third-Party Libraries
- Concept 27: Experimenting with an Interpreter
- Concept 28: Online Resources
- Concept 29: Conclusion
-
Lesson 06: NumPy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
- Concept 01: Instructors
- Concept 02: Introduction to NumPy
- Concept 03: Why Use NumPy?
- Concept 04: Creating and Saving NumPy ndarrays
- Concept 05: Using Built-in Functions to Create ndarrays
- Concept 06: Create an ndarray
- Concept 07: Accessing, Deleting, and Inserting Elements Into ndarrays
- Concept 08: Slicing ndarrays
- Concept 09: Boolean Indexing, Set Operations, and Sorting
- Concept 10: Manipulating ndarrays
- Concept 11: Arithmetic operations and Broadcasting
- Concept 12: Creating ndarrays with Broadcasting
- Concept 13: Getting Set Up for the Mini-Project
- Concept 14: Mini-Project: Mean Normalization and Data Separation
-
Lesson 07: Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
- Concept 01: Instructors
- Concept 02: Introduction to pandas
- Concept 03: Why Use pandas?
- Concept 04: Creating pandas Series
- Concept 05: Accessing and Deleting Elements in pandas Series
- Concept 06: Arithmetic Operations on pandas Series
- Concept 07: Manipulate a Series
- Concept 08: Creating pandas DataFrames
- Concept 09: Accessing Elements in pandas DataFrames
- Concept 10: Dealing with NaN
- Concept 11: Manipulate a DataFrame
- Concept 12: Loading Data into a pandas DataFrame
- Concept 13: Getting Set Up for the Mini-Project
- Concept 14: Mini-Project: Statistics From Stock Data
-
Part 07 (Elective): Prerequisite: SQL for Data Analysis
-
Module 01: SQL for Data Analysis
-
Lesson 01: Basic SQL
In this section, you will gain knowledge about SQL basics for working with a single table. You will learn the key commands to filter a table in many different ways.
- Concept 01: Video: SQL Introduction
- Concept 02: Video: The Parch & Posey Database
- Concept 03: Video + Text: The Parch & Posey Database
- Concept 04: Quiz: ERD Fundamentals
- Concept 05: Text: Map of SQL Content
- Concept 06: Video: Why SQL
- Concept 07: Video: How Databases Store Data
- Concept 08: Text + Quiz: Types of Databases
- Concept 09: Video: Types of Statements
- Concept 10: Statements
- Concept 11: Video: SELECT & FROM
- Concept 12: Your First Queries in SQL Workspace
- Concept 13: Solution: Your First Queries
- Concept 14: Formatting Best Practices
- Concept 15: Video: LIMIT
- Concept 16: Quiz: LIMIT
- Concept 17: Solution: LIMIT
- Concept 18: Video: ORDER BY
- Concept 19: Quiz: ORDER BY
- Concept 20: Solutions: ORDER BY
- Concept 21: Video: ORDER BY Part II
- Concept 22: Quiz: ORDER BY Part II
- Concept 23: Solutions: ORDER BY Part II
- Concept 24: Video: WHERE
- Concept 25: Quiz: WHERE
- Concept 26: Solutions: WHERE
- Concept 27: Video: WHERE with Non-Numeric Data
- Concept 28: Quiz: WHERE with Non-Numeric
- Concept 29: Solutions: WHERE with Non-Numeric
- Concept 30: Video: Arithmetic Operators
- Concept 31: Quiz: Arithmetic Operators
- Concept 32: Solutions: Arithmetic Operators
- Concept 33: Text: Introduction to Logical Operators
- Concept 34: Video: LIKE
- Concept 35: Quiz: LIKE
- Concept 36: Solutions: LIKE
- Concept 37: Video: IN
- Concept 38: Quiz: IN
- Concept 39: Solutions: IN
- Concept 40: Video: NOT
- Concept 41: Quiz: NOT
- Concept 42: Solutions: NOT
- Concept 43: Video: AND and BETWEEN
- Concept 44: Quiz: AND and BETWEEN
- Concept 45: Solutions: AND and BETWEEN
- Concept 46: Video: OR
- Concept 47: Quiz: OR
- Concept 48: Solutions: OR
- Concept 49: Text: Recap & Looking Ahead
-
Lesson 02: SQL Joins
In this lesson, you will learn how to combine data from multiple tables together.
- Concept 01: Video: Motivation
- Concept 02: Video: Why Would We Want to Split Data Into Separate Tables?
- Concept 03: Video: Introduction to JOINs
- Concept 04: Text + Quiz: Your First JOIN
- Concept 05: Solution: Your First JOIN
- Concept 06: Text: ERD Reminder
- Concept 07: Text: Primary and Foreign Keys
- Concept 08: Quiz: Primary - Foreign Key Relationship
- Concept 09: Text + Quiz: JOIN Revisited
- Concept 10: Video: Alias
- Concept 11: Quiz: JOIN Questions Part I
- Concept 12: Solutions: JOIN Questions Part I
- Concept 13: Video: Motivation for Other JOINs
- Concept 14: Video: LEFT and RIGHT JOINs
- Concept 15: Text: Other JOIN Notes
- Concept 16: LEFT and RIGHT JOIN
- Concept 17: Solutions: LEFT and RIGHT JOIN
- Concept 18: Video: JOINs and Filtering
- Concept 19: Quiz: Last Check
- Concept 20: Solutions: Last Check
- Concept 21: Text: Recap & Looking Ahead
-
Lesson 03: SQL Aggregations
In this lesson, you will learn how to aggregate data using SQL functions like SUM, AVG, and COUNT. Additionally, CASE, HAVING, and DATE functions provide you an incredible problem solving toolkit.
- Concept 01: Video: Introduction to Aggregation
- Concept 02: Video: Introduction to NULLs
- Concept 03: Video: NULLs and Aggregation
- Concept 04: Video + Text: First Aggregation - COUNT
- Concept 05: Video: COUNT & NULLs
- Concept 06: Video: SUM
- Concept 07: Quiz: SUM
- Concept 08: Solution: SUM
- Concept 09: Video: MIN & MAX
- Concept 10: Video: AVG
- Concept 11: Quiz: MIN, MAX, & AVG
- Concept 12: Solutions: MIN, MAX, & AVG
- Concept 13: Video: GROUP BY
- Concept 14: Quiz: GROUP BY
- Concept 15: Solutions: GROUP BY
- Concept 16: Video: GROUP BY Part II
- Concept 17: Quiz: GROUP BY Part II
- Concept 18: Solutions: GROUP BY Part II
- Concept 19: Video: DISTINCT
- Concept 20: Quiz: DISTINCT
- Concept 21: Solutions: DISTINCT
- Concept 22: Video: HAVING
- Concept 23: HAVING
- Concept 24: Solutions: HAVING
- Concept 25: Video: DATE Functions
- Concept 26: Video: DATE Functions II
- Concept 27: Quiz: DATE Functions
- Concept 28: Solutions: DATE Functions
- Concept 29: Video: CASE Statements
- Concept 30: Video: CASE & Aggregations
- Concept 31: Quiz: CASE
- Concept 32: Solutions: CASE
- Concept 33: Text: Recap
-
Lesson 04: SQL Subqueries & Temporary Tables
In this lesson, you will be learning to answer much more complex business questions using nested querying methods - also known as subqueries.
- Concept 01: Video: Introduction
- Concept 02: Video: Introduction to Subqueries
- Concept 03: Video + Quiz: Write Your First Subquery
- Concept 04: Solutions: Write Your First Subquery
- Concept 05: Text: Subquery Formatting
- Concept 06: Video: More On Subqueries
- Concept 07: Quiz: More On Subqueries
- Concept 08: Solutions: More On Subqueries
- Concept 09: Quiz: Subquery Mania
- Concept 10: Solution: Subquery Mania
- Concept 11: Video: WITH
- Concept 12: Text + Quiz: WITH vs. Subquery
- Concept 13: Quiz: WITH
- Concept 14: Solutions: WITH
- Concept 15: Video: Subquery Conclusion
-
Lesson 05: SQL Data Cleaning
Cleaning data is an important part of the data analysis process. You will be learning how to perform data cleaning using SQL in this lesson.
- Concept 01: Video: Introduction to SQL Data Cleaning
- Concept 02: Video: LEFT & RIGHT
- Concept 03: Quiz: LEFT & RIGHT
- Concept 04: Solutions: LEFT & RIGHT
- Concept 05: Video: POSITION, STRPOS, & SUBSTR
- Concept 06: Quiz: POSITION, STRPOS, & SUBSTR - AME DATA AS QUIZ 1
- Concept 07: Solutions: POSITION, STRPOS, & SUBSTR
- Concept 08: Video: CONCAT
- Concept 09: Quiz: CONCAT
- Concept 10: Solutions: CONCAT
- Concept 11: Video: CAST
- Concept 12: Quiz: CAST
- Concept 13: Solutions: CAST
- Concept 14: Video: COALESCE
- Concept 15: Quiz: COALESCE
- Concept 16: Solutions: COALESCE
- Concept 17: Video + Text: Recap
-
Lesson 06: [Advanced] SQL Window Functions
Compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis: window functions.
- Concept 01: Video: Introduction to Window Functions
- Concept 02: Video: Window Functions 1
- Concept 03: Quiz: Window Functions 1
- Concept 04: Solutions: Window Functions 1
- Concept 05: Quiz: Window Functions 2
- Concept 06: Solutions: Window Functions 2
- Concept 07: Video: ROW_NUMBER & RANK
- Concept 08: Quiz: ROW_NUMBER & RANK
- Concept 09: Solutions: ROW_NUMBER & RANK
- Concept 10: Video: Aggregates in Window Functions
- Concept 11: Quiz: Aggregates in Window Functions
- Concept 12: Solutions: Aggregates in Window Functions
- Concept 13: Video: Aliases for Multiple Window Functions
- Concept 14: Quiz: Aliases for Multiple Window Functions
- Concept 15: Solutions: Aliases for Multiple Window Functions
- Concept 16: Video: Comparing a Row to Previous Row
- Concept 17: Quiz: Comparing a Row to Previous Row
- Concept 18: Solutions: Comparing a Row to Previous Row
- Concept 19: Video: Introduction to Percentiles
- Concept 20: Video: Percentiles
- Concept 21: Quiz: Percentiles
- Concept 22: Solutions: Percentiles
- Concept 23: Video: Recap
-
Lesson 07: [Advanced] SQL Advanced JOINs & Performance Tuning
Learn advanced joins and how to make queries that run quickly across giant datasets. Most of the examples in the lesson involve edge cases, some of which come up in interviews.
- Concept 01: Video: Introduction to Advanced SQL
- Concept 02: Text + Images: FULL OUTER JOIN
- Concept 03: Quiz: FULL OUTER JOIN
- Concept 04: Solutions: FULL OUTER JOIN
- Concept 05: Video: JOINs with Comparison Operators
- Concept 06: Quiz: JOINs with Comparison Operators
- Concept 07: Solutions: JOINs with Comparison Operators
- Concept 08: Video: Self JOINs
- Concept 09: Quiz: Self JOINs
- Concept 10: Solutions: Self JOINs
- Concept 11: Video: UNION
- Concept 12: Quiz: UNION
- Concept 13: Solutions: UNION
- Concept 14: Video: Performance Tuning Motivation
- Concept 15: Video + Quiz: Performance Tuning 1
- Concept 16: Video: Performance Tuning 2
- Concept 17: Video: Performance Tuning 3
- Concept 18: Video: JOINing Subqueries
- Concept 19: Video: SQL Completion Congratulations
-
Part 08 (Elective): Prerequisite: Command Line Essentials
-
Module 01: Command Line Essentials
-
Lesson 01: Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
- Concept 01: The Command Line
- Concept 02: Intro to the Shell
- Concept 03: Windows: Installing Git Bash
- Concept 04: Opening a terminal
- Concept 05: Your first command (echo)
- Concept 06: Navigating directories (ls, cd, ..)
- Concept 07: Current working directory (pwd)
- Concept 08: Parameters and options (ls -l)
- Concept 09: Organizing your files (mkdir, mv)
- Concept 10: Downloading (curl)
- Concept 11: Viewing files (cat, less)
- Concept 12: Removing things (rm, rmdir)
- Concept 13: Searching and pipes (grep, wc)
- Concept 14: Shell and environment variables
- Concept 15: Startup files (.bash_profile)
- Concept 16: Controlling the shell prompt ($PS1)
- Concept 17: Aliases
- Concept 18: Keep learning!
-
Part 09 (Elective): Prerequisite: Git & Github
-
Module 01: Git and Github
-
Lesson 01: What is Version Control?
Version control is an incredibly important part of a professional programmer's life. In this lesson, you'll learn about the benefits of version control and install the version control tool Git!
-
Lesson 02: Create A Git Repo
Now that you've learned the benefits of Version Control and gotten Git installed, it's time you learn how to create a repository.
-
Lesson 03: Review a Repo's History
Knowing how to review an existing Git repository's history of commits is extremely important. You'll learn how to do just that in this lesson.
-
Lesson 04: Add Commits To A Repo
A repository is nothing without commits. In this lesson, you'll learn how to make commits, write descriptive commit messages, and verify the changes you're about to save to the repository.
-
Lesson 05: Tagging, Branching, and Merging
Being able to work on your project in isolation from other changes will multiply your productivity. You'll learn how to do this isolated development with Git's branches.
-
Lesson 06: Undoing Changes
Help! Disaster has struck! You don't have to worry, though, because your project is tracked in version control! You'll learn how to undo and modify changes that have been saved to the repository.
-
Lesson 07: Working With Remotes
You'll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.
-
Lesson 08: Working On Another Developer's Repository
In this lesson, you'll learn how to fork another developer's project. Collaborating with other developers can be a tricky process, so you'll learn how to contribute to a public project.
-
Lesson 09: Staying In Sync With A Remote Repository
You'll learn how to send suggested changes to another developer by using pull requests. You'll also learn how to use the powerful
git rebase
command to squash commits together.
-
Part 10 (Elective): Additional Material: Python for Data Visualization
-
Module 01: Data Visualization in Python
-
Lesson 01: Data Visualization in Data Analysis
In this lesson, see the motivations for why data visualization is an important part of the data analysis process and where it fits in.
- Concept 01: Introduction to Data Visualization
- Concept 02: Motivation for Data Visualization
- Concept 03: Further Motivation
- Concept 04: Exploratory vs. Explanatory Analyses
- Concept 05: Quiz: Exploratory vs. Explanatory
- Concept 06: Visualization in Python
- Concept 07: Course Structure
- Concept 08: Lesson Summary
-
Lesson 02: Design of Visualizations
Learn about elements of visualization design, especially to avoid those elements that can cause a visualization to fail.
- Concept 01: Introduction
- Concept 02: What Makes a Bad Visual?
- Concept 03: Levels of Measurement & Types of Data
- Concept 04: Quiz: Data Types (Quantitative vs. Categorical)
- Concept 05: Text + Quiz: Data Types (Ordinal vs. Nominal)
- Concept 06: Data Types (Continuous vs. Discrete)
- Concept 07: Identifying Data Types
- Concept 08: What Experts Say About Visual Encodings
- Concept 09: Chart Junk
- Concept 10: Data Ink Ratio
- Concept 11: Design Integrity
- Concept 12: Bad Visual Quizzes (Part I)
- Concept 13: Bad Visual Quizzes (Part II)
- Concept 14: Using Color
- Concept 15: Designing for Color Blindness
- Concept 16: Shape, Size, & Other Tools
- Concept 17: Good Visual
- Concept 18: Lesson Summary
-
Lesson 03: Univariate Exploration of Data
In this lesson, you will see how you can use matplotlib and seaborn to produce informative visualizations of single variables.
- Concept 01: Introduction
- Concept 02: Tidy Data
- Concept 03: Bar Charts
- Concept 04: Absolute vs. Relative Frequency
- Concept 05: Counting Missing Data
- Concept 06: Bar Chart Practice
- Concept 07: Pie Charts
- Concept 08: Histograms
- Concept 09: Histogram Practice
- Concept 10: Figures, Axes, and Subplots
- Concept 11: Choosing a Plot for Discrete Data
- Concept 12: Descriptive Statistics, Outliers and Axis Limits
- Concept 13: Scales and Transformations
- Concept 14: Scales and Transformations Practice
- Concept 15: Lesson Summary
- Concept 16: Extra: Kernel Density Estimation
- Concept 17: Extra: Waffle Plots
-
Lesson 04: Bivariate Exploration of Data
In this lesson, build up from your understanding of individual variables and learn how to use matplotlib and seaborn to look at relationships between two variables.
- Concept 01: Introduction
- Concept 02: Scatterplots and Correlation
- Concept 03: Overplotting, Transparency, and Jitter
- Concept 04: Heat Maps
- Concept 05: Scatterplot Practice
- Concept 06: Violin Plots
- Concept 07: Box Plots
- Concept 08: Violin and Box Plot Practice
- Concept 09: Clustered Bar Charts
- Concept 10: Categorical Plot Practice
- Concept 11: Faceting
- Concept 12: Adaptation of Univariate Plots
- Concept 13: Line Plots
- Concept 14: Additional Plot Practice
- Concept 15: Lesson Summary
- Concept 16: Extra: Q-Q Plots
- Concept 17: Extra: Swarm Plots
- Concept 18: Extra: Rug and Strip Plots
- Concept 19: Extra: Stacked Plots
- Concept 20: Extra: Ridgeline Plots
-
Lesson 05: Multivariate Exploration of Data
In this lesson, see how you can use matplotlib and seaborn to visualize relationships and interactions between three or more variables.
- Concept 01: Introduction
- Concept 02: Non-Positional Encodings for Third Variables
- Concept 03: Color Palettes
- Concept 04: Encodings Practice
- Concept 05: Faceting in Two Directions
- Concept 06: Other Adaptations of Bivariate Plots
- Concept 07: Adapted Plot Practice
- Concept 08: Plot Matrices
- Concept 09: Feature Engineering
- Concept 10: How Much is Too Much?
- Concept 11: Additional Plot Practice
- Concept 12: Lesson Summary
-
Lesson 06: Explanatory Visualizations
Previous lessons covered how you could use visualizations to learn about your data. In this lesson, see how to polish up those plots to convey your findings to others!
- Concept 01: Introduction
- Concept 02: Revisiting the Data Analysis Process
- Concept 03: Tell A Story
- Concept 04: Same Data, Different Stories
- Concept 05: Quizzes on Data Story Telling
- Concept 06: Polishing Plots
- Concept 07: Polishing Plots Practice
- Concept 08: Creating a Slide Deck with Jupyter
- Concept 09: Getting and Using Feedback
- Concept 10: Lesson Summary
-
Lesson 07: Visualization Case Study
Put to practice the concepts you've learned about exploratory and explanatory data visualization in this case study on factors that impact diamond prices.
-
Part 11 (Elective): Additional Material: Statistics for Data Analysis
-
Module 01: Practical Stats
-
Lesson 01: Descriptive Statistics - Part I
In this lesson, you will learn about data types, measures of center, and the basics of statistical notation.
- Concept 01: Introduce Instructors
- Concept 02: Text: Optional Lessons Note
- Concept 03: Video: Welcome!
- Concept 04: Video: What is Data? Why is it important?
- Concept 05: Video: Data Types (Quantitative vs. Categorical)
- Concept 06: Quiz: Data Types (Quantitative vs. Categorical)
- Concept 07: Video: Data Types (Ordinal vs. Nominal)
- Concept 08: Video: Data Types (Continuous vs. Discrete)
- Concept 09: Video: Data Types Summary
- Concept 10: Text + Quiz: Data Types (Ordinal vs. Nominal)
- Concept 11: Data Types (Continuous vs. Discrete)
- Concept 12: Video: Introduction to Summary Statistics
- Concept 13: Video: Measures of Center (Mean)
- Concept 14: Measures of Center (Mean)
- Concept 15: Video: Measures of Center (Median)
- Concept 16: Measures of Center (Median)
- Concept 17: Video: Measures of Center (Mode)
- Concept 18: Measures of Center (Mode)
- Concept 19: Video: What is Notation?
- Concept 20: Video: Random Variables
- Concept 21: Quiz: Variable Types
- Concept 22: Video: Capital vs. Lower
- Concept 23: Quiz: Introduction to Notation
- Concept 24: Video: Better Way?
- Concept 25: Video: Summation
- Concept 26: Video: Notation for the Mean
- Concept 27: Quiz: Summation
- Concept 28: Quiz: Notation for the Mean
- Concept 29: Text: Summary on Notation
-
Lesson 02: Descriptive Statistics - Part II
In this lesson, you will learn about measures of spread, shape, and outliers as associated with quantitative data. You will also get a first look at inferential statistics.
- Concept 01: Video: What are Measures of Spread?
- Concept 02: Video: Histograms
- Concept 03: Video: Weekdays vs. Weekends: What is the Difference
- Concept 04: Video: Introduction to Five Number Summary
- Concept 05: Quiz: 5 Number Summary Practice
- Concept 06: Video: What if We Only Want One Number?
- Concept 07: Video: Introduction to Standard Deviation and Variance
- Concept 08: Video: Standard Deviation Calculation
- Concept 09: Measures of Spread (Calculation and Units)
- Concept 10: Text: Introduction to the Standard Deviation and Variance
- Concept 11: Video: Why the Standard Deviation?
- Concept 12: Video: Important Final Points
- Concept 13: Advanced: Standard Deviation and Variance
- Concept 14: Quiz: Applied Standard Deviation and Variance
- Concept 15: Homework 1: Final Quiz on Measures Spread
- Concept 16: Text: Measures of Center and Spread Summary
- Concept 17: Video: Shape
- Concept 18: Video: The Shape For Data In The World
- Concept 19: Quiz: Shape and Outliers (What's the Impact?)
- Concept 20: Video: Shape and Outliers
- Concept 21: Video: Working With Outliers
- Concept 22: Video: Working With Outliers My Advice
- Concept 23: Quiz: Shape and Outliers (Comparing Distributions)
- Concept 24: Quiz: Shape and Outliers (Visuals)
- Concept 25: Quiz: Shape and Outliers (Final Quiz)
- Concept 26: Text: Descriptive Statistics Summary
- Concept 27: Video: Descriptive vs. Inferential Statistics
- Concept 28: Quiz: Descriptive vs. Inferential (Udacity Students)
- Concept 29: Quiz: Descriptive vs. Inferential (Bagels)
- Concept 30: Text: Descriptive vs. Inferential Summary
- Concept 31: Video: Summary
-
Lesson 03: Admissions Case Study
Learn to ask the right questions, as you learn about Simpson's Paradox.
- Concept 01: Admissions Case Study Introduction
- Concept 02: Admissions 1
- Concept 03: Admissions 2
- Concept 04: Admissions 3
- Concept 05: Admissions 4
- Concept 06: Gender Bias
- Concept 07: Aggregation
- Concept 08: Aggregation 2
- Concept 09: Aggregation 3
- Concept 10: Gender Bias Revisited
- Concept 11: Dangers of Statistics
- Concept 12: Text: Recap + Next Steps
- Concept 13: Case Study in Python
- Concept 14: Conclusion
-
Lesson 04: Probability
Gain the basics of probability using coins and die.
- Concept 01: Introduction to Probability
- Concept 02: Flipping Coins
- Concept 03: Fair Coin
- Concept 04: Loaded Coin 1
- Concept 05: Loaded Coin 2
- Concept 06: Loaded Coin 3
- Concept 07: Complementary Outcomes
- Concept 08: Two Flips 1
- Concept 09: Two Flips 2
- Concept 10: Two Flips 3
- Concept 11: Two Flips 4
- Concept 12: Two Flips 5
- Concept 13: One Head 1
- Concept 14: One Head 2
- Concept 15: One Of Three 1
- Concept 16: One Of Three 2
- Concept 17: Even Roll
- Concept 18: Doubles
- Concept 19: Probability Conclusion
- Concept 20: Text: Recap + Next Steps
-
Lesson 05: Binomial Distribution
Learn about one of the most popular distributions in probability - the Binomial Distribution.
- Concept 01: Binomial
- Concept 02: Heads Tails
- Concept 03: Heads Tails 2
- Concept 04: 5 Flips 1 Head
- Concept 05: 5 Flips 2 Heads
- Concept 06: 5 Flips 3 Heads
- Concept 07: 10 Flips 5 Heads
- Concept 08: Formula
- Concept 09: Arrangements
- Concept 10: Binomial 1
- Concept 11: Binomial 2
- Concept 12: Binomial 3
- Concept 13: Binomial 4
- Concept 14: Binomial 5
- Concept 15: Binomial 6
- Concept 16: Binomial Conclusion
- Concept 17: Text: Recap + Next Steps
-
Lesson 06: Conditional Probability
Not all events are independent. Learn the probability rules for dependent events.
- Concept 01: Introduction to Conditional Probability
- Concept 02: Medical Example 1
- Concept 03: Medical Example 2
- Concept 04: Medical Example 3
- Concept 05: Medical Example 4
- Concept 06: Medical Example 5
- Concept 07: Medical Example 6
- Concept 08: Medical Example 7
- Concept 09: Medical Example 8
- Concept 10: Total Probability
- Concept 11: Two Coins 1
- Concept 12: Two Coins 2
- Concept 13: Two Coins 3
- Concept 14: Two Coins 4
- Concept 15: Summary
- Concept 16: Text: Summary
-
Lesson 07: Bayes Rule
Learn one of the most popular rules in all of statistics - Bayes rule.
- Concept 01: Bayes Rule
- Concept 02: Cancer Test
- Concept 03: Prior And Posterior
- Concept 04: Normalizing 1
- Concept 05: Normalizing 2
- Concept 06: Normalizing 3
- Concept 07: Total Probability
- Concept 08: Bayes Rule Diagram
- Concept 09: Equivalent Diagram
- Concept 10: Cancer Probabilities
- Concept 11: Probability Given Test
- Concept 12: Normalizer
- Concept 13: Normalizing Probability
- Concept 14: Disease Test 1
- Concept 15: Disease Test 2
- Concept 16: Disease Test 3
- Concept 17: Disease Test 4
- Concept 18: Disease Test 5
- Concept 19: Disease Test 6
- Concept 20: Bayes Rule Summary
- Concept 21: Robot Sensing 1
- Concept 22: Robot Sensing 2
- Concept 23: Robot Sensing 3
- Concept 24: Robot Sensing 4
- Concept 25: Robot Sensing 5
- Concept 26: Robot Sensing 6
- Concept 27: Robot Sensing 7
- Concept 28: Robot Sensing 8
- Concept 29: Generalizing
- Concept 30: Sebastian At Home
- Concept 31: Learning Objectives - Conditional Probability
- Concept 32: Reducing Uncertainty
- Concept 33: Bayes' Rule and Robotics
- Concept 34: Learning from Sensor Data
- Concept 35: Using Sensor Data
- Concept 36: Learning Objectives - Bayes' Rule
- Concept 37: Bayes Rule Conclusion
-
Lesson 08: Python Probability Practice
Take what you have learned in the last lessons and put it to practice in Python.
-
Lesson 09: Normal Distribution Theory
Learn the mathematics behind moving from a coin flip to a normal distribution.
- Concept 01: Maximum Probability
- Concept 02: Shape
- Concept 03: Better Formula
- Concept 04: Quadratics
- Concept 05: Quadratics 2
- Concept 06: Quadratics 3
- Concept 07: Quadratics 4
- Concept 08: Maximum
- Concept 09: Maximum Value
- Concept 10: Minimum
- Concept 11: Minimum Value
- Concept 12: Normalizer
- Concept 13: Formula Summary
- Concept 14: Central Limit Theorem
- Concept 15: Summary
-
Lesson 10: Sampling distributions and the Central Limit Theorem
Learn all about the underpinning of confidence intervals and hypothesis testing - sampling distributions.
- Concept 01: Introduction
- Concept 02: Video: Descriptive vs. Inferential Statistics
- Concept 03: Quiz: Descriptive vs. Inferential (Udacity Students)
- Concept 04: Quiz: Descriptive vs. Inferential (Bagels)
- Concept 05: Text: Descriptive vs. Inferential Statistics
- Concept 06: Video + Quiz: Introduction to Sampling Distributions Part I
- Concept 07: Video + Quiz: Introduction to Sampling Distributions Part II
- Concept 08: Video: Introduction to Sampling Distributions Part III
- Concept 09: Notebook + Quiz: Sampling Distributions & Python
- Concept 10: Text: Sampling Distribution Notes
- Concept 11: Video: Introduction to Notation
- Concept 12: Video: Notation for Parameters vs. Statistics
- Concept 13: Quiz: Notation
- Concept 14: Video: Other Sampling Distributions
- Concept 15: Video: Two Useful Theorems - Law of Large Numbers
- Concept 16: Notebook + Quiz: Law of Large Numbers
- Concept 17: Video: Two Useful Theorems - Central Limit Theorem
- Concept 18: Notebook + Quiz: Central Limit Theorem
- Concept 19: Notebook + Quiz: Central Limit Theorem - Part II
- Concept 20: Video: When Does the Central Limit Theorem Not Work?
- Concept 21: Notebook + Quiz: Central Limit Theorem - Part III
- Concept 22: Video: Bootstrapping
- Concept 23: Video: Bootstrapping & The Central Limit Theorem
- Concept 24: Notebook + Quiz: Bootstrapping
- Concept 25: Video: The Background of Bootstrapping
- Concept 26: Video: Why are Sampling Distributions Important
- Concept 27: Quiz + Text: Recap & Next Steps
-
Lesson 11: Confidence Intervals
Learn how to use sampling distributions and bootstrapping to create a confidence interval for any parameter of interest.
- Concept 01: Video: Introduction
- Concept 02: Video: From Sampling Distributions to Confidence Intervals
- Concept 03: ScreenCast: Sampling Distributions and Confidence Intervals
- Concept 04: Notebook + Quiz: Building Confidence Intervals
- Concept 05: ScreenCast: Difference In Means
- Concept 06: Notebook + Quiz: Difference in Means
- Concept 07: Video: Confidence Interval Applications
- Concept 08: Video: Statistical vs. Practical Significance
- Concept 09: Statistical vs. Practical Significance
- Concept 10: Video: Traditional Confidence Intervals
- Concept 11: ScreenCast: Traditional Confidence Interval Methods
- Concept 12: Video: Other Language Associated with Confidence Intervals
- Concept 13: Other Language Associated with Confidence Intervals
- Concept 14: Video: Correct Interpretations of Confidence Intervals
- Concept 15: Correct Interpretations of Confidence Intervals
- Concept 16: Video: Confidence Intervals & Hypothesis Tests
- Concept 17: Text: Recap + Next Steps
-
Lesson 12: Hypothesis Testing
Learn the necessary skills to create and analyze the results in hypothesis testing.
- Concept 01: Introduction
- Concept 02: Hypothesis Testing
- Concept 03: Setting Up Hypothesis Tests - Part I
- Concept 04: Setting Up Hypotheses
- Concept 05: Setting Up Hypothesis Tests - Part II
- Concept 06: Quiz: Setting Up Hypothesis Tests
- Concept 07: Types of Errors - Part I
- Concept 08: Quiz: Types of Errors - Part I
- Concept 09: Types of Errors - Part II
- Concept 10: Quiz: Types of Errors - Part II(a)
- Concept 11: Quiz: Types of Errors - Part II(b)
- Concept 12: Types of Errors - Part III
- Concept 13: Quiz: Types of Errors - Part III
- Concept 14: Common Types of Hypothesis Tests
- Concept 15: Quiz: More Hypothesis Testing Practice
- Concept 16: How Do We Choose Between Hypotheses?
- Concept 17: Video: Simulating from the Null
- Concept 18: Notebook + Quiz: Simulating from the Null
- Concept 19: Solution Notebook: Simulating from the Null
- Concept 20: What is a p-value Anyway?
- Concept 21: Video: Calculating the p-value
- Concept 22: Quiz: What is a p-value Anyway?
- Concept 23: Quiz: Calculating a p-value
- Concept 24: Quiz: Calculating another p-value
- Concept 25: Connecting Errors and P-Values
- Concept 26: Conclusions in Hypothesis Testing
- Concept 27: Quiz: Connecting Errors and P-Values
- Concept 28: Notebook + Quiz: Drawing Conclusions
- Concept 29: Solution Notebook: Drawing Conclusions
- Concept 30: Other Things to Consider - Impact of Large Sample Size
- Concept 31: Other Things to Consider - What If We Test More Than Once?
- Concept 32: Other Things to Consider - How Do CIs and HTs Compare?
- Concept 33: Notebook + Quiz: Impact of Sample Size
- Concept 34: Solution Notebook: Impact of Sample Size
- Concept 35: Notebook + Quiz: Multiple Tests
- Concept 36: Solution Notebook: Multiple tests
- Concept 37: Hypothesis Testing Conclusion
- Concept 38: Quiz + Text: Recap
-
Lesson 13: Case Study: A/B tests
Work through a case study of how A/B testing works for an online education company called Audacity.
- Concept 01: Introduction
- Concept 02: A/B Testing
- Concept 03: A/B Testing
- Concept 04: Business Example
- Concept 05: Experiment I
- Concept 06: Quiz: Experiment I
- Concept 07: Metric - Click Through Rate
- Concept 08: Click Through Rate
- Concept 09: Experiment II
- Concept 10: Metric - Enrollment Rate
- Concept 11: Metric - Average Reading Duration
- Concept 12: Metric - Average Classroom Time
- Concept 13: Metric - Completion Rate
- Concept 14: Analyzing Multiple Metrics
- Concept 15: Quiz: Analyzing Multiple Metrics
- Concept 16: Drawing Conclusions
- Concept 17: Quiz: Difficulties in A/B Testing
- Concept 18: Conclusion
-
Lesson 14: Regression
Use python to fit linear regression models, as well as understand how to interpret the results of linear models.
- Concept 01: Video: Introduction
- Concept 02: Video: Introduction to Machine Learning
- Concept 03: Quiz: Machine Learning Big Picture
- Concept 04: Video: Introduction to Linear Regression
- Concept 05: Quiz: Linear Regression Language
- Concept 06: Scatter Plots
- Concept 07: Quizzes On Scatter Plots
- Concept 08: Correlation Coefficients
- Concept 09: Correlation Coefficient Quizzes
- Concept 10: Video: What Defines A Line?
- Concept 11: Quiz: What Defines A Line? - Notation Quiz
- Concept 12: Quiz: What Defines A Line? - Line Basics Quiz
- Concept 13: Video: Fitting A Regression Line
- Concept 14: Text: The Regression Closed Form Solution
- Concept 15: Screencast: Fitting A Regression Line in Python
- Concept 16: Video: How to Interpret the Results?
- Concept 17: Video: Does the Line Fit the Data Well?
- Concept 18: Notebook + Quiz: How to Interpret the Results
- Concept 19: Notebook + Quiz: Regression - Your Turn - Part I
- Concept 20: Notebook + Quiz: Your Turn - Part II
- Concept 21: Video: Recap
- Concept 22: Text: Recap + Next Steps
-
Lesson 15: Multiple Linear Regression
Learn to apply multiple linear regression models in python. Learn to interpret the results and understand if your model fits well.
- Concept 01: Video: Introduction
- Concept 02: Video: Multiple Linear Regression
- Concept 03: Screencast: Fitting A Multiple Linear Regression Model
- Concept 04: Notebook + Quiz: Fitting A MLR Model
- Concept 05: Screencast + Text: How Does MLR Work?
- Concept 06: Video: Multiple Linear Regression Model Results
- Concept 07: Quiz: Interpreting Coefficients in MLR
- Concept 08: Video: Dummy Variables
- Concept 09: Text: Dummy Variables
- Concept 10: Dummy Variables
- Concept 11: Screencast: Dummy Variables
- Concept 12: Notebook + Quiz: Dummy Variables
- Concept 13: Video: Dummy Variables Recap
- Concept 14: [Optional] Notebook + Quiz: Other Encodings
- Concept 15: Video: Potential Problems
- Concept 16: [Optional] Text: Linear Model Assumptions
- Concept 17: Screencast: Multicollinearity & VIFs
- Concept 18: Video: Multicollinearity & VIFs
- Concept 19: Notebook + Quiz: Multicollinearity & VIFs
- Concept 20: Video: Higher Order Terms
- Concept 21: Text: Higher Order Terms
- Concept 22: Screencast: How to Add Higher Order Terms
- Concept 23: Video: Interpreting Interactions
- Concept 24: Text: Interpreting Interactions
- Concept 25: Notebook + Quiz: Interpreting Model Coefficients
- Concept 26: Video: Recap
- Concept 27: Text: Recap
-
Lesson 16: Logistic Regression
Learn to apply logistic regression models in python. Learn to interpret the results and understand if your model fits well.
- Concept 01: Video: Introduction
- Concept 02: Video: Fitting Logistic Regression
- Concept 03: Quiz: Logistic Regression Quick Check
- Concept 04: Video: Fitting Logistic Regression in Python
- Concept 05: Notebook + Quiz: Fitting Logistic Regression in Python
- Concept 06: Video: Interpreting Results - Part I
- Concept 07: Video (ScreenCast): Interpret Results - Part II
- Concept 08: Notebook + Quiz: Interpret Results
- Concept 09: Video: Model Diagnostics + Performance Metrics
- Concept 10: Confusion Matrices
- Concept 11: Confusion Matrix Practice 1
- Concept 12: Confusion Matrix Practice 2
- Concept 13: Filling in a Confusion Matrix
- Concept 14: Confusion Matrix: False Alarms
- Concept 15: Confusion Matrix for Eigenfaces
- Concept 16: How Many Schroeders
- Concept 17: How Many Schroeder Predictions
- Concept 18: Classifying Chavez Correctly 1
- Concept 19: Classifying Chavez Correctly 2
- Concept 20: Precision and Recall
- Concept 21: Powell Precision and Recall
- Concept 22: Bush Precision and Recall
- Concept 23: True Positives in Eigenfaces
- Concept 24: False Positives in Eigenfaces
- Concept 25: False Negatives in Eigenfaces
- Concept 26: Practicing TP, FP, FN with Rumsfeld
- Concept 27: Equation for Precision
- Concept 28: Equation for Recall
- Concept 29: Screencast: Model Diagnostics in Python - Part I
- Concept 30: Notebook + Quiz: Model Diagnostics
- Concept 31: Video: Final Thoughts On Shifting to Machine Learning
- Concept 32: Text: Recap
- Concept 33: Video: Congratulations
-
Part 12 (Elective): Additional Material: Linear Algebra
-
Module 01: Linear Algebra
-
Lesson 01: Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.
-
Lesson 02: Vectors
Learn about vectors, the basic building block of Linear Algebra.
- Concept 01: What's a Vector?
- Concept 02: Vectors, what even are they? Part 2
- Concept 03: Vectors, what even are they? Part 3
- Concept 04: Vectors- Mathematical definition
- Concept 05: Transpose
- Concept 06: Magnitude and Direction
- Concept 07: Vectors- Quiz 1
- Concept 08: Operations in the Field
- Concept 09: Vector Addition
- Concept 10: Vectors- Quiz 2
- Concept 11: Scalar by Vector Multiplication
- Concept 12: Vectors Quiz 3
- Concept 13: Vectors Quiz Answers
-
Lesson 03: Linear Combination
Learn how to scale and add vectors and how to visualize the process.
- Concept 01: Linear Combination. Part 1
- Concept 02: Linear Combination. Part 2
- Concept 03: Linear Combination and Span
- Concept 04: Linear Combination -Quiz 1
- Concept 05: Linear Dependency
- Concept 06: Solving a Simplified Set of Equations
- Concept 07: Linear Combination - Quiz 2
- Concept 08: Linear Combination - Quiz 3
-
Lesson 04: Linear Transformation and Matrices
What is a linear transformation and how is it directly related to matrices? Learn how to apply the math and visualize the concept.
- Concept 01: What is a Matrix?
- Concept 02: Matrix Addition
- Concept 03: Matrix Addition Quiz
- Concept 04: Scalar Multiplication of Matrix and Quiz
- Concept 05: Multiplication of Square Matrices
- Concept 06: Square Matrix Multiplication Quiz
- Concept 07: Matrix Multiplication - General
- Concept 08: Matrix Multiplication Quiz
- Concept 09: Linear Transformation and Matrices . Part 1
- Concept 10: Linear Transformation and Matrices. Part 2
- Concept 11: Linear Transformation and Matrices. Part 3
- Concept 12: Linear Transformation Quiz Answers
-