我在为机器学习生成特征数据集,我有一个2D numpy数组X,其中X.shape = (n, d) – n个样本,d个特征。
现在我用独热编码生成一个新特征 – f,其中f.shape = (n, 1, k) – n个样本,k个标签。
将这个新特征添加到我现有的特征数据集中最好的方法是什么?
回答:
独热向量的第二维是多余的,因此你可以去掉它,并将f用作形状为(n, k)
的2D数组。
你可以这样做:
new_data = np.concatenate((X, f.squeeze()), axis=1)
其中squeeze()
函数会从你的数组中移除所有一维(即f.squeeze().shape == (n, k)
)。
祝好