Data and Python Code for Implementing Boosting Machines to Predict Local Buckling Strength of CFS Channels with Staggered Web Perforations
Description
This repository contains the dataset and reproducible Python notebook used to benchmark design-code (DSM) calculations against machine-learning (ML) models for cold-formed steel channel members with and without staggered slots. The data files provide the master experimental dataset and DSM-based comparison sheets for the two specimen families (slotted and solid). The Jupyter notebook loads these files, performs preprocessing, trains/evaluates the ML models, and produces figures/tables comparing model accuracy to DSM. File inventory Data.xlsx β Master dataset used for ML training/validation. Contains geometric/material descriptors and the measured target response (bending capacity π M, units as in the paper). data_DSM_slots.xlsx β DSM benchmark calculations for slotted specimens (inputs + DSM-predicted capacities). data_DSM_slot_1.xlsx β A curated subset of the slotted dataset (used for ablation/cross-checks or quick runs). data_DSM_solids.xlsx β DSM benchmark calculations for solid (unperforated) specimens. data_DSM_solid_1.xlsx β A curated subset of the solid dataset (used for ablation/cross-checks or quick runs). ML paper-Copy1.ipynb β Reproducible Jupyter notebook: data loading, preprocessing, model training (e.g., XGBoost and baselines), metrics, and plots; includes DSM vs ML comparisons. Notes Typical feature columns include geometric descriptors and material properties (e.g., web/flange/lip dimensions, thickness, slot geometry descriptors, yield stress ππ¦ and the measured capacity π. Exact column names/units are documented in the notebook cells. All spreadsheets are UTF-8 .xlsx files; the notebook targets Python 3.9+
Files
Steps to reproduce
1. Download files Place all .xlsx files and the notebook in the same directory. 2. Create environment (example with pip) python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install numpy pandas scikit-learn xgboost lightgbm catboost shap matplotlib openpyxl (If you use conda: conda create -n cfs-ml python=3.10 && conda activate cfs-ml then pip install ... as above.) 3. Run the notebook jupyter notebook "ML paper-Copy1.ipynb" Execute cells top-to-bottom. The notebook will: Load Data.xlsx as the master dataset. Optionally read DSM sheets (data_DSM_*.xlsx) for code-equation benchmarks. Train/evaluate ML models (train/test split, cross-validation). Compute metrics (e.g., MAE, MAPE, RMSE, π 2) and generate comparison figures/tables vs DSM. 4. Outputs Metrics and plots are displayed inline; if desired, set the output directory variable in the notebook to save figures/tables (e.g., outputs/). 5. Reproducing DSM comparisons only If you only need DSM comparisons, open data_DSM_slots.xlsx and/or data_DSM_solids.xlsx directly or run the cells in the notebook section titled βDSM Benchmarkβ to regenerate the summary tables.
Institutions
- Ceske Vysoke Uceni Technicke v Praze
- Teesside University