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
- Create and iteratively refine a regression model.
- Use Kaggle to practice the modeling process.
- Provide business insights through reporting and presentation.
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:
- Refine models over time
- Use train-test split, cross-validation, and data with unknown values for the target to simulate the modeling process
- Use Kaggle as a place to practice data science
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
- project-regression-suggestions.md gives suggestions for how to approach this project
- project-rubric-regression.md gives details of how we will mark your project
- project-overview-guidelines.md contains the project guidelines we give for all projects (these are the same as the ones provided for the last project)
Data sets
There are 3 data sets included in the data folder for this project:
- The
traindata set has all of the columns that you will need to generate and refine your models. - The
testdata set has all of those columns except for the target that you are trying to predict in your regression model. - The
sample_sub_reg.csvfile gives an example submission format for Kaggle.
Set-up
Before you begin working on this project, please do the following:
- Sign up for an account on Kaggle
- IMPORTANT: Click the link DSB-602 Ames Regression Challenge to join the competition (otherwise you will not be able to make submissions!)
- Review the material on the DSB-602 Ames Regression Challenge
- Review the data description.
The Modeling Process
- Explore the data sets provided.
- 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)
- 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.
- 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:
- A README.md (that isn’t this file)
- Jupyter notebook(s) with your analysis and models (renamed to describe your project)
- At least one successful prediction submission on DSB-602 Regression Challenge – you should see your name in the “Leaderboard” tab.
- Data files
- Presentation slides
- Any other necessary files (images, etc.)
Check with your instructors for how they would like you to submit your repo.
Presentation Structure
- Must be within time limit of 8 minutes.
- Use Google Slides or some other visual aid (Keynote, Powerpoint, etc).
- Consider the audience.
- Start with the data science problem.
- Use visuals that are appropriately scaled and interpretable.
- Talk about your procedure/methodology (high level).
- Talk about your primary findings.
- Make sure you provide clear recommendations that follow logically from your analyses and narrative and answer your data science problem.
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
- Problem Statement
- Data Cleaning and EDA
- Preprocessing and Modeling
- Evaluation and Conceptual Understanding
- Conclusion and Recommendations
Organization and Professionalism
- Project Organization
- Visualizations
- Python Syntax and Control Flow
- 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 :)