水平堆叠 2d Numpy 数组与 3d Numpy 数组

Horizontal Stack 2d Numpy Array with 3d Numpy Array

我正在生成用于机器学习的特征数据集,我有一个 2d numpy 数组 X,其中 X.shape = (n, d) - n 个样本,d 个特征。

现在我使用单热编码生成一个新特征 - f 其中 f.shape = (n, 1, k) - n 个样本,k 个标签。

将这个新特征添加到现有特征数据集的最佳方式是什么?

one-hot 向量的第二个维度是多余的,所以你可以删除它并使用 f 作为形状 (n, k).
的二维数组 你会做这样的事情:

new_data = np.concatenate((X, f.squeeze()), axis=1)

其中 squeeze() 函数从您的数组中删除所有一维(即 f.squeeze().shape == (n, k).

干杯