Hands-On House Price Prediction - Machine Learning in Python

Hands-On House Price Prediction - Machine Learning in Python

David Landup
Ammar Alyousfi
Jovana Ninkovic

Overview

If you've gone through the experience of moving to a new house or apartment - you probably remember the stressful experience of choosing a property, estimating its value based on some features a real estate platform displays, and comparing to other properties to check whether the features justify the price.

So - what makes the price of a property? If you ask a real estate agent, they can list out a fairly long list of features that increase or decrease the price of a property, based on the general consensus of the buyers in a specific area.

Some areas typically have properties with large lawns (such as suburban houses), while some properties typically don't have lawns (say, the city centre). Additionally, European architecture is significantly different than, say, American architecture and each country, city and even parts of cities have (to a degree) their own spin on urbanism. The prices today probably aren't the same as yesterday - let alone 6 months ago. Does this skew alter your perception of value?

It's hard to estimate the price of a property, which is why we generally delegate the task to someone with more experience than us, and even then, there's wiggle room.

In this Guided Project, we'll be performing house price prediction, for the city of Ames, Iowa. Since we don't know what makes the price of a property what it is - we'll employ Machine Learning to do the job for us.

Using Keras, the deep learning API built on top of Tensorflow, we'll experiment with architectures, build an ensemble of stacked models and train a meta-learner neural network (level-1 model) to figure out the pricing of a house.

Deep learning is amazing - but before resorting to it, it's advised to also attempt solving the problem with simpler techniques, such as with shallow learning algorithms. Our baseline performance will be based on a Random Forest Regression algorithm. Additionally - we'll explore creating ensembles of models through Scikit-Learn via techniques such as bagging and voting.

This is an end-to-end project, and like all Machine Learning projects, we'll start out with - with Exploratory Data Analysis, followed by Data Preprocessing and finally Building Shallow and Deep Learning Models to fit the data we've explored and cleaned previously.

Note: This Guided Project is aimed at novices in Machine Learning and assumes rudimentary knowledge of Programming in Python and its ecosystem and at least a surface-level understanding of Keras and Scikit-Learn.

Lessons

Downloadable Resources

House Price Prediction Jupyter Notebook(2 MB)
Enroll to download

What is a Guided Project?

Turn Theory Into Practice

All great learning resources, books and courses teach you the holistic basics, or even intermediate concepts, and advise you to practice after that. As soon as you boot up your own project - the environment suddenly isn't as pristine as in the courses and books! Things go wrong, and it's oftentimes hard to pinpoint even why they do go wrong.

StackAbuse Guided Projects are there to bridge the gap between theory and actual work. We'll respect your knowledge and intelligence, and assume you know the theory. Time to put it into practice.

When applicable, Guided Projects come with downloadable, reusable scripts that you can refer back to whenever required in your new day-to-day work.

Last Updated: Jul 2022

© 2013-2022 Stack Abuse. All rights reserved.

DisclosurePrivacyTerms