Skip to content

Releases: UCA-Datalab/nilm-thresholding

September 2021

07 Apr 09:07
a2a6fb7
Compare
Choose a tag to compare

Updates the code to September 2021 version.

Develop branch is no longer supported, future PRs will be directed to master.

Name change

13 Apr 11:45
Compare
Choose a tag to compare

Module name has been change from "better_nilm" to a more humble and fitting one: "nilm_thresholding"

This release includes all the code used in the paper: "NILM as a regression versus classification problem: the importance of thresholding", which pre-print can be found here.
Follow the section reproduce paper on the README to get similar results as the ones shown in the paper (scores may vary slightly due to the random seed).

Major refactorization

13 Apr 10:47
Compare
Choose a tag to compare

The code has been refactorized. Now it is easier to use and read.

This release includes all the code used in the paper: "NILM as a regression versus classification problem: the importance of thresholding", which pre-print can be found here.
Follow the section reproduce paper on the README to get similar results as the ones shown in the paper (scores may vary slightly due to the random seed).

NILM as a regression versus classification problem

29 Oct 16:35
Compare
Choose a tag to compare

This release includes all the code used in the paper: "NILM as a regression versus classification problem: the importance of thresholding", soon to be released. Updates included with this version are:

  • 'scripts' folder contains wrapper functions to train, score and plot the results of the models used in the paper.
  • README is complete and explains how to test the code. With it, the results shown in the paper are easily reproducible.
  • Unused scripts were deprecated.

Deprecated nilmtk

29 Jul 12:06
Compare
Choose a tag to compare
Deprecated nilmtk Pre-release
Pre-release

This version deprecates all functions that require nilmtk. The branch feature/nilmtk_backup was created to keep those functions on record.

The reason why we have deprecated nilmtk is because we found it to be too opaque. We needed a full control over what we were doing to the dataset. Our new code is based upon Luca Massidda's TPNILM project, and at this moment its preprocessing is only applicable to UKDALE dataset. We plan on adding more datasets in the future.

Also, we present in this version some scripts ready to run. One just need to install the requirements file and download the official UKDALE data. These scripts train state-of-the-art models and store their scores and plots.

Fixed thresholding error

14 May 10:55
Compare
Choose a tag to compare

This version can perform the following tasks:

  • Read and preprocess data from hdf5 files using the nilmtk library.

  • Automatically distinguish between ON and OFF states, by applying a kMeans algorithm to the appliance load.(*)

  • Train a bidirectional GRU model. This model does both regression (appliance load consumption) and classification (appliance state).

  • Plot the model predictions against the ground-truth data.

  • Train and test several models sequentially via scr folder (located outside the package).

  • Compute model scores and store them in csv format.

(*) This functionallity was defective in past releases.

Baseline (fixed)

12 May 08:13
Compare
Choose a tag to compare

This first version can perform the following tasks:

  • Read and preprocess data from hdf5 files using the nilmtk library.

  • Automatically distinguish between ON and OFF states, by applying a kMeans algorithm to the appliance load.

  • Train a bidirectional GRU model. This model does both regression (appliance load consumption) and classification (appliance state).

  • Plot the model predictions against the ground-truth data.

Baseline

11 May 16:38
Compare
Choose a tag to compare

This first version can perform the following tasks:

  • Read and preprocess data from hdf5 files using the nilmtk library.

  • Automatically distinguish between ON and OFF states, by applying a kMeans algorithm to the appliance load. These functionality must be improved.

  • Train a bidirectional GRU model. This model does both regression (appliance load consumption) and classification (appliance state).

  • Plot the model predictions against the ground-truth data.