TOAR-classifier v2: A data-driven classification tool for global air quality stations
This study develops a machine learning approach to classify 23,974 air quality monitoring stations in the TOAR database as urban, suburban, or rural using K-means clustering and an ensemble of supervised classifiers. The proposed method outperforms existing classifications, improving suburban accuracy and providing a more reliable foundation for air quality assessments.
Files
-
data
is the folder containing all the data used in this work, including the predictions of station categories from the Machine Learning (ML) model. -
figures
contains all the figures. -
TOAR-classifier_v2.ipynb
is the notebook containing the code. -
requirements.txt
contains all the necessary packages.
Run the Code
Note: This has been tested on Ubuntu 24.04.
- Install Python 3 if not already installed (most Linux systems have Python pre-installed).
- Install Jupyter Notebook:
-
pip install notebook
(for Jupyter Notebook) or -
pip install jupyterlab
(for JupyterLab).
-
- clone the project by running the following
git clone https://gitlab.jsc.fz-juelich.de/esde/toar-public/ml_toar_station_classification.git
- Change directory to ml_toar_station_classification
cd ml_toar_station_classification
- Creat virtual environment
-
python -m venv TOAR-classifier_v2
# feel free to change the virtual environment as convenient
-
- Activate the created venv
python -m ipykernel install --user --name=TOAR-classifier_v2 --display-name "Python (TOAR-classifier_v2)"
Install required package
-
open jupyter notebook,
jupyter-notebook
and select kernelTOAR-classifier_v2
-
Install all the required packages for the project by uncommenting the first cell in the notebook and running the cell
Run the code cell by cell.
Citation
If you use this please cite
@article{Mache2025TOARClassifier, author = {Ramiyou Karim Mache and Sabine Schröder and Michael Langguth and Ankit Patnala and Martin G. Schultz}, title = {TOAR-classifier v2: A data-driven classification tool for global air quality stations}, year = {2025}, note = {Correspondence: Ramiyou Karim Mache (k.mache@fz-juelich.de)}, url = {} }