Как классифицировать данные акселерометра из текстового файла? - PullRequest
0 голосов
/ 06 июня 2018

У меня есть текстовый файл (x_train) из данных датчика, таких как акселерометры:

# (patient number, time in ms, normalization of X Y and Z,
# kurtosis, skewness, pitch, roll and yaw, label) respectively.
1,15,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,31,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,46,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0
1,62,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0

И я работаю над моделью глубокого обучения RNN-LSTM с кератами. Я пытаюсь определить, находится ли пациент встадия FOG (замораживание походки) или нет

На рисунке ниже показаны фрагменты, которые я хочу определить из файла сигналов акселерометра.

figure

иэто оси X, Y и Z enter image description here

y-axis

z-axis

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу понять, как получить эти куски программным путем.

А также, что я в основном хочу, это знать, как часто пациент имеетТуман или ходьба в течение определенного промежутка времени.(Размер окна около 3 секунд).

это то, что я пробовал

def rwindows(a, window):

    shape = a.shape[0] - window + 1, window, a.shape[-1]
    strides = (a.strides[0],) + a.strides
    windows = np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)
    return np.squeeze(windows)

s=x_train.reshape(-1,6)
print(rwindows(s,3))

, и мне нужно получить разницу между сигналами в случае тумана и ходьбы

...