【发布时间】:2019-11-27 03:32:00
【问题描述】:
我一直对这个热门的编码问题感到困惑。我确信这是一个简单的过程,但我一直在研究这个问题一段时间,看不到我的错误。
我有一组形状为 (1080,1) 的 train_labels,并且有 6 个整数类。我正在尝试使用以下方法将其变成一个热向量:
def convert_to_one_hot(train_labels_conv,classes):
Y_train = np.eye(classes)[train_labels_conv.reshape(-1)].T
return Y_train
Y_train = np.arange(6)
print(Y_train)
Y_train_hot = convert_to_one_hot(Y_train, len(Y))
print(Y_train_hot)
As a result I simply get
[0 1 2 3 4 5]
[[1. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0.]
[0. 0. 1. 0. 0. 0.]
[0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 1.]]
我不应该为我的训练标签收到整个一个热矩阵吗?我将不胜感激任何正确方向的指示,因为我还不习惯使用 python。
【问题讨论】:
标签: python numpy one-hot-encoding