We may earn an affiliate commission when you visit our partners.
Course image
Emily Fox and Carlos Guestrin

Case Study - Predicting Housing Prices

Read more

Case Study - Predicting Housing Prices

In our first case study, predicting house prices, you will create models that predict a continuous value (price) from input features (square footage, number of bedrooms and bathrooms,...). This is just one of the many places where regression can be applied. Other applications range from predicting health outcomes in medicine, stock prices in finance, and power usage in high-performance computing, to analyzing which regulators are important for gene expression.

In this course, you will explore regularized linear regression models for the task of prediction and feature selection. You will be able to handle very large sets of features and select between models of various complexity. You will also analyze the impact of aspects of your data -- such as outliers -- on your selected models and predictions. To fit these models, you will implement optimization algorithms that scale to large datasets.

Learning Outcomes: By the end of this course, you will be able to:

-Describe the input and output of a regression model.

-Compare and contrast bias and variance when modeling data.

-Estimate model parameters using optimization algorithms.

-Tune parameters with cross validation.

-Analyze the performance of the model.

-Describe the notion of sparsity and how LASSO leads to sparse solutions.

-Deploy methods to select between models.

-Exploit the model to form predictions.

-Build a regression model to predict prices using a housing dataset.

-Implement these techniques in Python.

Enroll now

What's inside

Syllabus

Welcome
Regression is one of the most important and broadly used machine learning and statistics tools out there. It allows you to make predictions from data by learning the relationship between features of your data and some observed, continuous-valued response. Regression is used in a massive number of applications ranging from predicting stock prices to understanding gene regulatory networks.

This introduction to the course provides you with an overview of the topics we will cover and the background knowledge and resources we assume you have.

Read more
Simple Linear Regression
Our course starts from the most basic regression model: Just fitting a line to data. This simple model for forming predictions from a single, univariate feature of the data is appropriately called "simple linear regression".

In this module, we describe the high-level regression task and then specialize these concepts to the simple linear regression case. You will learn how to formulate a simple regression model and fit the model to data using both a closed-form solution as well as an iterative optimization algorithm called gradient descent. Based on this fitted function, you will interpret the estimated model parameters and form predictions. You will also analyze the sensitivity of your fit to outlying observations.

You will examine all of these concepts in the context of a case study of predicting house prices from the square feet of the house.

Multiple Regression
The next step in moving beyond simple linear regression is to consider "multiple regression" where multiple features of the data are used to form predictions.

More specifically, in this module, you will learn how to build models of more complex relationship between a single variable (e.g., 'square feet') and the observed response (like 'house sales price'). This includes things like fitting a polynomial to your data, or capturing seasonal changes in the response value. You will also learn how to incorporate multiple input variables (e.g., 'square feet', '# bedrooms', '# bathrooms'). You will then be able to describe how all of these models can still be cast within the linear regression framework, but now using multiple "features". Within this multiple regression framework, you will fit models to data, interpret estimated coefficients, and form predictions.

Here, you will also implement a gradient descent algorithm for fitting a multiple regression model.

Assessing Performance
Having learned about linear regression models and algorithms for estimating the parameters of such models, you are now ready to assess how well your considered method should perform in predicting new data. You are also ready to select amongst possible models to choose the best performing.

This module is all about these important topics of model selection and assessment. You will examine both theoretical and practical aspects of such analyses. You will first explore the concept of measuring the "loss" of your predictions, and use this to define training, test, and generalization error. For these measures of error, you will analyze how they vary with model complexity and how they might be utilized to form a valid assessment of predictive performance. This leads directly to an important conversation about the bias-variance tradeoff, which is fundamental to machine learning. Finally, you will devise a method to first select amongst models and then assess the performance of the selected model.

The concepts described in this module are key to all machine learning problems, well-beyond the regression setting addressed in this course.

Ridge Regression
You have examined how the performance of a model varies with increasing model complexity, and can describe the potential pitfall of complex models becoming overfit to the training data. In this module, you will explore a very simple, but extremely effective technique for automatically coping with this issue. This method is called "ridge regression". You start out with a complex model, but now fit the model in a manner that not only incorporates a measure of fit to the training data, but also a term that biases the solution away from overfitted functions. To this end, you will explore symptoms of overfitted functions and use this to define a quantitative measure to use in your revised optimization objective. You will derive both a closed-form and gradient descent algorithm for fitting the ridge regression objective; these forms are small modifications from the original algorithms you derived for multiple regression. To select the strength of the bias away from overfitting, you will explore a general-purpose method called "cross validation".

