GitHunt

XCelBoost: Excel Neural Network

XCelBoost: Excel Neural Network

Devpost

Completed with @casperngeen, @CreditableX and @pqienso.

Excel is everyone's favorite app for spreadsheets. From running Doom to 3D physics engines, Excel can do it all. For Hack&Roll 2024, we will be implementing a neural network completely within Excel.

Usage

python main.py data/test.csv configs/test.json

We have implemented a Python script that converts preprocessed .csv files into a neural network. Running main.py will generate an .xlsm file with our VBA-powered neural network workbook. While initialization is handled by Python, rest assured that all calculations are done in VBA.

Architecture

diagram

For this project, we will work with classification datasets. Our generated model consists of 2 layers, with ReLU as the 1st activation function and softmax as the 2nd. Within each Iterate Sub procedure, we complete one pass of forward propagation, backpropagation and gradient descent. The intermediate layers are stored as separate sheets within the workbook.

Model Performance

good bad

Model performance on the Iris dataset

At the end of a training run, our workbook will automatically calculate classification metrics. Unsurprisingly, our model performance is dubious at times. Perhaps this can be improved with proper hyperparameter tuning, and extending our model with more layers.

What's Next?

There are many possible improvements to our approach. First, more layers and activations can be supported. We can also consider adding a bias term for each layer. Furthermore, we can implement a proper optimization algorithms to improve the process of gradient descent.

Languages

VBA64.7%Python35.3%

Contributors

Created January 20, 2024
Updated December 29, 2025
leslieyip02/excel | GitHunt