Sklearn like library supporting numerous Activity of Daily Livings datasets
Project description
Activities of Daily Living - Machine Learning
Contains data preprocessing and visualization methods for ADL datasets.
Last Stable Release
$ pip install pyadlml
Latest Development Changes
$ git clone https://github.com/tcsvn/pyadlml
$ cd pyadlml
Usage example
From a jupyter notebook run
from pyadlml.dataset import fetch_amsterdam
# Fetch dataset
data = fetch_amsterdam(cache=True)
# plot the persons activity density distribution over one day
from pyadlml.dataset.plot.activities import ridge_line
ridge_line(data.df_activities)
# plot the signal cross correlation between devices
from pyadlml.dataset.plot.devices import heatmap_cross_correlation
heatmap_cross_correlation(data.df_devices)
# create a raw representation with 20 second timeslices
from pyadlml.preprocessing import DiscreteEncoder, LabelEncoder
enc_dat = DiscreteEncoder(rep='raw', t_res='20s')
raw = enc_dat.fit_transform(data.df_devices)
# label the datapoints with the corresponding activity
lbls = LabelEncoder(raw).fit_transform(data.df_activities)
X = raw.values
y = lbls.values
# from here on do all the other fancy machine learning stuff you already know
from sklearn import svm
clf = svm.SVC()
clf.fit(X, y)
...
For more examples and and how to use, please refer to the Documentation (to come) or the Notebooks
Features
- 8 Datasets
- A bunch of plots visualizing devices, activities and their interaction
- Different data representations
- Discrete timeseries
- raw
- changepoint
- lastfired
- Timeseries as images
- Discrete timeseries
- Methods for importing data from Home Assistant/Activity Assistant
Supported Datasets
- Amsterdam [1]
- Aras [2]
- Casas Aruba (2011) [3]
- Casas Milan (2009) [4]
- Kasteren House A,B,C [5]
- MitLab [6]
- Tuebingen 2019 [7]
- UCI Adl Binary [8]
Models
Iid data
- SVM
- Winnow algorithm
- Naive bayes
- Decision Trees
Sequential discretized
- RNNs
- LSTMs
- HMMs
- HSMMs
- TCNs
Images
- CNN
- Transformer
Temporal points
- TPPs
Replication list
Here are papers I plan to replicate
Contributing
- Fork it (https://github.com/tcsvn/pyadlml/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Related projects
- activity-assistant - Recording, predicting ADLs within Home assistant.
Support
- Todo buy me a coffee batch
Sources
- Datasets
[1]: https://sites.google.com/site/tim0306/
[2]: H. Alemdar, H. Ertan, O.D. Incel, C. Ersoy, ARAS Human Activity Datasets in Multiple Homes with Multiple Residents, Pervasive Health, Venice, May 2013. [3]: WSU CASAS smart home project:
D. Cook. Learning setting-generalized activity models for smart spaces. IEEE Intelligent Systems, 2011.
[4]: WSU CASAS smart home project:
D. Cook. Learning setting-generalized activity models for smart spaces. IEEE Intelligent Systems, 2011.
[5]: [6]: [7]: Me :)
[8]: Ordonez, F.J.; de Toledo, P.; Sanchis, A. Activity Recognition Using Hybrid Generative/Discriminative Models on Home Environments Using Binary Sensors. Sensors 2013, 13, 5460-5477. - TODO cite every algorithm package
License
MIT © tcsvn
sdf
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyadlml-0.0.4a0.tar.gz
(89.4 kB
view hashes)
Built Distribution
pyadlml-0.0.4a0-py3-none-any.whl
(139.9 kB
view hashes)
Close
Hashes for pyadlml-0.0.4a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de614eefcfbc2a8455429bf07fd4d63d7bb5e2579f509c9d2343ef716aa2aadd |
|
MD5 | a807b9155a5eecbc035d895c7070fc68 |
|
BLAKE2b-256 | 13a95aaae94a2620d74228fe73a959a927e7ce61d1396e9c62d30fa618250f6f |