This is the GitHub repository accompanying the IEEE Communications Surveys & Tutorials (COMST) paper "A Tutorial on Data-Driven Quality of Experience Modeling with Explainable Artificial Intelligence".
Data-driven Quality of Experience (QoE) modeling using Machine Learning (ML) is a key enabler for future communication networks as it allows accelerated and unbiased QoE modeling while autonomously adapting to changes over time. Traditional ML techniques only provide black-box QoE models, meaning that the models' internal reasoning is hard to understand. This makes it difficult not only to gain valuable insights into the data and the underlying QoE influence factors, but also to build trust in the predictions of the QoE model. To address these challenges and enhance performance, we identify four critical aspects for any data-driven QoE model: explainability, context adaptability, quantification of uncertainty, and data decentralization.
This tutorial and the accompanying Jupyter notebooks focus on eXplainable Artificial Intelligence (XAI) as a promising approach to developing explainable models that address key challenges in data-driven QoE modeling. They introduce and explain relevant XAI concepts and aim to foster research in the field of data-driven QoE modeling with XAI.
Pre-requisites:
Python 3.10 or higher
pip
Virtual Environment Setup
python3 -m venv venv
or alternative methods such as virtualenv
Install Jupyter Notebook
source venv/bin/activate
pip install jupyter # For jupyter installation
Start Jupyter Notebook
jupyter notebook
Each Jupyter notebook can be run as a standalone script, with required Python libraries installed at the beginning. We recommend using a virtual environment for installation. Since TensorFlow Federated may cause compatibility issues with other libraries, we also recommend using a separate virtual environment for the federated learning notebook (IX_01_Federated_Learning.ipynb).
If you require GPU support, ensure you identify the comptabible TensorFlow and PyTorch versions and update the installation scripts accordingly. Most notebooks should work fine without GPU support.
As we do not own the datasets used in the manuscript and cannot redistribute them, we alternatively provide means to generate synthetic data. The notebook "III-Dataset-Generation.ipynb" demonstrates how the datasets (train_data.csv and test_data.csv) are generated and can be tweaked to generate other data. These datasets are reused in nearly all scripts.
If you use this code in your research, please cite the following paper:
Wehner, N., Seufert, A., Hoßfeld, T., & Seufert, M. (2025). A Tutorial on Data-Driven Quality of Experience Modeling with Explainable Artificial Intelligence. IEEE Communications Surveys & Tutorials (COMST).
@article{wehner2025tutorial,
title={A Tutorial on Data-Driven Quality of Experience Modeling with Explainable Artificial Intelligence},
author={Wehner, Nikolas and Seufert, Anika and Hoßfeld, Tobias and Seufert, Michael},
journal={IEEE Communications Surveys & Tutorials},
year={2025}
}If you have any questions, please contact nikolas.wehner@uni-wuerzburg.de