Feature Selection

In the machine learning workflow, once we've selected the model we want to use (such as a linear regression model), selecting the appropriate features for that model is the next important step. In this lesson, we'll explore how to use correlation between features and the target column, correlation between features, and variance of features to select features. 

You'll learn concepts such as correlation to help you identify features, or attributes, that are good predictors of the value in the target column. You'll also learn how to rescale all the features to help ensure that some features aren't weighted more heavily than others.

While exploring how to select features for a well-performing model, we'll be working with a dataset that describes characteristics of houses sold between 2006 and 2010 in the city of Ames (located in the American state of Iowa).

As you work through each concept, you’ll get to apply what you’ve learned from within your browser so that there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer checking so you can ensure that you've fully mastered each concept before learning the next concept.


  • Learn to choose appropriate features for your model.
  • Learn to generate a heatmap for your data.

Mission Outline

1. Missing Values
2. Correlating Feature Columns With Target Column
3. Correlation Matrix Heatmap
4. Train And Test Model
5. Removing Low Variance Features
6. Final Model
7. Next Steps
8. Takeaways


Course Info:


The median completion time for this course is 7.23 hours. View Details

This course requires a premium subscription and includes five missions and one guided project.  It is the 23rd course in the Data Scientist in Python path.


Take a Look Inside

(function(d) { d.addEventListener("DOMContentLoaded", function() { var pathname = d.location.pathname.replace(/^[/]|[/]$/g, "").replace("/", "-"); var tags = d.getElementsByTagName("iframe"); var type = pathname.startsWith("course") ? "?course=" : pathname.startsWith("path") ? "?path=" : null; if (type) { var i; for (i = 0; i < tags.length; i++) { if (tags[i].src.indexOf("signup#iframe") !== -1) { tags[i].src = tags[i].src.replace("#iframe", "") + type + pathname + "#iframe"; } } } }, false); })(document);