Forest fires can cause significant damage to ecosystems, wildlife, property, and human life. Early detection of fire-prone areas can help support faster response and reduce potential damage.
This project focuses on developing a machine learning-based system for forest fire detection and hotspot prediction using satellite-based fire observation data. The project applies data preprocessing, feature engineering, exploratory analysis, and machine learning classification techniques to identify areas associated with forest fire activity.
- Detect forest fire occurrences using satellite-based data.
- Prepare and preprocess fire-related data for machine learning.
- Perform feature engineering to improve model performance.
- Compare different machine learning approaches.
- Train and evaluate classification models.
- Develop a final Random Forest Classifier for forest fire detection.
The project uses satellite-based forest fire observation data containing geographical and fire-related attributes.
The major features used in the project include:
- Latitude
- Longitude
- Fire Radiative Power (FRP)
- Brightness
- Month/temporal information
- Fire occurrence / classification information
The dataset is processed to prepare suitable positive and non-fire samples for classification.
Note: The dataset itself is not included in this repository. Please refer to the notebook for the data source and preprocessing procedure.
The overall workflow of the project is:
- Data collection
- Data cleaning and preprocessing
- Exploratory Data Analysis
- Generation/preparation of non-fire samples
- Feature engineering
- Feature selection
- Train-test data splitting
- Model training
- Hyperparameter tuning
- Cross-validation
- Model evaluation
- Final Random Forest classification
Several machine learning approaches were explored during the project, followed by model evaluation and tuning.
The final model selected for the forest fire classification task is:
Random Forest Classifier
Random Forest was selected because it can effectively handle nonlinear relationships between environmental and geographical features and provides a robust ensemble-based classification approach.
The final Random Forest Classifier achieved an accuracy of 94.26% on the test dataset.
| Metric | Class 0 | Class 1 |
|---|---|---|
| Precision | 0.93 | 0.95 |
| Recall | 0.95 | 0.93 |
| F1-score | 0.94 | 0.94 |
- Accuracy: 94.26%
- Macro Average F1-score: 0.94
- Weighted Average F1-score: 0.94
- Test Samples: 4,424
The model demonstrated balanced precision, recall, and F1-score across both classes, indicating consistent classification performance on the test dataset.
The confusion matrix shows the classification performance of the final Random Forest model across the two classes.
- Python
- Jupyter Notebook / Google Colab
- Pandas
- NumPy
- Matplotlib
- Seaborn
- Scikit-learn
- Machine Learning
- Random Forest
forest-fire/
│
├── Forest_fire_detection.ipynb
├── README.md
├── requirements.txt
├── .gitignore
├── LICENSE
└── results/
└── confusion_matrix.png
git clone https://github.com/raj-vipul/forest-fire.git
cd forest-fire-detectionpip install -r requirements.txtOpen:
Forest_fire_detection.ipynb
You can run the notebook using Google Colab or Jupyter Notebook.
Follow the dataset-loading section in the notebook to obtain and load the required data.
- Integrate real-time satellite data for continuous monitoring.
- Incorporate additional environmental and weather-related features.
- Develop a real-time forest fire alert system.
- Deploy the trained model as a web application or API.
- Explore deep learning and geospatial models for improved prediction.
- Build interactive hotspot visualization using maps.
Vipul Raj
Computer Science & Engineering Graduate
⭐ If you find this project useful, consider giving the repository a star!
