Поэтому я пытаюсь приспособить простую модель LSTM в Керасе.
Мои данные выглядят так:
Student ID, feature1,feature2,feature3, feature..21 time,labely
1, some value , some value, some value,time1,.., y1
1, some value , some value, some value,time2,.., y2
1, some value , some value, some value,time3,.., y1
1, some value , some value, some value,time4,.., y1
2, some value , some value, some value,time1,.., y1
2, some value , some value, some value,time2,.., y2
3, some value , some value, some value,time1,.., y1
3, some value , some value, some value,time2,.., y2
3, some value , some value, some value,time3,.., y1
Так что для каждого ученика у меня разное количество наблюдений, как вы можетеЯ хочу построить LSTM, который запоминает последовательность наблюдений, чтобы предсказать метку y.Число функций фиксировано = 21.
Я новичок в LSTM, и у меня возникают следующие проблемы, связанные с измерениями данных:
Проблема 1: Мой формат ввода:
X[0]:
[array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 8.34490000e+04],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 8.34490000e+04],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 8.34490000e+04],
...,
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 7.11650000e+04],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 7.11650000e+04],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, ...,
0.00000000e+00, 0.00000000e+00, 7.11650000e+04]], dtype=float32)]
Мой выходной формат:
y[0],y[1]:
[array([ 1., nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, 0., nan, 0.,
nan, nan, nan, nan, nan, 1., nan, nan, 1., 1., nan,
nan, nan, nan, 1., nan, nan, nan, nan, nan, nan, nan,
nan], dtype=float32)
array([ nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, 0., nan], dtype=float32)]]
Вывод np.shape дает мне (19,) для y и (33,) для x.Я не могу преобразовать его в 3D-массив.
Проблема 2: мой lstm находится в
https://codeshare.io/5zv4ok
Я получаю следующую ошибку:
ValueError: Ошибка при проверке ввода: ожидалось, что lstm_1_input будет иметь 3 измерения, но получил массив с формой (19, 1)
Я хочу знать, как продолжить работу с моей моделью.Я также не совсем понимаю, как установить параметр шага по времени, поскольку он варьируется для каждого учащегося.