Я работаю с входом 4-мерного массива в сеть CNN. Входной массив имеет следующую форму:
print('X_train shape: ', X_train.shape)
X_train shape: (47204, 1, 100, 4)
Описание данных:
Входные данные состоят из 47204
экземпляров (сегменты фиксированной длины в соответствии с требованиями CNN ). Каждый экземпляр (1, 100, 4)
т.е. сегмент 1
содержит 100-GPS points
, и для каждой точки сохраняется 4-
соответствующая кинематика точки (max_speed, avg_speed, max_acc, avg_acc)
, таким образом, (1, 100, 4)
. Ярлыки хранятся в отдельном массиве y_train
формы (47204,)
для 5 классов [0..4]
.
print(y_train)
[3 3 0 ... 2 3 4]
Чтобы лучше понять мой массив X_train
, я показываю первые 3 элемента ниже:
print(X_train[1:3])
[
[[[ 3.82280987e+00 2.16802350e-01 7.49917451e-02 3.44416369e-04]
[ 3.38707371e+00 2.02210055e-01 1.61751110e-03 1.93745950e-03]
[ 2.49202215e+00 1.60605262e-01 8.43561351e-03 2.40057917e-03]
...
[ 2.00022316e+00 2.70020923e-01 5.40441673e-02 3.57212151e-03]
[ 3.25199744e-01 9.06990382e-02 1.46808316e-02 1.65841315e-03]
[2.96587589e-01 0.00000000e+00 6.13293351e-04 4.16518187e-03]]]
[[[ 1.07209176e+00 7.27038312e-02 6.62777026e-03 2.04611951e-04]
[ 1.06194285e+00 5.05005456e-02 4.05676569e-03 3.72293433e-04]
[ 1.02849748e+00 2.12558178e-02 2.95477005e-03 5.56584054e-04]
...
[ 4.51962909e-03 5.63125736e-04 5.98474074e-04 1.63036715e-05]
[ 2.83026181e-03 2.35855075e-03 1.25789358e-03 2.15331510e-06]
[8.49078543e-03 2.16840434e-19 9.43423077e-04 1.29198906e-05]]]
[[[ 7.51127665e+00 3.14033478e-01 6.85170617e-02 7.73415075e-04]
[ 7.42307262e+00 1.33868251e-01 4.10564823e-02 1.16131460e-03]
[ 7.35818066e+00 1.23886976e-02 3.02312582e-02 1.28312101e-03]
...
[ 7.40826167e+00 1.19388656e-01 4.00874715e-02 2.04909489e-04]
[ 7.23779176e+00 1.33269965e-01 1.20430502e-02 1.58195900e-04]
[ 7.11697001e+00 4.68002105e-02 5.42478400e-02 3.58101318e-05]]]
]
Задача:
Мне необходимо создать модель машинного обучения (например, случайный лес), используя 4 кинематики (max_speed, avg_speed, max_acc, avg_acc)
в качестве функций. Это требует навигации по каждому экземпляру и получения этих функций для 100 точек в экземпляре.
Очевидно, что количество выборок будет 4720400
(т.е. 47204 x 100
), поэтому каждое значение также будет соответствовать соответствующая метка его экземпляров, то есть y_train
тогда будет (4720400,)
.
Ожидаемый ввод будет таким:
max_speed avg_speed max_acc avg_acc class
0 3.82280987e+00 2.16802350e-01 7.49917451e-02 3.44416369e-04 3
1 3.38707371e+00 2.02210055e-01 1.61751110e-03 1.93745950e-03 3
2 2.49202215e+00 1.60605262e-01 8.43561351e-03 2.40057917e-03 3
...
Я думал о том, как это сделать через неделю все идеи испарились. Как мне это сделать?