Skills you'll learn:

Introduction to Machine Learning with TensorFlow
Nanodegree Program
Build powerful machine learning models to make predictions and uncover hidden patterns. Start with foundational supervised learning algorithms including linear regression, decision trees, naive Bayes, support vector machines (SVMs), and perceptrons, then evaluate your model performance with a variety of evaluation metrics. Then you'll advance from perceptrons to deep neural networks in order to perform supervised learning on complex data sources such as images. Finally, you'll dive into unsupervised learning methods, including clustering and dimensionality reduction for customer segmentation. For each technique, you'll start by learning the underlying math, then implement real-world models with Python libraries including TensorFlow and scikit-learn.
Build powerful machine learning models to make predictions and uncover hidden patterns. Start with foundational supervised learning algorithms including linear regression, decision trees, naive Bayes, support vector machines (SVMs), and perceptrons, then evaluate your model performance with a variety of evaluation metrics. Then you'll advance from perceptrons to deep neural networks in order to perform supervised learning on complex data sources such as images. Finally, you'll dive into unsupervised learning methods, including clustering and dimensionality reduction for customer segmentation. For each technique, you'll start by learning the underlying math, then implement real-world models with Python libraries including TensorFlow and scikit-learn.
Intermediate
2 months
Last Updated January 14, 2025
Prerequisites:
Intermediate
2 months
Last Updated January 14, 2025
Skills you'll learn:
Prerequisites:
Courses In This Program
Course 1 • 2 hours
Introduction to Machine Learning
Lesson 1
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 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Lesson 3
[Optional] 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.
Course 2 • 3 weeks
Supervised Learning
In this course, you'll learn about different types of supervised learning and how to use them to solve real-world problems.
Lesson 1
Introduction to Supervised Learning
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.
Lesson 2
Linear Regression
Linear regression is one of the most fundamental algorithms in machine learning. In this lesson, learn how linear regression works!
Lesson 3
Perceptron Algorithm
The perceptron algorithm is an algorithm for classifying data. It is the building block of neural networks.
Lesson 4
Decision Trees
Decision trees are a structure for decision-making where each decision leads to a set of consequences or additional decisions.
Lesson 5
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.
Lesson 6
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!
Lesson 7
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.
Lesson 8
Model Evaluation Metrics
Learn the main metrics to evaluate models, such as accuracy, precision, recall, and more!
Lesson 9
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.
Lesson 10 • Project
Finding Donors Project
You've covered a wide variety of methods for performing supervised learning -- now it's time to put those into action!
Course 3 • 3 weeks
Introduction to Neural Networks with TensorFlow
Learn the fundamentals of neural networks with Python and TensorFlow, and then use your new skills to create your own image classifier—an application that will first train a deep learning model on a dataset of images and then use the trained model to classify new images.
Lesson 1
Course Introduction
Meet your instructors, get a short overview of what you'll be learning, check your prerequisites, and learn how to use the workspaces and notebooks found throughout the lessons.
Lesson 2
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.
Lesson 3
Implementing Gradient Descent
Mat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.
Lesson 4
Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
Lesson 5
Deep Learning with TensorFlow
Learn how to use TensorFlow for building deep learning models.
Lesson 6 • Project
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.
Course 4 • 3 weeks
Unsupervised Learning
In this course, you'll learn how to apply unsupervised learning to solve real-world problems.
Lesson 1
Clustering
Clustering is one of the most common methods of unsupervised learning. Here, we'll discuss the K-means clustering algorithm.
Lesson 2
Hierarchical and Density Based Clustering
We continue to look at clustering methods. Here, we'll discuss hierarchical clustering and density-based clustering (DBSCAN).
Lesson 3
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.
Lesson 4
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.
Lesson 5
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).
Lesson 6 • Project
Project: 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.
Course 5 • 10 minutes
Congratulations!
Congratulations on finishing your program!
Lesson 1
Congratulations!
Congratulations on your graduation from this program! Please join us in celebrating your accomplishments.
(Optional) Course 6 • 2 weeks
Prerequisite: Python for Data Analysis
Lesson 1
Why Python Programming
Welcome to Introduction to Python! Here's an overview of the course.
Lesson 2
Data Types and Operators
Familiarize yourself with the building blocks of Python! Learn about data types and operators, built-in functions, type conversion, whitespace, and style guidelines.
Lesson 3
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.
Lesson 4
Functions
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
Lesson 5
Scripting
Set up your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.
Lesson 6
NumPy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
Lesson 7
Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
(Optional) Course 7 • 3 weeks
Prerequisite: SQL for Data Analysis
Lesson 1
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.
Lesson 2
SQL Joins
In this lesson, you will learn how to combine data from multiple tables together.
Lesson 3
SQL Aggregations
In this lesson, you will learn how to aggregate data using SQL functions
Lesson 4
SQL Subqueries & Temporary Tables
In this lesson, you will learn about subqueries, a fundamental advanced SQL topic. This lesson will walk you through the appropriate applications of subqueries, the different types of subqueries, and review subquery syntax and examples.
Lesson 5
SQL Window Functions
Window functions allow users to compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis.
Lesson 6
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.
Lesson 7
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.
(Optional) Course 8 • 2 hours
Prerequisite: Command Line Essentials
Lesson 1
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.
(Optional) Course 9 • 3 weeks
Prerequisite: Git & Github
Lesson 1
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 2
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 3
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 4
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 5
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 6
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 7
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 8
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 9
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.
(Optional) Course 10 • 3 weeks
Additional Material: Python for Data Visualization
Lesson 1
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.
Lesson 2
Design of Visualizations
Learn about elements of visualization design, especially to avoid those elements that can cause a visualization to fail.
Lesson 3
Univariate Exploration of Data
In this lesson, you will see how you can use matplotlib and seaborn to produce informative visualizations of single variables.
Lesson 4
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.
Lesson 5
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.
Lesson 6
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!
Lesson 7
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.
(Optional) Course 11 • 1 month
Additional Material: Statistics for Data Analysis
Lesson 1
Descriptive Statistics - Part I
In this lesson, you will learn about data types, measures of center, and the basics of statistical notation.
Lesson 2
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.
Lesson 3
Admissions Case Study
Learn to ask the right questions, as you learn about Simpson's Paradox.
Lesson 4
Probability
Gain the basics of probability using coins and die.
Lesson 5
Binomial Distribution
Learn about one of the most popular distributions in probability - the Binomial Distribution.
Lesson 6
Conditional Probability
Not all events are independent. Learn the probability rules for dependent events.
Lesson 7
Bayes Rule
Learn one of the most popular rules in all of statistics - Bayes rule.
Lesson 8
Python Probability Practice
Take what you have learned in the last lessons and put it to practice in Python.
Lesson 9
Normal Distribution Theory
Learn the mathematics behind moving from a coin flip to a normal distribution.
Lesson 10
Sampling distributions and the Central Limit Theorem
Learn all about the underpinning of confidence intervals and hypothesis testing - sampling distributions.
Lesson 11
Confidence Intervals
Learn how to use sampling distributions and bootstrapping to create a confidence interval for any parameter of interest.
Lesson 12
Hypothesis Testing
Learn the necessary skills to create and analyze the results in hypothesis testing.
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.
Lesson 14
Regression
Use python to fit linear regression models, as well as understand how to interpret the results of linear models.
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.
Lesson 16
Logistic Regression
Learn to apply logistic regression models in python. Learn to interpret the results and understand if your model fits well.
(Optional) Course 12 • 4 hours
Additional Material: Linear Algebra
Lesson 1
Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.
Lesson 2
Vectors
Learn about vectors, the basic building block of Linear Algebra.
Lesson 3
Linear Combination
Learn how to scale and add vectors and how to visualize the process.
Lesson 4
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.
Taught By The Best

