GRU data dictionary and split audit
GRU sheets: 850 train / 150 test, no exact row overlap
label 0 includes quick falls AND walking. need collection method + session split before treating that as a clean safe/unsafe dataset
The three GRU spreadsheets are actual tabular data, not model code. Keep the feature order explicit: angle_one, angle_two, angle_three, angle_four, angle_five, noUnbalanced_hour, time_of_day; user_state is the target. Preserve the spelling of noUnbalanced_hour when loading the sheet rather than silently renaming a model input.
The full labeled sheet has 1,000 numeric records: 500 with label 1 and 500 with label 0. Sparse annotations mark the starts of “Unbalanced,” “Quick Fall,” and “Walking” sections: label 0 includes both quick falls and walking. Thus this is not simply a binary safe/unsafe classifier. Check that class semantics agree with the actuation rule before using a prediction to move a weight.

Autoregressive data-simulation planning sketch.
A present-day comparison of exported numeric tuples finds 850 training rows (438 positive, 412 negative) and 150 testing rows (62 positive, 88 negative). Ignoring the row-index and text annotation columns, their exact-row intersection is empty and their union matches the 1,000-record original. That checks simple duplicated rows only; it does not establish participant independence or prevent adjacent windows from the same sequence leaking across the split.
To recover a reproducible training run, still need: whether these rows were recorded or generated, units and timestamps for the five angles, window spacing, how hour/time features were encoded, normalization fit on training data only, split seed, and whether separation happened by person or recording session. No model weights or optimizer configuration are supplied by these sheets.