Learn about the idea of supervised learning.
- [Instructor] In this course, we're going to use supervised machine learning to predict values. Supervised learning is the branch of machine learning where the computer learns how to perform a function by looking at labeled training data. There are other branches of machine learning, such as unsupervised learning and reinforcement learning, but supervised learning is the most commonly used and the best place for us to start. Here's how we'll use supervised learning to do value prediction. We train the supervised learning model by showing it data and telling it what the correct value output should be for that data and our machine learning algorithm uses that data to work out the rules to reproduce those same results.
For example, if we show the numbers two and two, and tell it the answer is four, and then we show it the numbers three and five, and tell it the answer is eight, it will start to figure out how to do addition. Just by seeing enough examples, it figures out that whenever it sees two numbers, we want the result to be the sum of those numbers. The sum is the value that the system is predicting. We call this process, training. Once the model is trained, we can use it to look up brand new data and tell us its estimate of what the value should be for that new input data. If we show it seven and two, now it can tell us that the answer is nine, based on its training.
The system's able to generalize what it learned from the training data and use it to predict values for new data. Let's look at a more complicated example. Imagine that you're a real estate agent with years of experience selling houses. Because you've been selling houses for a longe time, you can take one glance at any house and estimate how much its worth quickly. You can do this almost unconsciously. For example, this house is spacious, it's located in a quite neighborhood, it has a large front yard, and it looks attractive from the street. Based on these factors, you might estimate that it's worth $450,000 in your local market.
But now your real estate business is growing and you can't manage all your clients yourself. You decide to hire a few trainee agents to help you out. But there's a problem, your trainees don't have your experience, so they don't know how to price their houses. To help your trainees, you want to write a program that can estimate the value of a house in your area based on its size, it's neighborhood and so on, and what similar houses have sold for recently. We can do this with supervised machine learning. First we'll write down every time someone sells a house in the area for three months. For each house, we'll write down the basic characteristics of the house, like number of bedrooms, the house's size and square feet, the neighborhood the house is in, and so on.
But most importantly, we'll write down the final sales price of the house. This is our training data. To build our program, we'll feed the training data into a machine learning algorithm and the algorithm will work out how to come up with the correct answer for each house. This is supervised machine learning. We call it learning, because the computer is learning how to model the price of a house based on the values we're feeding into it. We say it's supervised, because we're giving the computer the correct answer for each house's value. All the computer has to do is work out the relationship between the input data and the final price.
- Setting up the development environment
- Building a simple home value estimator
- Finding the best weights automatically
- Working with large data sets efficiently
- Training a supervised machine learning model
- Exploring a home value data set
- Deciding how much data is needed
- Preparing the features
- Training the value estimator
- Measuring accuracy with mean absolute error
- Improving a system
- Using the machine learning model to make predictions