You will implement both cross-validation and gradient descent to fit a ridge regression model and select the regularization constant.

Feature Selection & Lasso
A fundamental machine learning task is to select amongst a set of features to include in a model. In this module, you will explore this idea in the context of multiple regression, and describe how such feature selection is important for both interpretability and efficiency of forming predictions.

To start, you will examine methods that search over an enumeration of models including different subsets of features. You will analyze both exhaustive search and greedy algorithms. Then, instead of an explicit enumeration, we turn to Lasso regression, which implicitly performs feature selection in a manner akin to ridge regression: A complex model is fit based on a measure of fit to the training data plus a measure of overfitting different than that used in ridge. This lasso method has had impact in numerous applied domains, and the ideas behind the method have fundamentally changed machine learning and statistics. You will also implement a coordinate descent algorithm for fitting a Lasso model.

Coordinate descent is another, general, optimization technique, which is useful in many areas of machine learning.

Nearest Neighbors & Kernel Regression
Up to this point, we have focused on methods that fit parametric functions---like polynomials and hyperplanes---to the entire dataset. In this module, we instead turn our attention to a class of "nonparametric" methods. These methods allow the complexity of the model to increase as more data are observed, and result in fits that adapt locally to the observations.

We start by considering the simple and intuitive example of nonparametric methods, nearest neighbor regression: The prediction for a query point is based on the outputs of the most related observations in the training set. This approach is extremely simple, but can provide excellent predictions, especially for large datasets. You will deploy algorithms to search for the nearest neighbors and form predictions based on the discovered neighbors. Building on this idea, we turn to kernel regression. Instead of forming predictions based on a small set of neighboring observations, kernel regression uses all observations in the dataset, but the impact of these observations on the predicted value is weighted by their similarity to the query point. You will analyze the theoretical performance of these methods in the limit of infinite training data, and explore the scenarios in which these methods work well versus struggle. You will also implement these techniques and observe their practical behavior.

Closing Remarks
In the conclusion of the course, we will recap what we have covered. This represents both techniques specific to regression, as well as foundational machine learning concepts that will appear throughout the specialization. We also briefly discuss some important regression techniques we did not cover in this course.

We conclude with an overview of what's in store for you in the rest of the specialization.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces linear regression, a crucial tool in machine learning and data analysis
Explores advanced techniques like Ridge and Lasso regression for enhanced prediction capabilities
Taught by experienced instructors Carlos Guestrin and Emily Fox, known for their contributions to machine learning
Suitable for beginners seeking a solid foundation in linear regression
Requires familiarity with basic statistics and Python programming

Save this course

Save Machine Learning: Regression to your list so you can find it easily later:
Save

Reviews summary

Well-received regression course

