c3cf, Cascade Forest models for predicting the Compressive strength of Coal-ash-incorporated Cement composites, were developed in the research article: Coal ashes as supplementary cementitious materials: physicochemical property effects on hydration and strength, along with property-informed machine learning modeling. They are tree-based ensemble models that implements the deep forest algorithm.
The models take not only the mixture proportions of composites but also the physicochemical properties of binder materials (Portland cement and coal ashes), specimen geometry, and curing conditions (such as age) as input features, while the output is uniaxial compressive strength. The inclusion of the physicochemical properties (served as the "signature/fingerprint") of binder materials can significantly improve the accuracy and consistency of composite descriptions.
According to the research article mentioned above, c3cf can make reasonable predictions for coal-ash-incorporated cement mortars, whose strength is in the range of 15-65 MPa, replacement level of coal ash is <50% by mass, and curing age is between 7 and 91 days.
Kangyi Cai 2025 @ Missouri S&T
The code requires python>=3.9.23. You can install c3cf using conda:
# Create and activate conda environment
conda create -n c3cf python=3.9.23
conda activate c3cf
# Clone the repository
git clone https://github.com/kycai/c3cf.git
cd /path/to/c3cf
# Install dependencies
## using requirements.txt, for windows OS
pip install -r requirements.txt
## specific package versions for windows or other OSes
pip install deep-forest==0.1.7 numpy==1.26.4 pandas==2.3.3 scikit-learn==1.6.1 matplotlib==3.9.4 ipykernel==6.31.0Note:
Once you have installed the dependencies, you may encounter an error related to the deprecated np.int in the deepforest package. To fix this, please follow these steps:
-
Locate your conda environment directory. You can find it by running
conda info --envsin your terminal. -
Navigate to the
.../envs/c3cf/lib/site-packages/deepforest/directory within your conda environment. -
Open the
forest.pyfile in a text editor, replace all instances ofnp.int(originally deprecated in NumPy 1.20) withintornp.int64/np.int32to specify the precision you need.
Download the checkpoints (i.e., models with data imputaters and transformers) in the regs folder of the huggingface repository. Once downloaded, move them to the regs directory in this downloaded repository.
The reg_pred.ipynb notebook provides an example of how to use the c3cf model to make predictions on new data. You can modify the input data in the data folder to test with your own datasets.
The c3cf checkpoints and demo code are licensed under MIT.
If you use c3cf in your research, please consider citing our paper:
K. Cai, W. Liao, B. Gallagher, H. Ma. Coal ashes as supplementary cementitious materials: physicochemical property effects on hydration and strength, along with property-informed machine learning modeling (2026).Or use the following BibTeX entry:
@article{cai2026c3cf,
title={Coal ashes as supplementary cementitious materials: physicochemical property effects on hydration and strength, along with property-informed machine learning modeling},
author={Cai, Kangyi and Liao, Wenyu and Gallagher, Benjamin and Ma, Hongyan},
journal={},
volume={},
pages={},
year={2026},
issn={},
doi={https://doi.org/}
}