Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/monish-nallagondalla/cement_strength_prediction
The Cement Strength Prediction project uses machine learning to predict the compressive strength of cement based on its components, such as Cement, Fly Ash, Water, Superplasticizer, Coarse Aggregate, Fine Aggregate, and Age. The goal is to forecast compressive strength (MPa) for optimized cement production and quality control.
https://github.com/monish-nallagondalla/cement_strength_prediction
cement-strength-prediction construction-industry data-analysis data-preprocessing data-science data-visualization feature-engineering machine-learning predictive-modeling python regression-analysis scikit-learn
Last synced: about 10 hours ago
JSON representation
The Cement Strength Prediction project uses machine learning to predict the compressive strength of cement based on its components, such as Cement, Fly Ash, Water, Superplasticizer, Coarse Aggregate, Fine Aggregate, and Age. The goal is to forecast compressive strength (MPa) for optimized cement production and quality control.
- Host: GitHub
- URL: https://github.com/monish-nallagondalla/cement_strength_prediction
- Owner: Monish-Nallagondalla
- License: mit
- Created: 2025-01-15T10:24:48.000Z (19 days ago)
- Default Branch: main
- Last Pushed: 2025-02-02T13:20:44.000Z (1 day ago)
- Last Synced: 2025-02-02T14:21:44.229Z (1 day ago)
- Topics: cement-strength-prediction, construction-industry, data-analysis, data-preprocessing, data-science, data-visualization, feature-engineering, machine-learning, predictive-modeling, python, regression-analysis, scikit-learn
- Language: Jupyter Notebook
- Homepage:
- Size: 2.59 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cement Strength Prediction
![Python](https://img.shields.io/badge/Language-Python-blue) ![MIT License](https://img.shields.io/badge/License-MIT-green)
## 1. 📜 Description
This project predicts the compressive strength of concrete based on its components and other factors. Using a dataset containing detailed information about cement mixtures and their curing age, the project employs machine learning models to optimize predictions and aid in quality assurance and material selection for concrete production.## 2. 🏗️ Project Structure
The repository is organized into logical modules for clarity and scalability:### Core Components
- **`config/`**: Configuration files for model settings and data schema.
- **`src/`**: Source code for the application, including components for data handling and pipelines.
- **`templates/`**: HTML templates for the web app.### Main Files
- **`application.py`**: Main application script to run the project.
- **`cement_data.csv`**: Dataset for training and evaluation.
- **`requirements.txt`**: Python dependencies.
- **`setup.py`**: Setup script for package installation.
- **`LICENSE`**: Licensing information.
- **`README.md`**: Documentation file (this file).### Detailed Project Structure:
```plaintext
Cement_strength_prediction/
│
├── config/ # Configuration files
│ ├── model.yaml # Model hyperparameters and settings
│ └── schema.yaml # Data schema specifications
│
├── notebooks/ # Jupyter notebooks for exploration and modeling
│ ├── cementStrength.ipynb
│ ├── cement_strength.ipynb
│ ├── cement_strength_prediction copy.ipynb
│ └── eda.ipynb
│
├── src/ # Source code for the application
│ ├── components/ # Core components for data handling and modeling
│ │ ├── __init__.py
│ │ ├── data_ingestion.py
│ │ ├── data_transformation.py
│ │ └── model_trainer.py
│ ├── pipelines/ # Training and prediction pipelines
│ │ ├── __init__.py
│ │ ├── prediction_pipeline.py
│ │ └── training_pipeline.py
│ ├── exception.py # Custom error handling
│ ├── logger.py # Logging utility
│ └── utils.py # Helper functions
│
├── templates/ # HTML templates for the web app
│ ├── index.html # Main web page
│ └── upload_file.html # File upload interface
│
├── application.py # Main application script
├── cement_data.csv # Dataset for training and evaluation
├── LICENSE # Licensing information
├── requirements.txt # Python dependencies
├── setup.py # Setup script for package installation
└── README.md # Documentation (this file)
```## 3. 📊 Dataset Overview
The dataset comprises concrete mix details and their corresponding compressive strength measurements (in MPa).
Key features:
- **Cement (kg in a m³ mixture)**: Amount of cement used.
- **Blast Furnace Slag (kg in a m³ mixture)**: Quantity of slag.
- **Fly Ash (kg in a m³ mixture)**: Quantity of fly ash.
- **Water (kg in a m³ mixture)**: Amount of water in the mixture.
- **Superplasticizer (kg in a m³ mixture)**: Quantity of plasticizer used.
- **Coarse Aggregate (kg in a m³ mixture)**: Amount of coarse aggregates.
- **Fine Aggregate (kg in a m³ mixture)**: Amount of fine aggregates.
- **Age (days)**: Curing period of the concrete sample.
- **Concrete compressive strength (MPa)**: The target variable, measuring the strength of the concrete.Sample data:
| Cement | Slag | Fly Ash | Water | Superplasticizer | Coarse Aggregate | Fine Aggregate | Age | Strength (MPa) |
|--------|------|---------|-------|------------------|------------------|----------------|-----|----------------|
| 540.0 | 0.0 | 0.0 | 162.0 | 2.5 | 1040.0 | 676.0 | 28 | 79.99 |## 4. 🚀 Features
- **Data Analysis**: Comprehensive exploratory data analysis (EDA) to identify patterns and relationships.
- **Model Training**: Machine learning pipelines to predict concrete strength.
- **Web Application**: An intuitive interface for data input and predictions.
- **Customizable Configurations**: YAML-based configurations for models and data schema.## 5. ⚙️ Installation
### Prerequisites
- Python 3.8 or later
- Libraries specified in `requirements.txt`### Steps
1. Clone the repository:
```bash
git clone https://github.com/Monish-Nallagondalla/Cement_strength_prediction.git
cd Cement_strength_prediction
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```3. Set up the project:
```bash
python setup.py install
```## 6. 📂 Usage
### Running the Application
1. Execute the main application script:
```bash
python application.py
```
2. Open your browser and navigate to `http://localhost:5000`.### Notebooks
- Analyze data trends in `notebooks/eda.ipynb`.
- Train and evaluate models using `notebooks/cement_strength.ipynb`.## 7. 🤝 Contributing
We welcome contributions! Please:
1. Fork the repository.
2. Create a feature branch.
3. Submit a pull request with detailed descriptions.## 8. 📝 License
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for more information.## 9. 📬 Contact
For questions or feedback:
- **GitHub**: [Monish-Nallagondalla](https://github.com/Monish-Nallagondalla)
- **Email**: [[email protected]]