Learners say this six-week course provides a positive learning experience on the theory and programming behind machine learning regression models. The course begins with the basics of simple linear regression, then gradually introduces complex regression algorithms like lasso and kernel regression. Weekly engaging assignments use the GraphLab Create library, making it easy for students to follow along. Instructors are well-regarded for their clear explanations and practical examples.
This course emphasizes both theory and programming, which is considered a positive by many learners.
"Good balance between hands-on and theory"
"Excellent introduction to linear regression by top-notch instructors"
"The instructors take care to teach every concept as precisely and intuitively as possible."
The course features engaging assignments that help learners apply the concepts they learn in the lectures.
"Very useful assignments"
"Assignments are not boringly easy"
"Programming questions are useful for practice"
"Excellent assignments"
This course has a largely positive rating with most learners saying they had a good learning experience.
"Excellent course"
"Clear and concise explanations"
"Engaging course"
"Very helpful"
"Awesome course"
Learners appreciate the clear explanations and practical examples provided by the instructors.
"Excellent material and really clear presentations"
"Excellent lectures with great quizzes"
"Really really Helpful"
"Professors did the wonder. Really got some good stuff."
Some learners have expressed the concern that the course is outdated and uses a proprietary library that is not widely used in the industry
"Super outdated course, very hard to follow videos"
"A really good course which covers the complete concepts of regression models"
"It would have been better if the coding part was also covered in videos only"
"Be aware that this course is from 2015."
"The course is "chapter 2"of the Machine Learning certification from this university. The start of this course was interesting. Videos are great and iPython assignements may prove difficult. But all in all I found this course much less interesting than the "Foundatins course (chapter 1 of the specialization."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Machine Learning: Regression with these activities:
Learn to Use Different Regression Techniques in Python
Get hands-on practice implementing various regression techniques in Python, reinforcing your understanding of the material covered in this course.
Browse courses on Regression
Show steps
  • Identify a suitable dataset for regression analysis.
  • Select and install Python libraries for data cleaning, preprocessing, and modeling.
  • Apply different regression algorithms, such as linear regression, ridge regression, and Lasso regression.
  • Evaluate model performance using metrics like R-squared, MSE, and cross-validation.
  • Visualize the results and gain insights into the relationship between features and target variable.
Show all one activities

Career center

Learners who complete Machine Learning: Regression will develop knowledge and skills that may be useful to these careers:
Data Analyst
A Data Analyst is a person who collects, analyzes, and interprets data to help organizations make informed decisions. Data Analysts are employed in various industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, a statistical method used to analyze relationships between variables. Regression is a key skill for Data Analysts and is used in a variety of applications, such as predicting customer churn, forecasting sales, and optimizing marketing campaigns.
Machine Learning Engineer
A Machine Learning Engineer is a person who designs, develops, and deploys machine learning models. Machine Learning Engineers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, which is used to develop machine learning models. Furthermore, you will develop skills in optimization algorithms, which are commonly used to train machine learning models.
Data Scientist
A Data Scientist is a person who uses data to solve business problems. Data Scientists are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, a statistical method used to analyze relationships between variables. Regression is a key skill for Data Scientists and is used in a variety of applications, such as predicting customer churn, forecasting sales, and optimizing marketing campaigns. Furthermore, this course introduces key concepts in machine learning and optimization, which are integral to the work of data scientists.
Statistician
A Statistician is a person who collects, analyzes, and interprets data. Statisticians are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help build your foundation in regression, a statistical method used to analyze relationships between variables. Regression is a key skill for Statisticians and is used in a variety of applications, such as designing clinical trials, forecasting economic trends, and evaluating marketing campaigns.
Quantitative Analyst
A Quantitative Analyst is a person who uses mathematical and statistical models to analyze financial data. Quantitative Analysts are employed in a variety of industries, including investment banks, hedge funds, and insurance companies. This course will help you build a strong foundation in regression, which is used to develop financial models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex financial problems.
Operations Research Analyst
An Operations Research Analyst is a person who uses mathematical and statistical models to solve complex business problems. Operations Research Analysts are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, which is used to develop optimization models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex business problems.
Market Researcher
A Market Researcher is a person who collects, analyzes, and interprets data about markets. Market Researchers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, which is used to analyze relationships between variables. Regression is a key skill for Market Researchers and is used in a variety of applications, such as forecasting demand, evaluating marketing campaigns, and segmenting customers.
Risk Manager
A Risk Manager is a person who identifies, assesses, and manages risks. Risk Managers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, which is used to develop risk assessment models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex risk management problems.
Financial Analyst
A Financial Analyst is a person who analyzes financial data to make investment recommendations. Financial Analysts are employed in a variety of industries, including investment banks, hedge funds, and insurance companies. This course will help you build a strong foundation in regression, which is used to develop financial models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex financial problems.
Actuary
An Actuary is a person who uses mathematical and statistical models to assess risk. Actuaries are employed in a variety of industries, including insurance companies, pension funds, and consulting firms. This course will help you build a strong foundation in regression, which is used to develop actuarial models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex actuarial problems.
Business Analyst
A Business Analyst is a person who analyzes business processes to identify inefficiencies and recommend improvements. Business Analysts are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course will help you build a strong foundation in regression, which is used to develop business models. Furthermore, you will develop skills in optimization algorithms, which are used to solve complex business problems.
Software Engineer
A Software Engineer is a person who designs, develops, and maintains software applications. Software Engineers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course may be useful for Software Engineers who want to develop skills in regression, which is used to develop statistical models. Furthermore, this course introduces key concepts in machine learning and optimization, which are integral to the work of software engineers.
Data Engineer
A Data Engineer is a person who designs, develops, and maintains data pipelines. Data Engineers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course may be useful for Data Engineers who want to develop skills in regression, which is used to develop statistical models. Furthermore, this course introduces key concepts in machine learning and optimization, which are integral to the work of data engineers.
Product Manager
A Product Manager is a person who is responsible for the development and launch of new products. Product Managers are employed in a variety of industries, including healthcare, finance, retail, and manufacturing. This course may be useful for Product Managers who want to develop skills in regression, which is used to develop statistical models. Furthermore, this course introduces key concepts in machine learning and optimization, which are integral to the work of product managers.
Consultant
A Consultant is a person who provides expert advice to clients. This course may be useful for Consultants who want to develop skills in regression, which is used to develop statistical models. Furthermore, this course introduces key concepts in machine learning and optimization, which are integral to the work of consultants.

Reading list

We've selected 20 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Machine Learning: Regression.
Provides a comprehensive overview of machine learning from a Bayesian and optimization perspective. It covers a variety of topics, including probability theory, Bayesian inference, and optimization.
Provides a comprehensive overview of statistical learning methods, including regression and classification. It valuable resource for students and practitioners who want to learn more about the theory and practice of statistical learning.
Comprehensive overview of pattern recognition and machine learning. It covers a variety of topics, including supervised learning, unsupervised learning, and reinforcement learning.
Comprehensive overview of deep learning, a subfield of machine learning that has become increasingly popular in recent years. It covers a variety of topics, including convolutional neural networks, recurrent neural networks, and generative adversarial networks.
Provides a comprehensive overview of machine learning from an algorithmic perspective. It covers a variety of topics, including supervised learning, unsupervised learning, and reinforcement learning.
Provides a practical guide to machine learning with Python. It covers a variety of topics, including regression, classification, and clustering.
More advanced treatment of statistical learning methods than the previous book. It covers a wider range of topics, including Bayesian methods and nonparametric methods.
This textbook covers the theory of linear models, including ordinary least squares, generalized least squares, and mixed effects models. It provides a solid foundation for understanding the principles of linear regression.
Provides a practical approach to regression analysis, using real-world examples to illustrate the concepts. It valuable resource for those who want to apply regression analysis to their own research or work.
This textbook provides a comprehensive overview of regression analysis, including both linear and generalized linear models. It valuable resource for those who want to gain a deeper understanding of regression analysis and its applications.
This textbook provides a comprehensive overview of multiple linear regression, covering topics such as model building, variable selection, and diagnostics. It useful resource for those who want to gain a deeper understanding of multiple regression.
Provides a practical guide to machine learning for people with no prior experience. It covers a variety of topics, including regression, classification, and clustering.
This textbook provides a comprehensive overview of regression analysis, with a focus on actuarial and financial applications. It valuable resource for those who want to apply regression analysis to their own research or work in these fields.
Practical guide to machine learning for people with no prior experience. It covers a variety of topics, including regression, classification, and clustering.
This textbook provides a comprehensive overview of regression models for categorical dependent variables, such as logistic regression and probit regression. It valuable resource for those who want to gain a deeper understanding of these models and their applications.
This textbook provides a comprehensive overview of modern regression methods, including topics such as generalized additive models, random forests, and support vector machines. It valuable resource for those who want to gain a deeper understanding of these methods and their applications.
This textbook provides a practical guide to Bayesian data analysis, using the R programming language. It valuable resource for those who want to learn how to use Bayesian methods for data analysis.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Machine Learning: Regression.
Regression & Forecasting for Data Scientists using Python
Most relevant
Linear Regression for Business Statistics
Most relevant
Deploying Applications with AWS CDK
Most relevant
Introduction to Discrete Choice Models
Most relevant
The Classical Linear Regression Model
Most relevant
Predictive Analytics Using Apache Spark MLlib on...
Interpretable Machine Learning Applications: Part 2
Performing regression tasks using decision tree & PCA...
Explainable Machine Learning with LIME and H2O in R
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser