Data Visualization on the Effect of Home Renovation Price

Posted on Dec 6, 2020
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

Link to the GitHub repo


Ames, Iowa, home to Iowa State University ("the Cyclones") boasts Β an annually growing population over 67,000. The city ranks fairly high in CNNMoney's Best Places to Live consistently. Those seeking a home in their price range in that city can look through the data distribution of homes and price range around 27 neighborhoods in Ames shown in the charts below: Data Visualization on the Effect of Home Renovation Price


Home price is driven by variables that are not only idiosyncratic to the home itself but also by exogenous factors like the broader economy. The goal of this project is to determine whether it makes sense for a homeowner to renovate his/her home in order to improve the sales price by utilizing various machine learning techniques and a dataset of over 2,600 homes sold between 2006-2010 with 80+ features.

Data Analysis - Feature Selection

Multipronged approach was taken to reduce the number of features into 17 for the multiple linear regression model that fit log of home price and into 13 for the multiple linear regression model that fit home price per gross living area.Β 

  • Qualitative EDA (Exploratory Data Analysis): Some features could be eliminated quickly because of extreme class imbalance, lack of relationship vs. the target, and/or too many missing values.
  • Comparing p-values from f_regression and mutual information scores: Top 25 features were extracted using both methods. There was a healthy overlap between the two methods, and all 25 features were statistically significant.Β 
  • Random forest regressor feature importance: The random forest with the best hyperparameters from GridSearchCV was used for feature selection. Top 25 features were extracted, but the significance dropped off quickly after the top 5 features
  • Lasso penalization: Lasso penalized regression models with different alpha values were used to eliminate features with coefficients that dropped off to 0 faster than others
  • Multicollinearity analysis: Multiple linear regression model with one feature as a label and all other features as predictors was fitted, and features that were highly correlated with other features were dropped.Β  Β  Β Β 

In addition, two new features (nn5meansaleprice, nn5medsaleprice) were engineered to improve the model fit. Given the latitude and longitude of each house, distance between each pair of homes was computed and for each home, mean and median of log of price of nearest 5 neighbors were computed. A similar rationale was used to engineer nn5meanprice and nn5medprice, which are nearest 5 neighbors' mean and median price per area, respectively.Β  Β  Β 

Data Visualization on the Effect of Home Renovation Price

Data Analysis - Multiple Linear Regression

The multiple linear regression model for log of price vs. final 17 features is shown below.

Data Visualization on the Effect of Home Renovation Price

The model had an adjusted R2 of 0.854. Interestingly however, using only the 4 most important features (YearBuilt, TotalBsmtSF, GrLivArea, nn5meansaleprice) yielded a model with adjusted R2 of 0.829. Other less important features, such as KitchenQual and BsmtQual, had limited impact on log of home price. This suggests that there isn't much an owner can do to maximize home prices in Ames, i.e., home prices are heavily dependent on intrinsic characteristics of the homes. This is a clear contrast to the visible increase in price by improving kitchen quality or exterior quality as shown below.

These contradictory results may be explained by the influence of living area as a variable. The multiple linear regression model for price per area vs. final 13 features is shown below.

Although R2 of 0.64 is lower than the prior model, less important features from the prior model, such as KitchenQual, are much more significant. For example, improving kitchen quality to excellent improves price per area by ~$12.50/sq. ft.


Raw data of home prices in Ames, Iowa with over 2600 samples and 80 features was polished to fit a multiple linear regression model and determine whether an owner should renovate his/her home before selling. The variables that contribute the most to home prices are intrinsic in nature (year built, living area, price of nearest neighbors, etc.) and therefore are outside the homeowners' control. If the owner still were to renovate, improving kitchen quality will have the greatest impact on price per area.Β  Β  Β Β 

Appendix: Feature Description

Multiple Linear Regression for Log of Price

  • YearBuilt: Original construction date
  • TotalBsmtSF: Total sq. ft. of basement area
  • GrLivArea: Above grade (ground) living area sq. ft.
  • nn5meansaleprice: Log of mean home price of 5 nearest neighbors
  • MSSubClass: Whether a home is a 2-story and 1946 or newer (1 = True)
  • Neighborhood: Whether a home is in Northridge Height (1 = True)Β 
  • ExterQual: Whether the external material quality is good (1 = True)
  • Foundation: Whether the foundation is made of cinder block (1 = True)
  • BsmtQual: Whether the basement height is 100 inches or higher (1 = True)
  • HeatingQC: Whether the heating quality is typical (1 = True)
  • FullBath: Number of full bathrooms above grade
  • TotRmsAbvGrd: Total rooms above grade (not including bathrooms)
  • KitchenQual: Whether kitchen quality is good (1 = True)
  • Fireplaces: Number of fireplaces
  • GarageType: Whether the garage is detached from home (1 = True)
  • GarageFinish: Whether the garage interior is finished (1 = True)
  • GarageCars: Size of garage in car capacity

Multiple Linear Regression for Price Per Area

  • MSSubClass: Whether a home is a 1.5-story and finished (1 = True)
  • HouseStyle: Whether a home is a 1.5-story and 2nd floor is finished (1 = True)
  • Neighborhood: Whether a home is in Northridge Height (1 = True)
  • YearBuilt: Original construction date
  • ExterQual: Whether the external material quality is good (1 = True)
  • Foundation: Whether the foundation is made of brick and tile (1 = True)
  • BsmtQual: Whether the basement is 100 in or higher (1 = True)
  • BsmtFinSF1: Type 1 finished basement sq. ft.
  • BsmtFullBath: Number of full bathrooms in the basement
  • BedroomAbvGr: Bedrooms above grade (does not include basement)
  • KitchenQual: Whether kitchen quality is excellent (1 = True)
  • GarageArea: Size of garage in sq. ft.Β 
  • nn5meanprice: Mean price per area of 5 nearest neighbors

About Authors

Hong Chan Kim

Hong is a data science fellow at New York City Data Science Academy (NYCDSA) with expected graduation date of December 2020. His domain expertise lies in the US equity market, where he spent 7 years in the hedge...
View all posts by Hong Chan Kim >

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI