Course 1: Introduction to Machine Learning 2 hoursWelcome to Machine LearningWelcome to the Machine Learning Engineer Nanodegree program! Learn about the program structure and the projects you'll work on in this program.Getting HelpYou are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.[Optional] Setting Up Your ComputerIn this lesson, get your computer set up with Python 3 using Anaconda, as well as setting up a text editor.Course 2: Supervised Learning From theory to application, this course guides you through supervised learning essentials. Learn to select, implement, and refine models that solve complex classification and regression tasks.17 hoursIntroduction to Supervised LearningBefore 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.Linear Regression Linear regression is one of the most fundamental algorithms in machine learning. In this lesson, learn how linear regression works!Perceptron AlgorithmThe perceptron algorithm is an algorithm for classifying data. It is the building block of neural networks.Decision TreesDecision trees are a structure for decision-making where each decision leads to a set of consequences or additional decisions.Naive BayesNaive Bayesian Algorithms are powerful tools for creating classifiers for incoming labeled data. Specifically Naive Bayes is frequently used with text data and classification problems.Support Vector MachinesSupport vector machines are a common method used for classification problems. They have been proven effective using what is known as the 'kernel' trick!Ensemble MethodsBagging 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.Model Evaluation MetricsLearn the main metrics to evaluate models, such as accuracy, precision, recall, and more!Training and TuningLearn the main types of errors that can occur during training, and several methods to deal with them and optimize your machine learning models.Finding Donors ProjectYou've covered a wide variety of methods for performing supervised learning -- now it's time to put those into action!Course 3: 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.17 hoursCourse IntroductionMeet 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.Introduction to Neural NetworksIn 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.Implementing Gradient DescentMat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.Training Neural NetworksNow that you know what neural networks are, in this lesson you will learn several techniques to improve their training.Deep Learning with TensorFlowLearn how to use TensorFlow for building deep learning models.Image Classifier ProjectIn 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: Unsupervised Learning Learn to apply unsupervised learning methods like K-means and Gaussian mixtures to extract value from raw data. Develop skills in feature extraction and cluster validation to enhance data analysis.14 hoursClusteringClustering is one of the most common methods of unsupervised learning. Here, we'll discuss the K-means clustering algorithm.Hierarchical and Density-Based ClusteringWe continue to look at clustering methods. Here, we'll discuss hierarchical clustering and density-based clustering (DBSCAN). Gaussian Mixture Models and Cluster ValidationIn this lesson, we discuss Gaussian mixture model clustering. We then talk about the cluster analysis process and how to validate clustering results.Dimensionality Reduction and PCAOften 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.Random Projection and ICAIn this lesson, we will look at two other methods for feature extraction and dimensionality reduction: Random Projection and Independent Component Analysis (ICA).Project: Identify Customer SegmentsIn 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: Congratulations! Congratulations on finishing your program!10 minutesCongratulations!Congratulations on your graduation from this program! Please join us in celebrating your accomplishments.Course 6: OptionalPrerequisite: Python for Data Analysis Optional12 hoursWhy Python ProgrammingWelcome to Introduction to Python! Here's an overview of the course.Data Types and OperatorsFamiliarize yourself with the building blocks of Python! Learn about data types and operators, built-in functions, type conversion, whitespace, and style guidelines.Control FlowBuild logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.FunctionsLearn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.ScriptingSet up your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.NumPyLearn the basics of NumPy and how to use it to create and manipulate arrays.PandasLearn the basics of Pandas Series and DataFrames and how to use them to load and process data.Course 7: OptionalPrerequisite: SQL for Data Analysis Optional16 hoursBasic SQLIn 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. SQL JoinsIn this lesson, you will learn how to combine data from multiple tables together. SQL AggregationsIn this lesson, you will learn how to aggregate data using SQL functionsSQL Subqueries & Temporary TablesIn 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.SQL Window FunctionsWindow functions allow users to compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis.SQL Data CleaningCleaning data is an important part of the data analysis process. You will be learning how to perform data cleaning using SQL in this lesson.SQL Advanced JOINS & Performance TuningLearn 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.Course 8: OptionalPrerequisite: Command Line Essentials Optional2 hoursShell WorkshopThe 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.Course 9: OptionalPrerequisite: Git & Github Optional15 hoursWhat is Version ControlVersion 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!Create a Git RepoNow that you've learned the benefits of Version Control and gotten Git installed, it's time you learn how to create a repository.Review a Repo's HistoryKnowing 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.Add Commits to a RepoA 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.Tagging, Branching, and MergingBeing 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.Undoing ChangesHelp! 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.Working with RemotesYou'll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.Working on Another Developer's RepositoryIn 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.Staying in Sync with a Remote RepositoryYou'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.Course 10: OptionalAdditional Material: Python for Data Visualization Optional13 hoursData Visualization in Data AnalysisIn this lesson, see the motivations for why data visualization is an important part of the data analysis process and where it fits in.Design of VisualizationsLearn about elements of visualization design, especially to avoid those elements that can cause a visualization to fail.Univariate Exploration of DataIn this lesson, you will see how you can use matplotlib and seaborn to produce informative visualizations of single variables.Bivariate Exploration of DataIn 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.Multivariate Exploration of DataIn this lesson, see how you can use matplotlib and seaborn to visualize relationships and interactions between three or more variables.Explanatory VisualizationsPrevious 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!Visualization Case StudyPut to practice the concepts you've learned about exploratory and explanatory data visualization in this case study on factors that impact diamond prices.Course 11: OptionalAdditional Material: Statistics for Data Analysis Optional30 hoursDescriptive Statistics - Part IIn this lesson, you will learn about data types, measures of center, and the basics of statistical notation.Descriptive Statistics - Part IIIn 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.Admissions Case StudyLearn to ask the right questions, as you learn about Simpson's Paradox.ProbabilityGain the basics of probability using coins and die.Binomial DistributionLearn about one of the most popular distributions in probability - the Binomial Distribution.Conditional ProbabilityNot all events are independent. Learn the probability rules for dependent events.Bayes RuleLearn one of the most popular rules in all of statistics - Bayes rule.Python Probability PracticeTake what you have learned in the last lessons and put it to practice in Python.Normal Distribution TheoryLearn the mathematics behind moving from a coin flip to a normal distribution.Sampling distributions and the Central Limit TheoremLearn all about the underpinning of confidence intervals and hypothesis testing - sampling distributions.Confidence IntervalsLearn how to use sampling distributions and bootstrapping to create a confidence interval for any parameter of interest.Hypothesis TestingLearn the necessary skills to create and analyze the results in hypothesis testing.Case Study: A/B testsWork through a case study of how A/B testing works for an online education company called Audacity.RegressionUse python to fit linear regression models, as well as understand how to interpret the results of linear models.Multiple Linear RegressionLearn to apply multiple linear regression models in python. Learn to interpret the results and understand if your model fits well.Logistic RegressionLearn to apply logistic regression models in python. Learn to interpret the results and understand if your model fits well.Course 12: OptionalAdditional Material: Linear Algebra Optional4 hoursIntroduction Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool. Vectors Learn about vectors, the basic building block of Linear Algebra. Linear Combination Learn how to scale and add vectors and how to visualize the process. Linear Transformation and MatricesWhat is a linear transformation and how is it directly related to matrices? Learn how to apply the math and visualize the concept.CompanyAbout Us Why Udacity? Blog In the News Jobs at Udacity Become a Mentor Partner with Udacity ResourcesCatalog Career Outcomes Help and FAQ Scholarships Resource Center Udacity SchoolsSchool of Artificial Intelligence School of Autonomous Systems School of Business School of Cloud Computing School of Cybersecurity School of Data Science School of Executive Leadership School of Product Management School of Programming and Development Career Resources Featured ProgramsBusiness Analytics SQL AWS Cloud Architect Data Analyst Intro to Programming Digital Marketing Self Driving Car Engineer Only at UdacityArtificial Intelligence Deep Learning Digital Marketing Flying Car and Autonomous Flight Engineer Intro to Self-Driving Cars Machine Learning Engineer Robotics Software Engineer