This project aims to predict the compressive strength of concrete using various machine learning models. The analysis is performed on a dataset that includes features such as the composition and age of the concrete. The goal is to identify the most effective model for predicting concrete strength.
data/: Contains the dataset used for the analysis.notebook/: Jupyter notebooks with the data exploration, cleaning, and clustering models.
The dataset used in this project contains the following features:
- Cement
- Blast Furnace Slag
- Fly Ash
- Water
- Superplasticizer
- Coarse Aggregate
- Fine Aggregate
- Age (in days)
- Concrete Compressive Strength (target variable)
The dataset is complete with no missing values.
The key steps in the exploratory data analysis include:
- Descriptive statistics and distribution plots.
- Correlation analysis to understand the relationships between features.
- Visualization of the concrete compressive strength against various features.
Several machine learning models were evaluated to predict concrete compressive strength, including:
- Linear Regression
- Decision Tree
- Random Forest
The best-performing model is the Random Forest with an accuracy of 0.912621359223301. This model captures the nuances of the data more effectively compared to simpler models like Linear Regression.
- The concrete compressive strength varies significantly based on the composition and age of the concrete.
- Complex models like Random Forest tend to perform better than simpler models.
- The dataset might have some multicollinearity, which could affect the performance of some models.
- Further feature engineering and selection might improve model performance.
- Additional data, especially with more varied compositions and conditions, could provide better generalization.
- Clone the repository:
git clone https://github.com/muhammadadilnaeem/Concrete-Compressive-Strength.git cd Concrete-Compressive-Strength - Create and activate a virtual environment:
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate`
- Install the required packages:
pip install -r requirements.txt
- Run the Jupyter Notebook:
jupyter notebook notebook/Concrete_Compressive_Strength.ipynb
Contributions are welcome! Please fork the repository and submit a pull request for review.
This project is licensed under the MIT License - see the LICENSE file for details.