An end-to-end machine learning project that predicts the Fire Weather Index (FWI) using meteorological and fire-weather features from the Algerian Forest Fires dataset.
# FireCast: Forest Fire Weather Prediction
FireCast is an educational machine-learning project that uses weather and fire-weather observations from two Algerian regions to predict the **Fire Weather Index (FWI)**. It includes data cleaning, exploratory analysis, four regression baselines, leakage-safe preprocessing, cross-validation, and holdout evaluation.
## Project Status
This repository is currently a notebook-based modeling project. The cleaning and training workflows are working baselines, but the project does not yet include a packaged training script, saved model, automated tests, or a deployed prediction service.
## Dataset
The source cleaned CSV contains 247 rows. After numeric validation and removal of incomplete records, the training notebook uses 243 observations with these columns:
- `day`, `month`, `year`: observation date components
- `Temperature`: temperature measurement
- `RH`: relative humidity
- `Ws`: wind speed
- `Rain`: rainfall
- `FFMC`, `DMC`, `DC`, `ISI`, `BUI`: fire-weather index components
- `FWI`: regression target
- `Classes`: fire / not-fire category in the source data
- `Region`: encoded region identifier (`0` or `1`)
The project separates the observations into the Bejaia and Sidi Bel-Abbes regions using the source data ordering. Review this assumption before using the dataset for new data or production predictions.
## Repository Contents
| File | Purpose |
| --- | --- |
| `model training.ipynb` | Data loading, preprocessing, scaling, model training, metrics, plots, and cross-validation |
| `algaerian_forest_project.ipynb` | Initial data inspection, cleaning, region labeling, and exploratory analysis |
| `Algerian_forest_fires_dataset_CLEANED_DATASET.csv` | Cleaned dataset used by the training notebook |
| `plan.txt` | Ordered next steps for improving and extending the project |
The spelling of `algaerian_forest_project.ipynb` is retained to match the existing filename.
## Workflow
The project follows this sequence:
1. Lo …