This repository contains machine learning models and supporting scripts for estimating the power consumption of virtual Base Stations (vBS), as presented in the paper Machine Learning Models for Virtual Base Station Power Consumption Estimation. It includes tools for data visualization, hyperparameter tuning, model training and testing, as well as results analysis.
To set up the project on your machine:
-
Clone or download this repository:
git clone https://github.com/lasseufpa/ml-for-vbs-power.git
-
Navigate into the project folder:
cd ml-for-vbs-power -
Create a virtual environment using venv or conda and install dependencies:
- Using venv:
python3 -m venv .venv source .venv/bin/activate # or .venv\Scripts\activate on Windows pip install --upgrade pip pip install -r requirements.txt
- Using Conda:
conda env create -f env.yml conda activate env
-
Download the
dataset_ul.csvfile from either the GitHub repository or the IEEE DataPort page, and place it inside thein_out_filesdirectory.
| Script | Description | Input | Output |
|---|---|---|---|
experiment/density_plots.py |
Plots the density graphs of the input features and the target variable. | in_out_files/dataset_ul.csv |
in_out_files/figures/density_plot.png |
experiment/model_selection.py |
Performs hyperparameter optimization for all models and logs the results. | in_out_files/dataset_ul.csv |
in_out_files/model_selection_output.txt |
experiment/train_test.py |
Trains and tests the models, saves evaluation results, and generates scatter plots per model. | in_out_files/dataset_ul.csv |
in_out_files/train_test_output.csv and in_out_files/figures/scatter_plot-<CPU>.png |
You can use the following commands to automatically format, lint, and check your code for better readability and consistency:
black .
isort .
flake8 .
pyrightTo enforce code quality automatically on every commit, this repository uses pre-commit. To enable it:
pre-commit installThis ensures formatting and linting checks run before each commit.
If you use this repository in your work, please cite the corresponding publication:
@inproceedings{gomes2025,
author = {Gomes, Elen and Rodrigues, Lucas and Bezerra, Diego and Sadok, Djamel F. H. and Gonçalves, Glauco},
title = {Machine Learning Models for Virtual Base Station Power Consumption Estimation},
booktitle = {Anais do XLIII Simpósio Brasileiro de Telecomunicações (SBrT)},
year = {2025},
publisher = {Sociedade Brasileira de Telecomunicações},
doi = {<DOI>}
}E. Gomes, L. Rodrigues, D. Bezerra, D. F. H. Sadok, and G. Gonçalves, “Machine learning models for virtual base station power consumption estimation,” in Anais do XLIII Simpósio Brasileiro de Telecomunicações (SBrT), Sociedade Brasileira de Telecomunicações, 2025. DOI: <DOI>.