Skip to content

PrathicaShettyM/ConcreteStrengthPrediction

Repository files navigation

Concrete Strength Prediction

Concrete

Project Overview

This project leverages machine learning to predict the compressive strength of concrete based on its mix ingredients and age. The model is deployed using a Flask server and a Streamlit client for user interaction. Users can input the mix proportions and get the predicted concrete strength.

Features

  • 🔧 Machine Learning Model: Utilizes XGBoost for accurate strength predictions.
  • 🌐 Flask Server: Handles backend processes and model inference.
  • 📊 Streamlit Client: Provides a user-friendly interface for input and prediction visualization.
  • 🔍 Feature Engineering & EDA: Comprehensive Exploratory Data Analysis and feature engineering for improved model performance.

Table of Contents

  1. Installation
  2. Running the Application
  3. Input Fields
  4. Usage
  5. Contributing
  6. License

Installation

Create Virtual Environment (Windows)

  1. Install virtual environment using bash:
    py -m venv myvenv
  2. Activate virtual environment:
    myvenv\Scripts\activate
  3. Install pip:
    py -m ensurepip --upgrade
  4. Install ipykernel for Jupyter Notebook:
    pip install ipykernel

Running the Application

  1. Install all the packages in the terminal after activating the virtual environment:
    pip install flask streamlit requests scikit-learn xgboost joblib
  2. Run the Flask server:
    python flask_app.py
  3. Run the Streamlit frontend:
    streamlit run streamlit_app.py

Input Fields

The application takes the following input fields for user data:

Input

  • Cement (kg/m³)

  • Blast Furnace Slag (kg/m³)

  • Fly Ash (kg/m³)

  • Water (kg/m³)

  • Superplasticizer (kg/m³)

  • Coarse Aggregate (kg/m³)

  • Fine Aggregate (kg/m³)

  • Age (kg/m³)

Usage

  1. Enter the mix proportions and age of the concrete.
  2. Click on the "Predict" button.
  3. The model will predict and display the compressive strength of the concrete.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or additions.

License

This project is licensed under the MIT License.


Releases

No releases published

Packages

No packages published