With an ever-growing concern of climate change and global warming, it is becoming more important for human beings to keep track of natural disasters that impact them close to home. We built Firesight to prepare for a future where wildfires are becoming more common than ever.
Firesight predicts the likelihood of fire in any location in the US using our custom trained machine learning model.
We trained the machine learning model on historical fire and weather data using sklearn's random forest regression. We created several internal apis using python/Flask for the model data api and node/express for the weather and python middleman apis to get real time weather data based on location to feed to our model in order to get a prediction and communicate with our front end based on vue.js!
Finding good training data was the toughest challenge we encountered. We attempted to create our own dataset by matching existing fire data with their historical weather data but ran into api query limits. In the interest of time we used a smaller UCI machine learning dataset which contained both fire and weather data, the resulting model's accuracy suffered but still demonstrates the overall goal of the project.
This project included many moving parts, interaction with external weather apis, and two internal api servers in python and node, orchestrating the interactions between all these parts with the front end and then hosting everything on heroku was definitely something we were proud of.
We learned a lot of about various things: In the backend we learned about how to interact with external apis, create a Flask server to host the python model and connect our python and node servers together to seamlessly serve prediction data to our front end. We also learned how to use the javascript environment Node as the intermediate layer to communicate with the backend flask server.
machine learning: we learned how to train and evaluate models with sklearn and about random forest regression, linear regression and polynomial regression.
Frontend, what we're proud of is using Vue.js for the first time to build a modern website that not only looks good but feels responsive to the user.
Better datasets to correlate fire and weather data, a better trained/more optimized model. Heatmap to represent risk for larger areas not just cities, allow user to view more information than just model calculated risk such as weather data, resources relating to wildfire prevention.