Code Monkey home page Code Monkey logo

lhb-group / civil-work-bidding-and-investment-helper Goto Github PK

View Code? Open in Web Editor NEW
6.0 0.0 2.0 111.92 MB

Civil Work Bidding Price Prediction in San Francisco πŸ—οΈ πŸ‘· πŸš§πŸ’Έ. AI-Powered. costofmyconstructionproject.herokuapp.com

License: MIT License

Jupyter Notebook 99.69% Dockerfile 0.01% Python 0.31% Shell 0.01%
data-science python civil-engineering construction exploratory-data-analysis feature-engineering jupyter-notebooks machine-learning sanfrancisco

civil-work-bidding-and-investment-helper's Introduction

Civil Work Bidding Price Prediction in San Francisco. AI-Powered.πŸŒ‰πŸ—οΈ πŸ’Έ

python-shield

In case of 404, click on video capture

Table of contents

Background

San Francisco is a hyper-popular city with homeless community (20% of population), natural disaster risks and astronomical housing prices. Affordable housing in San Francisco has not been an option. Meanwhile, new affordable construction projects are high in need. Many investors consider construction projects to invest in SF, which can provide high return rate. For construction projects, engineers struggle to predict the construction project cost as reasonable as possible to win biddings. πŸ—οΈ πŸ’Έ

Project

This project is an AI-powered app πŸ§ πŸ€– to estimate cost of construction projects in San Francisco.

Some of the efforts include data cleaning, feature engineering, setting up machine learning models, predictive error calculation, parameter tuning, creating a dashboard and deploying an online app.

Machine learning models were trained with the historical data coming from building permits of San Francisco available since early 1980s (thanks to datasf.org). A set of parameters and machine learning models were tested (including Linear,Lasso model, E-Net, KRidge, GBoosting, XGBoost, LGBoost and Random Forest). Random Forest Model🌲🌳🌲🌳 was judged to use as a final model.

Structural work cost

βœ… include cost of foundation, columns, beams, slabs, floors, roof and workmanship cost

❌ does not include land price, finishing work, electricity & plumbing and commercial costs

pipeline

Key documents

1 - Notebook on exploratory data analysis

2 - Script on data cleaning

3 - Notebook on machine learning predictive models

4 - Logs on scores of machine learning models and experiments

Top-directory layout

.
β”œβ”€β”€ Docker                  # App deployment. Scripts with streamlit, final ML models and Docker container settings.
β”œβ”€β”€ NoteBooks               # Jupyter notebooks on EDA, feature engineering and ML models
β”œβ”€β”€ ShapeOut                # Documents on building footprints in SF
β”œβ”€β”€ Tracking                # Logs of ML model scores and experiments
β”œβ”€β”€ src                     # Scripts on functions, database cleaning, building ground surface area and ML model experiments 
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md 
β”œβ”€β”€ README_FR.md
└── requirements.txt

Technologies

Project is created with:

  • Python 3.8
  • Jupyter Notebook 6.4.12
  • Python libraries (see /requirements.txt)
  • Streamlit 1.12.0
  • Docker 20.10.18
  • VSCode 1.71.2

Datasets

1 - San Francisco Permit Data

A building permit is an official approval document issued by a government agency that allows a construction or a renovation project on a property. More information can be found on this website. Each city or county has its own building office to perform multiple functions such as issuing permits, inspecting buildings for safety measures, changing rules to meet the needs of a growing population, etc. For the City of San Francisco, building permits are handled by SF DBI. The dataset includes details on application/permit ID, job location, the current status of the applications and some other details. Data is uploaded weekly by DBI.

2 - Building Footprints in San Francisco

Getting started

To run this project you need :

Ensure that pip module is installed by running :

```sh
python -m ensurepip --default-pip

How to install pipenv ?

pip install pipenv

Clone the repository :

git clone https://github.com/LHB-Group/Civil-Work-Bidding-And-Investment-Helper.git

Create your virtual environment :

Go to your repository folder and run the following command.

python -m venv my_venv
# the my_venv folder should appear

Once created you need to activate your venv

Windows :

# Go to your repository folder and type :
./my_venv/Scripts/activate
# You should have something like :
(my_venv) C:\Users\...\Civil-Work-Bidding-And-Investment-Helper>

Linux / Mac OS :

# Go to your repository folder and type :
source my_venv/bin/activate
# You should have something like :
(my_venv) C:\Users\...\Civil-Work-Bidding-And-Investment-Helper>

Install all required librairies :

pip install -r requirements.txt

Install the project

The install.py script permit you to dowload and create all folders and files for the project.

Build the complete dataset can take several hours because of feature engineering but you can download it here and move it to [Datasets] Folder

# go to the src folder and run :
python ./install.py

If you download the File you need to rename it :

Exemple : 20220823_Building_Permits.csv (CreationDate+FileName)

You need to rename it to Building_Permits.csv

License

Distributed under the MIT License. See LICENSE.txt for more information.

Authors

Baptiste Cournault :

GitHub

Hicham Mrani :

GitHub

Levent ISBILIROGLU :

GitHub

Contact

Please see contact details on presentation file above.


Made with ❀️ in Paris

civil-work-bidding-and-investment-helper's People

Contributors

croustibats avatar hicham-mrani avatar levist7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.