Algerian Forest Fire Prediction (FWI): End-to-end regression analysis using Linear, Ridge, Lasso, and Elastic Net models with data cleaning and hyperparameter tuning.
# Algerian Forest Fire Weather Index (FWI) Prediction
**Repository Link:**
github.com
---
## 💡 Project Overview
This repository documents an end-to-end Machine Learning project focused on **predicting the Fire Weather Index (FWI)**, a key metric for quantifying fire danger, using the Algerian Forest Fires dataset.
The project was developed as a comprehensive case study, demonstrating proficiency in all stages of the data science lifecycle: data cleaning, exploratory data analysis (EDA), feature engineering, model training, and hyperparameter tuning for regression tasks.
**Goal:** To build a robust regression model capable of accurately predicting the FWI based on meteorological and FWI component features.
## ⚙️ Data Science Pipeline
The project follows a standard machine learning workflow, executed across two main Jupyter Notebooks:
### **1. Data Cleaning & Feature Engineering (`1.cleaning_the_dataset.ipynb`)**
* **Data Ingestion:** Loaded the raw dataset (`Algerian_forest_fires_dataset_UPDATE.csv`).
* **Data Quality:** Handled missing values, removed problematic header rows, and performed robust data type conversion (coercing non-numeric strings to `NaN` and dropping them).
* **Feature Engineering:**
* Extracted `day`, `month`, and `year` from the `Date` column.
* Engineered a new binary feature, **`Region`**, to separate the data from the **Bejaia (0)** and **Sidi-Bel Abbes (1)** regions, addressing the unique structure of the dataset.
* **Exploratory Data Analysis (EDA):** Visualized feature distributions, studied the correlation between weather variables (Temp, RH, Ws, Rain) and the FWI components (DMC, DC, BUI, ISI), and analyzed fire frequency by month and region.
### **2. Model Training & Evaluation (`2.model_training.ipynb`)**
* **Feature Preparation:** Separated the features (`X`) from the target variable (`FWI`).
* **Scaling:** Applied **StandardScaler** to normalize the input fea …