Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concrete Compressive Strength Prediction #381

Merged
merged 8 commits into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Concrete Compressive Strength/Dataset/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
https://www.kaggle.com/datasets/elikplim/concrete-compressive-strength-data-set/data
Dataset from Kaggle
Binary file not shown.
2 changes: 2 additions & 0 deletions Concrete Compressive Strength/Images/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Visualizations are attached here.
Provided is a correlation matrix of utmost importance
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions Concrete Compressive Strength/Models/Readme.Md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
**PROJECT TITLE**
Concrete Compressive Strength Prediction Using Deep Learning
**GOAL**
To find best option for Concrete Compressive Strength Prediction by comparing across various models

**DATASET**

https://www.kaggle.com/datasets/elikplim/concrete-compressive-strength-data-set/data

**DESCRIPTION**
The project compares maximum absolute error as parameter to find the best option for Concrete Compressive Strength Prediction . Models used are XGBoostRegressor, RandomForest Regressor, LGBRegressor and Sequential Keras Model amongst others.Concrete is the most important material in civil engineering. The concrete compressive strength is a highly nonlinear function of age and
ingredients. These ingredients include cement, blast furnace slag, fly ash,water, superplasticizer, coarse aggregate, and fine aggregate.

**WHAT I HAD DONE**
- Used correlation matrix as EDA tool for visualizing correlation between columns
- Used Normalizer on the columns and then performance of various regression models like LGBMRegressor,DecisionTreeRegressor,KNeighborsRegressor and so on were compared in a table, based on RMSE, MSE, MAE,R2 SCORE
- The hyperparameters were tuned for the most effective model to get 91.39% accuracy and 3.1 MAE
- Now, we used Normalizer and Keras Sequential model with Dense Layers and RelU to get 3.9 MAE. Thus it's performance is comparable to LGBRegressor

**MODELS USED**

List out all the algorithms or models used in this project
algo=[GradientBoostingRegressor(), lgbm.LGBMRegressor(), xg.XGBRFRegressor(),DecisionTreeRegressor(),LinearRegression(),
KNeighborsRegressor(),RandomForestRegressor(),BaggingRegressor(ExtraTreeRegressor(), random_state=42),
GaussianProcessRegressor()]

The above algorithms were used and a function was written to compare the MAE, and accuracy

Then a Keras Sequential model with Dense Layers was used to compare performance of MAE, the most accurate error metric in such tasks.


**LIBRARIES NEEDED**
Pandas, Numpy, Keras,TensorFlow, ScikitLearn, Seaborn, Matplotlib

**VISUALIZATION**
EDA Results in Images folder

**ACCURACIES**

Add all the algorithms used with their accuracies and results


**CONCLUSION**

**Gradient Boosting Algorithm:**
LightGBM is a gradient boosting framework, which is an ensemble learning technique. It builds a predictive model in the form of an ensemble of weak learners (usually decision trees), and it combines their predictions to create a stronger overall model.
Gradient boosting algorithms, in general, are powerful for regression tasks, as they iteratively improve the model by focusing on the errors made in the previous iterations.

**LightGBM's Advantages:**
-Lightweight and Fast: LightGBM is designed to be efficient and fast. It is especially useful when dealing with large datasets or datasets with a large number of features.

-Leaf-Wise Growth: LightGBM grows trees leaf-wise rather than level-wise, which can lead to a more efficient and accurate model.

-Handling Non-Linear Relationships:
Concrete compressive strength prediction has non-linear relationships between the input features and the target variable. Gradient boosting algorithms, including LightGBM, are well-suited for capturing complex, non-linear patterns in the data.

Neural Networks also similar level of accuracy to LGBMRegressor.RandomForest Regressor had 2nd highest accuracy Level.The Keras Sequential model is designed for building simple feedforward neural networks. Since the data can be effectively modeled as a series of layers where information flows in one direction (from input to output), a Sequential model is a natural and straightforward choice. The level of accuracy is at part with LightGBM

Lowest Absolute Error is shown for LGBRegressor and Keras Sequential Models at 3.1 and 3.9 respectively, making them the most suitable

**YOUR NAME**
Aindree Chatterjee

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Concrete Compressive Strength/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Tensorflow
Keras
Seaborn
Numpy
Pandas
ScikitLearn
The above libraries are needed