All Projects → nilmtk → Nilmtk

nilmtk / Nilmtk

Licence: apache-2.0
Non-Intrusive Load Monitoring Toolkit (nilmtk)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Nilmtk

Gemello
No description or website provided.
Stars: ✭ 18 (-96.8%)
Mutual labels:  energy, ipython-notebook
Data Structures Using Python
This is my repository for Data Structures using Python
Stars: ✭ 546 (-3.02%)
Mutual labels:  algorithms
Algorithms
CLRS study. Codes are written with golang.
Stars: ✭ 482 (-14.39%)
Mutual labels:  algorithms
Algorithmic Pseudocode
This repository contains the pseudocode(pdf) of various algorithms and data structures necessary for Interview Preparation and Competitive Coding
Stars: ✭ 519 (-7.82%)
Mutual labels:  algorithms
Hellokoding Courses
HelloKoding provides practical coding guides series of Spring Boot, Java, Algorithms, and other topics on software engineering
Stars: ✭ 490 (-12.97%)
Mutual labels:  algorithms
Ml Note
📙慢慢整理所学的机器学习算法,并根据自己所理解的样子叙述出来。(注重数学推导)
Stars: ✭ 537 (-4.62%)
Mutual labels:  algorithms
Competitiveprogramming
A collection of algorithms, data structures and other useful information for competitive programming.
Stars: ✭ 475 (-15.63%)
Mutual labels:  algorithms
Faang
Facebook, Amazon, Apple, Netflix and Google (FAANG) Job preparation.
Stars: ✭ 557 (-1.07%)
Mutual labels:  algorithms
Cdsa
A library of generic intrusive data structures and algorithms in ANSI C
Stars: ✭ 549 (-2.49%)
Mutual labels:  algorithms
Javakeeper
✍️ Java 工程师必备架构体系知识总结:涵盖分布式、微服务、RPC等互联网公司常用架构,以及数据存储、缓存、搜索等必备技能
Stars: ✭ 502 (-10.83%)
Mutual labels:  algorithms
Algorithms And Data Structures In Java
Algorithms and Data Structures in Java
Stars: ✭ 498 (-11.55%)
Mutual labels:  algorithms
Cs Playground React
In-Browser Algorithm and Data Structures Practice
Stars: ✭ 491 (-12.79%)
Mutual labels:  algorithms
Python intro
Jupyter notebooks in Russian. Introduction to Python, basic algorithms and data structures
Stars: ✭ 538 (-4.44%)
Mutual labels:  algorithms
Godot Steering Ai Framework
A complete framework for Godot to create beautiful and complex AI motion. Works both in 2D and in 3D.
Stars: ✭ 482 (-14.39%)
Mutual labels:  algorithms
Classiccomputerscienceproblemsinpython
Source Code for the Book Classic Computer Science Problems in Python
Stars: ✭ 558 (-0.89%)
Mutual labels:  algorithms
Robotopia
🤖 Introducing kids to coding with tiny virtual robots!
Stars: ✭ 478 (-15.1%)
Mutual labels:  algorithms
Competitive Programming
📌 📚 Solution of competitive programming problems, code templates, Data Structures and Algorithms, hackathons, interviews and much more.
Stars: ✭ 496 (-11.9%)
Mutual labels:  algorithms
Online Judge Solutions
Solutions to ACM ICPC - style problems
Stars: ✭ 529 (-6.04%)
Mutual labels:  algorithms
C
Implementation of All ▲lgorithms in C Programming Language
Stars: ✭ 559 (-0.71%)
Mutual labels:  algorithms
Data Analysis And Machine Learning Projects
Repository of teaching materials, code, and data for my data analysis and machine learning projects.
Stars: ✭ 5,166 (+817.58%)
Mutual labels:  ipython-notebook

Build Status Install with conda conda package version

NILMTK: Non-Intrusive Load Monitoring Toolkit

Non-Intrusive Load Monitoring (NILM) is the process of estimating the energy consumed by individual appliances given just a whole-house power meter reading. In other words, it produces an (estimated) itemised energy bill from just a single, whole-house power meter.

NILMTK is a toolkit designed to help researchers evaluate the accuracy of NILM algorithms. If you are a new Python user, it is recommended to educate yourself on Pandas, Pytables and other tools from the Python ecosystem.

⚠️It may take time for the NILMTK authors to get back to you regarding queries/issues. However, you are more than welcome to propose changes, support! Remember to check existing issue tickets, especially the open ones.

Documentation

NILMTK Documentation

If you are a new user, read the install instructions here. It came to our attention that some users follow third-party tutorials to install NILMTK. Always remember to check the dates of such tutorials, many are very outdated and don't reflect NILMTK's current version or the recommended/supported setup.

Why a toolkit for NILM?

We quote our NILMTK paper explaining the need for a NILM toolkit:

Empirically comparing disaggregation algorithms is currently virtually impossible. This is due to the different data sets used, the lack of reference implementations of these algorithms and the variety of accuracy metrics employed.

What NILMTK provides

To address this challenge, we present the Non-intrusive Load Monitoring Toolkit (NILMTK); an open source toolkit designed specifically to enable the comparison of energy disaggregation algorithms in a reproducible manner. This work is the first research to compare multiple disaggregation approaches across multiple publicly available data sets. NILMTK includes:

  • parsers for a range of existing data sets (8 and counting)
  • a collection of preprocessing algorithms
  • a set of statistics for describing data sets
  • a number of reference benchmark disaggregation algorithms
  • a common set of accuracy metrics
  • and much more!

Publications

If you use NILMTK in academic work then please consider citing our papers. Here are some of the publications (contributors, please update this as required):

  1. Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring. In: 5th International Conference on Future Energy Systems (ACM e-Energy), Cambridge, UK. 2014. DOI:10.1145/2602044.2602051. arXiv:1404.3878.
  2. Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring". In: NILM Workshop, Austin, US. 2014 [pdf]
  3. Jack Kelly, Nipun Batra, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. Demo Abstract: NILMTK v0.2: A Non-intrusive Load Monitoring Toolkit for Large Scale Data Sets. In the first ACM Workshop On Embedded Systems For Energy-Efficient Buildings, 2014. DOI:10.1145/2674061.2675024. arXiv:1409.5908.
  4. Nipun Batra, Rithwik Kukunuri, Ayush Pandey, Raktim Malakar, Rajat Kumar, Odysseas Krystalakos, Mingjun Zhong, Paulo Meira, and Oliver Parson. 2019. Towards reproducible state-of-the-art energy disaggregation. In Proceedings of the 6th ACM International Conference on Systems for Energy-Efficient Buildings, Cities, and Transportation (BuildSys '19). Association for Computing Machinery, New York, NY, USA, 193–202. DOI:10.1145/3360322.3360844

Please note that NILMTK has evolved a lot since most of these papers were published! Please use the online docs as a guide to the current API.

Brief history

  • August 2019: v0.4 released with the new API. See also NILMTK-Contrib.
  • June 2019: v0.3.1 released on Anaconda Cloud.
  • Jav 2018: Initial Python 3 support on the v0.3 branch
  • Nov 2014: NILMTK wins best demo award at ACM BuildSys
  • July 2014: v0.2 released
  • June 2014: NILMTK presented at ACM e-Energy
  • April 2014: v0.1 released

For more detail, please see our changelog.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].