FireGuard is an explainable machine learning–based decision-support system that predicts wildfire occurrence risk using meteorological conditions.
Instead of producing only a binary prediction, FireGuard provides a risk probability, risk level, and key contributing environmental factors, making the system transparent and actionable.
This project was built as part of a global hackathon challenge and is designed as an offline, reproducible demo with optional live weather integration.
Wildfires cause severe environmental damage, economic loss, and threats to human life.
Identifying areas that require careful surveillance based on environmental conditions is difficult, especially at a local scale.
Most existing systems:
- Act as black boxes with no explanation, or
- Focus only on prediction without decision support
FireGuard uses a Random Forest machine learning model trained on historical wildfire and meteorological data to estimate the probability of wildfire occurrence.
- Predicts wildfire occurrence probability from weather data
- Converts probability into Low / Medium / High risk levels
- Explains why a risk level is assigned using feature importance
- Provides a clean, web-based dashboard for interaction
- Supports both API-based auto weather fetch and manual override
FireGuard is intended as a decision-support tool, not a real-time alert or prevention system.
Frontend (HTML/CSS Dashboard) ↓ Flask Backend API ↓ Random Forest ML Model ↓ Risk Probability + Risk Level ↓ Explainable Feature Importance
- Algorithm: Random Forest Classifier
- Library: Scikit-learn
- Reason: Robust to noise, handles non-linear relationships, and provides feature importance for explainability
- Public historical wildfire and meteorological data
- Derived from:
- Satellite-based fire observations (NASA FIRMS / VIIRS)
- Meteorological variables (Open-Meteo)
- Over 118,000 samples
- Fully numerical, no missing values
- Mean temperature
- Temperature range
- Minimum humidity
- Maximum wind speed
- Atmospheric pressure
- Solar radiation
- Cloud cover
- Wildfire occurrence probability
- Risk level: LOW / MEDIUM / HIGH
- Top contributing meteorological factors
The dashboard allows users to:
- Select a predefined city (with known latitude & longitude)
- Auto-fetch live weather data using a public API
- Manually adjust parameters for scenario analysis
- Run ML-based wildfire risk assessment
- View explainable results and alert messaging
-
Clone the repository:
git clone https://github.com/salmonangelo/wildfire-risk-intelligence.git cd wildfire-risk-intelligence -
Install dependencies: Make sure you have Python installed, then run:
pip install -r requirements.txt
-
Run the Flask application:
python app.py
-
Access the Web Dashboard: Open your browser and navigate to http://127.0.0.1:5000 or
http://localhost:5000


