Project: Regression of Ames Housing Data and Kaggle Challenge

About

You are going to create a regression model based on the Ames Housing Dataset. This model will predict the price of a house at sale. You will also submit entries for your model to a GA-hosted Kaggle competition.


Learning Objectives


Detail

The Ames Housing Dataset is an exceptionally detailed and robust dataset with over 70 columns of different features relating to houses.

In addition, we are hosting a competition on Kaggle to give you the opportunity to practice the following skills:

You will submit a technical report and a presentation. You may find that the best model for Kaggle is not the best model to address your data science problem.


Files provided

Guidance

Data sets

There are 3 data sets included in the data folder for this project:

  1. The train data set has all of the columns that you will need to generate and refine your models.
  2. The test data set has all of those columns except for the target that you are trying to predict in your regression model.
  3. The sample_sub_reg.csv file gives an example submission format for Kaggle.

Set-up

Before you begin working on this project, please do the following:

  1. Sign up for an account on Kaggle
  2. IMPORTANT: Click the link DSB-602 Ames Regression Challenge to join the competition (otherwise you will not be able to make submissions!)
  3. Review the material on the DSB-602 Ames Regression Challenge
  4. Review the data description.

The Modeling Process

  1. Explore the data sets provided.
  2. Generate your regression model using the training data. We expect that within this process, you’ll be making use of:
    • Train-test split
    • Cross-validation / grid searching for hyperparameters
    • Strong exploratory data analysis to question correlation and relationship across predictive variables
    • Code that reproducibly and consistently applies feature transformation (such as the preprocessing library)
  3. Predict the values for your target column in the test dataset and submit your predictions to Kaggle to see how your model does against unknown data.
    • Note: Kaggle expects to see your submissions in a specific format. Check the challenge’s page to make sure you are formatting your CSVs correctly!
    • You are limited to models you’ve learned in class. In other words, you cannot use XGBoost, Neural Networks or any other advanced model for this project.
  4. Evaluate your models!
    • Consider your evaluation metrics
    • Consider your baseline score
    • How can your model be used for inference?
    • Why do you believe your model will generalize well to new data?

Deliverables and Submission

Materials must be submitted by the date and in the method outlined by your instructor.

Your technical report will be hosted on Github Enterprise. Make sure it includes:

Check with your instructors for how they would like you to submit your repo.


Presentation Structure

Be sure to rehearse and time your presentation before class.


Rubric

We will evaluate your project (for the most part) using the criteria set out in the marking Rubric. You should make sure that you consider and/or follow most if not all of the considerations/recommendations outlined in the rubric while working through your project.

Scores will be out of 27 points based on the 9 items in the rubric. 3 points per section

Score Interpretation
0 Project fails to meet the minimum requirements for this item.
1 Project meets the minimum requirements for this item, but falls significantly short of portfolio-ready expectations.
2 Project exceeds the minimum requirements for this item, but falls short of portfolio-ready expectations.
3 Project meets or exceeds portfolio-ready expectations; demonstrates a thorough understanding of every outlined consideration.

The Data Science Process

  1. Problem Statement
  2. Data Cleaning and EDA
  3. Preprocessing and Modeling
  4. Evaluation and Conceptual Understanding
  5. Conclusion and Recommendations

Organization and Professionalism

  1. Project Organization
  2. Visualizations
  3. Python Syntax and Control Flow
  4. Presentation

Important note

Please ignore the _layouts folder and the config.yml file in the root of this repo. They are needed to make sure the repo renders well; please don’t change them or delete them and your repo will work fine :)


Instructor-only resources