我正在使用一个4-D阵列输入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
...
一周来我一直在思考如何做到这一点,所有的想法都烟消云散了。请问我该怎么做
只需使用以下方法,即可将
X_train
数组从(47204, 1, 100, 4)
重塑为(4720400, 4)
:它保留了数据顺序,元素总数将相同
类似地,可以使用
repeat
命令展开y_train
数组:注意
repeat
命令的100
。由于您有一个用于100个数据点的标签,我们将把这些项目扩展100倍。此命令还将保留数据顺序,以便所有实例都具有相同的原始标签相关问题 更多 >
编程相关推荐