Josh Bernhard
Staff Data Scientist
Josh has been sharing his passion for data for over a decade. He's used data science for work ranging from cancer research to process automation. He recently has found a passion for solving data science problems within marketplace companies.

Michael Virgo
Instructor
After beginning his career in business, Michael utilized Udacity Nanodegree programs to build his technical skills, eventually becoming a Self-Driving Car Engineer at Udacity before switching roles to work on curriculum development for a variety of AI and Autonomous Systems programs.

Mat Leonard
Content Developer
Mat is a former physicist, research neuroscientist, and data scientist. He did his PhD and Postdoctoral Fellowship at the University of California, Berkeley.

Andrew Paster
Instructor
Andrew has an engineering degree from Yale, and has used his data science skills to build a jewelry business from the ground up. He has additionally created courses for Udacity's Self-Driving Car Engineer Nanodegree program.

Jennifer Staab
Instructor
Jennifer has a PhD in Computer Science and a Masters in Biostatistics; she was a professor at Florida Polytechnic University. She previously worked at RTI International and United Therapeutics as a statistician and computer scientist.

Dan Romuald Mbanga
Instructor
Dan leads Amazon AI's Business Development efforts for Machine Learning Services. Day to day, he works with customers—from startups to enterprises—to ensure they are successful at building and deploying models on Amazon SageMaker.

