Skip to content

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".

Notifications You must be signed in to change notification settings

lasseufpa/ml-for-vbs-power

Repository files navigation

Machine Learning Models for Virtual Base Station Power Consumption Estimation

Description

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.

Installation

To set up the project on your machine:

  1. Clone or download this repository:

    git clone https://github.com/lasseufpa/ml-for-vbs-power.git
  2. Navigate into the project folder:

    cd ml-for-vbs-power
  3. 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
  4. Download the dataset_ul.csv file from either the GitHub repository or the IEEE DataPort page, and place it inside the in_out_files directory.

Usage

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 .
pyright

Pre-commit Hook Setup

To enforce code quality automatically on every commit, this repository uses pre-commit. To enable it:

pre-commit install

This ensures formatting and linting checks run before each commit.

Cite this work

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>.

About

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".

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages