Skip to content

Commit 8c2d62c

Browse files
committed
har_trees: Add a quicklabel tool
1 parent ce3a7d9 commit 8c2d62c

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
2+
"""
3+
Take the activity markers in har_record.py as labels
4+
"""
5+
6+
import os
7+
8+
import pandas
9+
10+
from har_data2labelstudio import load_har_record
11+
12+
def parse():
13+
import argparse
14+
parser = argparse.ArgumentParser(description='')
15+
16+
parser.add_argument('--dataset', type=str, default='uci_har',
17+
help='Which dataset to use')
18+
parser.add_argument('--config', type=str, default='data/configurations/uci_har.yaml',
19+
help='Which dataset/training config to use')
20+
21+
parser.add_argument('--data-dir', metavar='DIRECTORY', type=str, default='./data/raw/uci_har',
22+
help='Where the input data is stored')
23+
parser.add_argument('--out-dir', metavar='DIRECTORY', type=str, default='./data/processed',
24+
help='Where to store results')
25+
26+
parser.add_argument('--features', type=str, default='timebased',
27+
help='Which feature-set to use')
28+
parser.add_argument('--window-length', type=int, default=128,
29+
help='Length of each window to classify (in samples)')
30+
parser.add_argument('--window-hop', type=int, default=64,
31+
help='How far to hop for next window to classify (in samples)')
32+
33+
args = parser.parse_args()
34+
35+
return args
36+
37+
38+
def main():
39+
args = parse()
40+
41+
dataset = args.dataset
42+
out_path = os.path.join(args.out_dir, f'{dataset}.parquet')
43+
data_path = os.path.join(args.data_dir)
44+
45+
# Lookup data
46+
recordings = load_har_record(data_path)
47+
48+
print(recordings.columns)
49+
50+
print(recordings.head(5))
51+
52+
# Create packed dataframe
53+
dfs = []
54+
for filename, row in recordings.iterrows():
55+
classname = row.classname
56+
filename = filename.rstrip('.npy')
57+
#print(filename, classname)
58+
59+
d = row.data
60+
d = d.reset_index()
61+
d['subject'] = 'unknown'
62+
d['file'] = filename
63+
d['activity'] = classname
64+
dfs.append(d)
65+
66+
#p = 'data/processed/pamap2.parquet'
67+
68+
out = pandas.concat(dfs, ignore_index=True)
69+
print(out)
70+
out.to_parquet(out_path)
71+
72+
#return
73+
# Sanity check
74+
df = pandas.read_parquet(out_path)
75+
print(df.columns)
76+
print(df.activity.value_counts())
77+
print(df.file.value_counts())
78+
print(df.head())
79+
80+
81+
if __name__ == '__main__':
82+
main()

0 commit comments

Comments
 (0)