Inspiration
We wanted to go further than just output code in our console. We designed a full stack application that not only meets all requirements but exceeds expectations!
At the core it addressed both parts of SAP challenge with their provided data. It can also use other and additional data and custom units data to produce accurate results.
What it does
Part 1: Ressource allocation Optimizer
The system optimizes ressource allocations to prevent "missed" cases based on available firefighting units, their cost and timeline.
Part 2: Wildfire predictor.
It predicts the likelyhood of a wildfire for a given time with relevant information to provide the likelyhood of a fire occuring. It displays all wildfires predictions on a map to visualize them.
How we built it
We have a full stack application. It uses Next.js in the frontend and Python in backend with Flask API. The backend also has all the code we used to train our machine learning (XGBoost) algorithm. The model is saved and used for inference for demo. Feel free to checkout our repository for more details!
Challenges we ran into
The prediction model didn't yield a good performance based on the ideal output for part 2. It was not possible to train a DNN (LSTM) model with our laptops. We had to opt out for CPU friend models AKA ML models.
We redesigned our model to incorporate FWI as feature which is known and backed up by science! The great part is that this could be computed with all the data provided by SAP. No external data was used!
Another issue was data leakage since we are working with chronological data. To prevent this issue, we split the first half (Jan 1st 2020 - Dec 31st 2021) for training and second half (Jan 1st 2022 - Dec 31st 2023) for training instead of just randomly splitting.
Accomplishments that we're proud of
- As a team of 2 we are extremely proud of what we were able to accomplish in under 24 hours.
- Our model nearly achieved the ideal output. We were only 2-3 points off the model designed by SAP engineers.
What we learned
How to distribute tasks effectively! As a team of 2 people we needed to make sure that we split our tasks effectively! Specially when we had to train our model which did quite bit of time!
We learned on how to reduce noise in data to achieve better predictive models. We did this by gaining knowledge about wildfires themselves!
What's next for WildFirex
We plan on integrating some additional features in frontend. This includes the exact log of how and when the resources are assgined. The backend was completed but the integration with frontend required a bit more time!
Built With
- next.js
- python
- xgboost
Log in or sign up for Devpost to join the conversation.