Data and Python Code for Implementing Boosting Machines to Predict Local Buckling Strength of CFS Channels with Staggered Web Perforations

Published: 4 September 2025| Version 1 | DOI: 10.17632/yhtx43ny38.1
Contributors:
Lenganji Simwanda, Gatheeshgar Perampalam

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

Categories

Structural Engineering

Licence