To get started with AutoML4NILM, follow these steps:
First, you need to install NILMTK. Important: Do not follow the manual installation instructions from the main NILMTK repository, as they can lead to dependency conflicts.
The easiest and most reliable way to install NILMTK is:
pip install nilmtk_s14peAfter installing NILMTK, install the additional required packages listed in the requirements.txt file:
pip install -r requirements.txtThis project has been tested with the UK-DALE dataset but is designed to be easily extendable to other datasets as well.
The AutoML framework currently supports 11 machine learning algorithms for NILM (Non-Intrusive Load Monitoring). Thanks to its flexible and modular design, the framework can be further enhanced to support more algorithms, models, or datasets in the future.
This repository supports the following paper:
N. Siavash and A. Moin, “A Bayesian Optimization-Based AutoML Framework for Non-Intrusive Load Monitoring,”
arXiv preprint arXiv:2602.05739, 2026.
@article{SiavashMoin2026,
title = {A Bayesian Optimization-Based AutoML Framework for Non-Intrusive Load Monitoring},
author = {Siavash, Nazanin and Moin, Armin},
journal = {arXiv preprint arXiv:2602.05739},
year = {2026}
}Non-intrusive load monitoring, NILM, automated machine learning, AutoML, Bayesian optimization, energy disaggregation, machine learning, smart meters, energy consumption, and time-series analysis.
This project builds upon the following repositories:
We gratefully acknowledge their contributions and codebases.