{"id":13589689,"url":"https://github.com/mahnoor-shahid/nilm_analyzer","last_synced_at":"2025-04-08T09:33:45.264Z","repository":{"id":151757338,"uuid":"558900626","full_name":"mahnoor-shahid/nilm_analyzer","owner":"mahnoor-shahid","description":"Simple, fast and handy data loaders for NILM datasets to explore the data at convenience, provided with basic transformations like resampling, normalization and extract activities by thresholding.","archived":false,"fork":false,"pushed_at":"2024-10-31T12:59:19.000Z","size":98,"stargazers_count":36,"open_issues_count":1,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T16:19:24.466Z","etag":null,"topics":["nilm","non-intrusive-load-monitoring","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mahnoor-shahid.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-28T14:51:50.000Z","updated_at":"2025-01-19T16:30:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8154702-d7b2-4be5-a533-267ad4556158","html_url":"https://github.com/mahnoor-shahid/nilm_analyzer","commit_stats":null,"previous_names":["mahnoor-shahid/refit_loader"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahnoor-shahid%2Fnilm_analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahnoor-shahid%2Fnilm_analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahnoor-shahid%2Fnilm_analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahnoor-shahid%2Fnilm_analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mahnoor-shahid","download_url":"https://codeload.github.com/mahnoor-shahid/nilm_analyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247810687,"owners_count":20999958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nilm","non-intrusive-load-monitoring","python"],"created_at":"2024-08-01T16:00:33.029Z","updated_at":"2025-04-08T09:33:44.966Z","avatar_url":"https://github.com/mahnoor-shahid.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003c!-- ![GitHub](https://img.shields.io/github/license/mahnoor-shahid/nilm_analyzer?style=for-the-badge) --\u003e\n\u003c!-- ![GitHub Repo stars](https://img.shields.io/github/stars/mahnoor-shahid/nilm_analyzer?style=for-the-badge) --\u003e\n\u003c!-- ![GitHub forks](https://img.shields.io/github/forks/mahnoor-shahid/nilm_analyzer?style=for-the-badge) --\u003e\n\u003c!-- ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/mahnoor-shahid/nilm_analyzer?include_prereleases\u0026style=for-the-badge) --\u003e\n\u003c!-- ![GitHub issues](https://img.shields.io/github/issues-raw/mahnoor-shahid/nilm_analyzer?style=for-the-badge) --\u003e\n\u003c!-- ![GitHub pull requests](https://img.shields.io/github/issues-pr/mahnoor-shahid/nilm_analyzer?style=for-the-badge) --\u003e\n\n![GitHub](https://img.shields.io/github/license/mahnoor-shahid/nilm_analyzer)\n![GitHub Repo stars](https://img.shields.io/github/stars/mahnoor-shahid/nilm_analyzer)\n![GitHub forks](https://img.shields.io/github/forks/mahnoor-shahid/nilm_analyzer)\n![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/mahnoor-shahid/nilm_analyzer?include_prereleases)\n\u003ca href=\"https://github.com/mahnoor-shahid/nilm_analyzer\" alt=\"python\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/python-v3.9-brightgreen\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mahnoor-shahid/nilm_analyzer\" alt=\"numpy\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/numpy-1.20.3-yellowgreen\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mahnoor-shahid/nilm_analyzer\" alt=\"pandas\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/pandas-1.2.4-yellowgreen\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mahnoor-shahid/nilm_analyzer\" alt=\"dask\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/dask-2022.05.02-red\" /\u003e\u003c/a\u003e  \u003ca href=\"https://github.com/mahnoor-shahid/nilm_analyzer\" alt=\"scikit-learn\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/scikit--learn-1.2.1-yellowgreen\" /\u003e\u003c/a\u003e\n\n\u003c!-- ![GitHub issues](https://img.shields.io/github/issues-raw/mahnoor-shahid/nilm_analyzer) --\u003e\n\u003c!--![GitHub pull requests](https://img.shields.io/github/issues-pr/mahnoor-shahid/nilm_analyzer) --\u003e\n\n\n# nilm-analyzer: a simple python package for loading and processing nilm datasets\n\u003e This project uses **Dask Dataframes** to ease and fasten the process of loading and analyzing all the data of any publicly available NILM dataset and provides basic transformations like resampling, standardization and extracting activations by thresholding for statistical analysis purpose. Can be used further for splitting datasets into train, validation and test subsets for Energy Disaggregation task.\n\n## Good to Read\nI'm pleased to share my latest research in the field of NILM. While this paper is not directly on the topic of this repository, it explores domain adaptation of NILM methods that might interest the same audience.\n\u003cbr /\u003e\nMuaz, M., Zinnikus, I., \u0026 Shahid, M. (2024, July). NILM Domain Adaptation: When Does It Work?. In 2024 10th International Conference on Smart Computing and Communication (ICSCC) (pp. 524-528). IEEE.\n\n## Getting Started\n1) Install the nilm_analyzer in your current environment.\n```\npip install nilm-analyzer\n```\n\n2) [Download](#downloads) any NILM dataset(s) and import the corresponding loader. Then, pass the data path of the data directory where the dataset is located. For instance,\n```\nfrom nilm_datasets.loaders import REFIT_Loader\nrefit = REFIT_Loader(data_path='data/refit/')\n```\n3) Fetch the list of available appliances for selected houses.\n```\nrefit.get_appliance_names(house=2)\n```\n4) Load data for selected appliance (all houses)\n```\nkettle = refit.get_appliance_data(appliance='Kettle')\n```\n5) (OR) Load data for selected house (all appliances).\n```\nhouse2 = refit.get_house_data(house=2)\n```\n6) (OR) Load data for sselected appliance and elected houses.\n```\nkettle = refit.get_appliance_data(appliance=\"Kettle\", houses=[1,2,3])\n```\n7) To access the data, use the below command.\n```\nkettle.data\n```\n8) Take the reference from NILM_Analyzer to see how Refit_Loader can be accessed and how it's utilities can be used.\n\nReference Repository: \u003cbr /\u003e\n[NILM Analyzer Tutorials](https://github.com/mahnoor-shahid/nilm_analyzer_tutorials) = This repository serves more like a user guide that describes how to use the nilm analyzer package, and demonstrates all the basic functionalities that it provides.\n\n\n## Dependencies\nEnsure that the following dependencies are satisfied in your current environment \n```  \n  - python\u003e=3.9.2\n  - numpy\u003e=1.20.3\n  - pandas\u003e=1.2.4\n  - dask\u003e=2021.06.2\n  - scikit-learn\u003e=1.1.2\n```\n\n\n## Datasets Included\nREFIT [United Kingdom] \u003cbr /\u003e\nMurray, D., Stankovic, L. \u0026 Stankovic, V. An electrical load measurements dataset of United Kingdom households from a two-year longitudinal study. Sci Data 4, 160122 (2017). https://doi.org/10.1038/sdata.2016.122 \u003cbr /\u003e\n\nUK-DALE [United Kingdom] \u003cbr /\u003e\nKelly, J., Knottenbelt, W. The UK-DALE dataset, domestic appliance-level electricity demand and whole-house demand from five UK homes. Sci Data 2, 150007 (2015). https://doi.org/10.1038/sdata.2015.7 \u003cbr /\u003e\n\nGeLaP [Germany] \u003cbr /\u003e\nWilhelm, S., Jakob, D., Kasbauer, J., Ahrens, D. (2022). GeLaP: German Labeled Dataset for Power Consumption. In: Yang, XS., Sherratt, S., Dey, N., Joshi, A. (eds) Proceedings of Sixth International Congress on Information and Communication Technology. Lecture Notes in Networks and Systems, vol 235. Springer, Singapore. https://doi.org/10.1007/978-981-16-2377-6_5 \u003cbr /\u003e\n\nDEDDIAG [Germany] \u003cbr /\u003e\nWenninger, M., Maier, A. \u0026 Schmidt, J. DEDDIAG, a domestic electricity demand dataset of individual appliances in Germany. Sci Data 8, 176 (2021). https://doi.org/10.1038/s41597-021-00963-2 \u003cbr /\u003e\n\nAMPds [Canada] \u003cbr /\u003e\nS. Makonin, F. Popowich, L. Bartram, B. Gill and I. V. Bajić, \"AMPds: A public dataset for load disaggregation and eco-feedback research,\" 2013 IEEE Electrical Power \u0026 Energy Conference, Halifax, NS, Canada, 2013, pp. 1-6, doi: 10.1109/EPEC.2013.6802949. \u003cbr /\u003e\n\niAWE [India] \u003cbr /\u003e\nN. Batra, A. Singh, P. Singh, H. Dutta, V. Sarangan, M. Srivastava \"Data Driven Energy Efficiency in Buildings\"\n\n\n## Downloads\nREFIT [United Kingdom]\nhttps://pureportal.strath.ac.uk/files/52873459/Processed_Data_CSV.7z\n\nUK-DALE [United Kingdom]\nhttp://data.ukedc.rl.ac.uk/simplebrowse/edc/efficiency/residential/EnergyConsumption/Domestic/UK-DALE-2017/UK-DALE-FULL-disaggregated/ukdale.zip\n\nAMPds [Canada]\nhttps://dataverse.harvard.edu/api/access/datafile/2741425?format=original\n\nGeLaP [Germany]\nhttps://mygit.th-deg.de/tcg/gelap/-/tree/master\n\nDEDDIAG [Germany]\nhttps://figshare.com/articles/dataset/DEDDIAG_a_domestic_electricity_demand_dataset_of_individual_appliances_in_Germany/13615073\n\niAWE [India]\nhttps://drive.google.com/open?id=1c4Q9iusYbwXkCppXTsak5oZZYHfXPmnp\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahnoor-shahid%2Fnilm_analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmahnoor-shahid%2Fnilm_analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahnoor-shahid%2Fnilm_analyzer/lists"}