Skip to content

Compressive Strength of Concrete determines the quality of Concrete. analyze the Concrete Compressive Strength dataset and build a Machine Learning model to predict the quality.

Notifications You must be signed in to change notification settings

harshjoundal/Concrete_Compressive_Strength_Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Concrete compressive strength

1_LQg3g36bTRx0ZNytVWm5nA

  • The Compressive Strength of Concrete determines the quality of Concrete. This is generally determined by a standard crushing test on a concrete cylinder. This requires engineers to build small concrete cylinders with different combinations of raw materials and test these cylinders for strength variations with a change in each raw material. The recommended wait time for testing the cylinder is 28 days to ensure correct results. This consumes a lot of time and requires a lot of labour to prepare different prototypes and test them. Also, this method is prone to human error and one small mistake can cause the wait time to drastically increase.
  • One way of reducing the wait time and reducing the number of combinations to try is to make use of digital simulations, where we can provide information to the computer about what we know and the computer tries different combinations to predict the compressive strength. This way we can reduce the number of combinations we can try physically and reduce the amount of time for experimentation. But, to design such software we have to know the relations between all the raw materials and how one material affects the strength. It is possible to derive mathematical equations and run simulations based on these equations, but we cannot expect the relations to be same in real-world. Also, these tests have been performed for many numbers of times now and we have enough real-world data that can be used for predictive modelling.
  • In this project, I analysed Concrete Compressive Strength dataset and build a regression model to predict the concrete compressive strength based on the different features in the training data.

Project Architecture:

architecture

Data Description :

datatable1 datatable2

Demo

Project Folder Structure:

folderStructure

  • main.py is the entry point of our application, where the flask server starts

main

  • This is the predictionFromModel.py file where the predictions take place based on the data we are giving input to the model

predictionfromModel

  • Now run the main.py file which is entry point of application, The web app link is created by flask,Open the link in browser.

host_link

  • Open this link in browser, The Home Page of web app will open:

HomePage

  • Now enter the folder directory where batch files are stored And click on predict.

batchfilespredictpath

  • prediction:

prediction

1) All the files from batch directory are extracted and the data is saved on sql server.

2) Data Export from Db - The data in the stored database is exported as a CSV file to be used for prediction.

3) Clustering - KMeans model created during training is loaded, and clusters for the preprocessed prediction data is predicted.

4) Prediction - Based on the cluster number, the respective model is loaded and is used to predict the data for that cluster.

5) Once the prediction is made for all the clusters, the predictions along with the original names before label encoder are saved in a CSV file at a given location and the location is returned to the client.

Installation

  • The Code is written in Python 3.6.10. If you don't have Python installed you can find it here. If you are using a lower version of Python you can upgrade using the pip package, ensuring you have the latest version of pip.
  • The all code written through Moduler approach.I suggest to use PyCharm IDE as it is well designed for python.
  • Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
  • Therefore in this project for each funtion different module is made and we just have to import required modules where it is required
  • To install the required packages and libraries, run this command in the project directory after cloning the repository.
pip install -r requirements.txt

Deployement on Heroku

Login or signup in order to create virtual app. You can either connect your github profile or download ctl to manually deploy this project.

Our next step would be to follow the instruction given on Heroku Documentation to deploy a web app.

Technologies Used

Heroku

Python

Pandas logo

PyCharm Icon

Bug / Feature Request

If you find a bug (the website couldn't handle the query and / or gave undesired results), kindly open an issue here by including your search query and the expected result

Deployed Heroku app link

App Link :

About

Compressive Strength of Concrete determines the quality of Concrete. analyze the Concrete Compressive Strength dataset and build a Machine Learning model to predict the quality.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published