My modest contribution to the IceCube Competition, hosted on Kaggle back in early 2023 (link).
Before the competition, the best performing methods were Graph Neural Networks.
To practice my DS skills, I decided to implement the DynEdge architecture from scratch using Pytorch and Torch-geometric, using the official paper (https://arxiv.org/pdf/2209.03042.pdf). At the time, this model had the best performing known architecture (scored MAE=1.018).
The official implementation of the model (GraphNet) can be found here. It is pretty complex.
My implementation is slightly simpler and scores a decent MAE=1.07 while being trained on 10% of the dataset for 1 epoch, due to my limited resources.
More details about my approach in the doc !
Image from the original paper.
If you consider running this code, I highly recommend to use Kaggle notebooks, so you don't have to download any data. The dataset (here) is massive (100Gi). Even standard Google Grive accounts are too small (15Gi) 😅