Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当数据看起来像三维阵列时,如何平衡数据?_Python_Arrays_Numpy - Fatal编程技术网

Python 当数据看起来像三维阵列时,如何平衡数据?

Python 当数据看起来像三维阵列时,如何平衡数据?,python,arrays,numpy,Python,Arrays,Numpy,我得到了一个大小为(3275412,50,22)的numpy_数组,它代表了为LSTM目的而重塑的数据,我得到了一个形状为(3275412,)的目标向量 我想平衡我的数据,使目标0和1的数据数量大致相同。 我准备数据的方式使我无法在重塑之前进行此平衡操作 首先,我想应用make_函数(详情请参见),但无法将其应用于二维阵列(出现错误) 我的问题是:对于3D阵列,最有效的方法是什么 我的想法:我想先通过“连接”第二维度和第三维度将我的三维数组“展平”为二维数组(但不知道怎么做,请告诉我??),然后

我得到了一个大小为
(3275412,50,22)
的numpy_数组,它代表了为LSTM目的而重塑的数据,我得到了一个形状为
(3275412,)
的目标向量

我想平衡我的数据,使目标
0
1
的数据数量大致相同。 我准备数据的方式使我无法在重塑之前进行此平衡操作

首先,我想应用
make_
函数(详情请参见),但无法将其应用于二维阵列(出现错误)

我的问题是:对于3D阵列,最有效的方法是什么

我的想法:我想先通过“连接”第二维度和第三维度将我的三维数组“展平”为二维数组(但不知道怎么做,请告诉我??),然后应用
make_unbalance
,然后将结果重塑为三维数组(同样,我也不知道怎么做)。这似乎有点棘手,但是


因此,任何帮助都将不胜感激,无论是对于其他不平衡方法,还是关于重塑3D->2D的帮助,或者反之亦然,您可以使用
np。对于未知尺寸,使用
-1
重塑

data2d = data3d.reshape(data3d.shape[0], -1)
将为您提供一个二维形状数组
(n个样本,n个特征)
第二维度和第三维度合并

data2d_new, y_new = make_imbalance(data2d, y) 
调用
make_disbalance
后,您将得到一个具有形状
(n_samples_new,n_features)
的2d数组,其中行数“未知”,但您知道原始3d数组的其他两个“feature”维度,因此

data3d_new = data2d.reshape(-1, data3d.shape[1], data3d.shape[2])
将返回平衡的3d数据集