Cezanne Camacho
Curriculum Lead
Cezanne is an expert in computer vision with a Masters in Electrical Engineering from Stanford University. As a former researcher in genomics and biomedical imaging, she's applied computer vision and deep learning to medical diagnostic applications.

Sean Carrell
Instructor
Sean Carrell is a former research mathematician specializing in Algebraic Combinatorics. He completed his PhD and Postdoctoral Fellowship at the University of Waterloo, Canada.

Jay Alammar
Instructor
Jay is a software engineer, the founder of Qaym (an Arabic-language review site), and the Investment Principal at STV, a $500 million venture capital fund focused on high-technology startups.

Luis Serrano
Instructor
Luis was formerly a Machine Learning Engineer at Google. He holds a PhD in mathematics from the University of Michigan, and a Postdoctoral Fellowship at the University of Quebec at Montreal.

Juan Delgado
Content Developer
Juan is a computational physicist with a Masters in Astronomy. He is finishing his PhD in Biophysics. He previously worked at NASA developing space instruments and writing software to analyze large amounts of scientific data using machine learning techniques.
Student Reviews
Average Rating: 4.6 Stars
275 Reviews
Shaohua W.
September 19, 2022
not bad,very intuition
kazuma s.
August 16, 2022
It was good to examine the strengths and weaknesses of each model. It would have been better if the lecture could have shown when each model is best to be used.
Ian C.
July 9, 2022
Great program.
Gishe T.
July 9, 2022
Good project with different machine learning algorithms to explore with tradeoff.
Ond≈ôej S.
March 28, 2022
It was really good project to get new experience
The Udacity Difference
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately

Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills

Enroll in Introduction to Machine Learning with TensorFlow. Choose the plan that works for you
All Access monthly
Unlimited access to our top-rated courses
Personalized Career Services
Cancel Anytime
Real-world projects
Personalized project reviews
Program certificates
Best Value
All Access bundle1
All the same great benefits as our monthly plan
The most cost-effective way to develop the skills you want
- 1Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.
Your subscription also includes:
Your subscription also includes:

(248)
2 months
Intermediate

(966)
3 months
Intermediate

(101)
3 months
Advanced

3 weeks
Intermediate

3 months
Intermediate

4 months
Advanced

4 weeks
Intermediate

(477)
2 months
Advanced

4 weeks
Intermediate

(356)
4 months
Advanced

(309)
2 months
Advanced

(90)
1 month
Beginner

(392)
3 months
Intermediate

(83)
2 months
Intermediate

(8)
2 months
Intermediate

2 weeks
Intermediate